DSP28335入门学习——第一节:工程项目创建

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做!
本文写于:2025.04.20

DSP28335开发板学习------第一节:工程项目创建

前言

本次笔记是用来记录我的学习过程,同时把我需要的困难和思考记下来,有助于我的学习,同时也作为一种习惯,可以督促我学习,是一个激励自己的过程,让我们开始32单片机的学习之路。

欢迎大家给我提意见,能给我的嵌入式之旅提供方向和路线,现在作为小白,我就先学习32单片机了,就跟着B站上的江协科技开始学习了.

在这里会记录下江协科技32单片机开发板的配套视频教程所作的实验和学习笔记内容,因为我之前有一个开发板,我大概率会用我的板子模仿着来做.让我们一起加油!

另外为了增强我的学习效果:每次笔记把我不知道或者问题在后面提出来,再下一篇开头作为解答!

开发板说明

本人采用的是慧净的开发板,因为这个板子是我N年前就买的板子,索性就拿来用了。另外我也购买了江科大的学习套间。

原理图如下

1、开发板原理图

2、STM32F103C6和51对比








下图是实物图

引用

还参考了下图中的书籍:

解答和科普

一、工程创建

首先是官方的固件库:

第一个文件夹存放了DSP2833需要的一些外设内核,DSP运算库,cmt配置文件;

第二个文件存放了外设的头文件,以及是否使用操作系统的一些文件;主要是一些头文件

Cmd存放了片内的一些RAM,以及flash存储地址和容量的一些分频启动文件。

第一个文件时我们调试这个程序,将程序下载到芯片内部的RAM当中来进行调试和仿真,等程序下载成功,调试成功之后,再将程序烧录到F2833的flash中,烧录到flash当作就需要第2个文件。

Gel:通常是存放一些扩展是通用扩展的一些,扩展CCS的功能,方便程序的调试。调用比如需要批量的查看计算器的变量。

这个存放通用外设的头文件。通用文件的路径。

Lib主要存放f2833的一些运算库文件,多的是IQmath和rts2800。

Source:是用来存放283内核外设驱动,源文件C文件。Adc校准是,Asm和延迟函数。

存放的都是头文件,配置文件,以及是否使用操作系统里面的bios文件等等;

Cmd存放的是是否使用操作系统,通常不使用操作系统。

Gel: 外设的。Gel文件

Inc是头文件,并且里面的跟source是对应的头文件

存放全局的一些文件,全局定义的一些寄存器,像前面介绍的GPIO的一些寄存器,结构体定义,以及使用关键字将寄存器指定到存储空间。


Cmd的配置文件,仿真器的一个配置文件,include是一些需要调用的头文件,以及编译器需要的一些环境文件,默认的路径。

二、工程项目创建

好接下来演示创建工程:

官方提供的库文件


把这个删除了RAM_lnk.cmd

这个是新建工程下的文件:

新建文件夹进行管理;

CMD放入


完成CMD文件夹

Libraries放入gel

放入lib库,我这里只放了一个

完成这个

下一个完成include

把官方的库文件的头文件都加进来,复制后加入。

完成这个创建

Source是吧库文件中的两个都复制过来

这样的话都完成了,再添加一个main.c

进行编译:出现错误
1、你没加头文件的路径
2、你的C文件有重复定义

解决办法:

加上头文件路径:看清有的是在上面加入


2、重复的移出:

右键



完成这三个部分有重复,重复定义了,这样就完成了创建。

总结:

1、加入必要的文件,并把头文件加入到路径之中,这样才能找到;

2、加的多了会有重复定义,先把有重复定义的进行移出工程;

3、就是lib库出问题,就是下面的办法。

三、仿真下载并实验




选择哪个out文件

运行

DSPF28335LED闪烁,研旭实用版D1闪烁

实验2、GPIO点灯

c 复制代码
#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"
void GIOP_Init(void)
{
	EALLOW;
	GpioCtrlRegs.GPBMUX1.bit.GPIO40=0;//
	GpioCtrlRegs.GPBDIR.bit.GPIO40 =1;
	GpioCtrlRegs.GPBPUD.bit.GPIO40 =0;
	GpioDataRegs.GPBCLEAR.bit.GPIO40=1;
//  GpioCtrlRegs.GPAMUX1.bit.GPIO6=0;
//	GpioCtrlRegs.GPADIR.bit.GPIO6 =1;
//	GpioCtrlRegs.GPAPUD.bit.GPIO6 =0;
	EDIS;
}



void main(void)
{
InitSysCtrl();

	GIOP_Init();

	while(1)
	{
		DELAY_US (1000*500);
		GpioDataRegs.GPBTOGGLE.bit.GPIO40=1;
	}
}

本次实验就是控制GPIO40,进行点灯,通过延迟函数,实现LED闪烁。


整个原理图是核心半的GPIO40,对应的是J4的XA0,此引脚对应实用底板的J1的37引脚A00,又连接到JP1的1号引脚A00,用杜邦线引出来接到了51的LED引脚。

因此实现了DSP28335控制GPIO40实现了控制LED闪烁的实验。

GPIO40点亮LED灯

问题

加入多个lib文件会出错:

你可以进行移出或者在这方面研究;

总结

本节课主要进行看工程创建,主要是建立的时候,现在还不太懂各个的含义,出现了多次重复定义。

相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码5 天前
嵌入式学习路线
学习
毛小茛5 天前
计算机系统概论——校验码
学习
babe小鑫5 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。5 天前
2026.2.25监控学习
学习
im_AMBER5 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J5 天前
从“Hello World“ 开始 C++
c语言·c++·学习