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文件会出错:

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

总结

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

相关推荐
铭阳(●´∇`●)9 分钟前
Python内置函数---all()
笔记·python·学习
Kx…………1 小时前
Day3:个人中心页面布局前端项目uniapp壁纸实战
前端·学习·uni-app·实战·项目
再拼一次吧1 小时前
Redis进阶学习
数据库·redis·学习
FAREWELL000751 小时前
C#进阶学习(八)常见的泛型数据结构类(3)SortedDictionary<TKey, TValue>与SortedList<TKey, TValue>
数据结构·学习·c#·sorteddictioary·sortedlist
我是你们的星光2 小时前
双目视觉中的动态畸变矫正与跨视角信息融合
人工智能·深度学习·学习·计算机视觉·3d
梁下轻语的秋缘2 小时前
HarmonyOs学习 环境配置后 实验1:创建项目Hello World
学习·华为·harmonyos
编码小袁2 小时前
如何成为Prompt工程师:学习路径、核心技能与职业发展
学习·prompt
nothingbutluck4642 小时前
2025.4.15学习日记 CSS、CSS盒子模型
前端·css·学习
qq_162911593 小时前
tigase源码学习杂记-组件化设计
学习·源码·组件化·xmpp·tigase
大白的编程日记.4 小时前
【Linux学习笔记】Linux的环境变量和命令行参数
linux·笔记·学习