CCS F28335工程模板
CCS新版本在创建工程时只能通过例程进行创建,并且依赖安装的C2000Ware路径和原例程的链接,本篇是作为初学者搭建的一个不依赖C2000Ware的工程模板,方便后续学习的使用。
工作面板介绍
1、工作面板

工作面板的结构基本的融合了VSCode和CCS老版本的特征
顶部导航栏
顶部导航栏最常用的是 Project 和 Run
Project: 和工程相关的命令操作构建工程 清理工程等编译时会用到
Run:下载、调试相关的命令
左侧导航栏
左侧导航栏从上住下分别是:工作空间| 搜索 |版本控制(git)| Debug| 扩展安装| 追踪
最下面为:设置
扩展安装与VSCode同步
2、中文字体安装
1、在扩展中安装中文插件

安装完成后,点击左下角的设置按钮,选择Command Palette(命令面板),在弹出的框中输入Language,点击第一个Configure Display Language,选择简体中文,重启CCS后导航栏的文字变为中文。
2、点击左下角的设置按钮,选择Command Palette

3、点击Configure Display Language
4、选择简体中文

5、选择Restart

6、重启后导航栏变为中文

只有导航栏变成了中文,其他的子导航栏并没有
Template工程
新版本的CCS20.10具有创建工程的选项,由于网络限制的原因常常是不能加载出Project Wizrd的浏览页面的,呢这个时候如何创建一个工程呢?

创建工作空间
1、展开UNTITLED,右边会多出6个选项,选择三个点会出现 Add Filder to Workspace…,选择后跳转到文件夹选择页面

2、选择工作空间文件夹,点打开就成功创建一个新的工作空间


ccs会默认创建一个在~/workspace_ccstheia的工作空间,也可以不创建
3、 通过右击工作空间可以选择删除工作空间,并不会删除其下的文件

需要注意的是创建的工作空间在关闭CCS时会提醒你创建工作空间的文件,需要起一个文件名保存一下,如果不保存下次打开CCS需要重新创建
在C2000Ware中拷贝示例工程和库文件
1、打开安装 C2000Ware的目录

2、device_support目录下找到F2833x的支持库

3、在examples中复制一个示例工程粘贴到工作目录下,这里笔者选择了gpio_toggle


4、回到CCS查看示例工程

这个时候文件基本是空的,其中的链接文件是丢失的(没有链接上),到文件夹下可以看到这个时候文件夹下面有三个东西,根据名称不难理解。

Debug:就是编译生成文件的目录
targetConfigs:下载程序时下载器及DSP的固件配置
中间就是我们的主函数文件了,在CCS中可以看见具体的代码:
5、删除错误的链接
点击第一个文件,按Shift键点击最后一个,选择所有文件,包括Example_2833xGpioToggle.c,然后右击选择【Delete】

点击 OK


然后就是真正的空工程了

6、创建文件夹
在命令行里创建,使用CCS创建都可以。右击工程或者在工作空间导航栏选择新建文件夹,然后输入文件夹名称创建。这里创建Libraries User App三个文件夹,分别来存储库文件、主函数、自定义项

7、创建主函数文件
在User文件夹下创建main.c文件,这里先不进行代码的编写

8、复制C2000Ware对F28335的支持库的common headers到Libraries,如果需要数学计算加速和dsp处理在C2000Ware根目录下的libraries文件夹复制dsp和math到工程的Libraries文件夹下

至此得到了文件所需的所有文件
对库文件进行裁剪
库文件里面不仅包括了头文件、源文件,还有其他的文档说明等,对于工程编译来说并不需要,因此进行文件的剔除,删除不必要的doc、example、其他芯片文件支持文件。
(1)common库
在cmd文件下删除非F28335的硬件描述文件,28335_RAM_lnk.cmd和F28335.cmd两者保留其一。前者不能固化程序 ,仅将其下载进RAM中,掉电会被擦除;后者写入Flash中,程序中需要Flash的初始化程序和固化程序拷贝的代码。

删除common文件下的targetConfigs文件,拷贝的文件中已经存在

(2)headers库
headers库中的cmd文件下,删除DSP2833x_Headers_BIOS.cmd文件,它对应的是使用操作系统的版本,笔者为初学不打算使用操作系统这里保留了第二个。

(3)math和dsp库
dsp库中删除VCU,F28335没有VCU单元

在math和dsp库中删除除了头文件和库文件以外的文件,IQmath保留gel文件,其为硬件加速的配置

编写main函数
这里简单的写了一个闪灯的程序,如果不需要下载进行flash中,可以不要#if RUN_TYPE中间的代码,也可以将RUN_TYPE定义为SRAM_RUN
#include "DSP28x_Project.h"
#include "DSP2833x_PieCtrl.h"
#include "DSP2833x_PieVect.h"
#include "DSP2833x_Examples.h"
#include "dsp.h"
#define FLASH_RUN 1
#define SRAM_RUN 0
#define RUN_TYPE FLASH_RUN
#if RUN_TYPE == FLASH_RUN
extern Uint16 RamfuncsLoadStart;
extern Uint16 RamfuncsRunStart;
extern Uint16 RamfuncsLoadEnd;
#endif
void main()
{
InitSysCtrl();
EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;
GpioDataRegs.GPADAT.bit.GPIO0 = 0;
EDIS;
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
EINT;
#if RUN_TYPE == FLASH_RUN
MemCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);
InitFlash();
#endif
for(;;)
{
DELAY_US(500000);
EALLOW;
GpioDataRegs.GPATOGGLE.bit.GPIO0 = 1;
EDIS;
}
}
修改工程名称等其他配置项
1、修改工程名称
直接右击工程选择重命名,输入Template

2、配置工程选项
右击工程选择性能

(1)配置下载器

先点击 Mange the project’s …,再点击框中的位置选择下载器的型号

然后CCS会自动配置targetConfigs下的文件
(2)配置CCS环境变量

配置了几个变量在设置包含路径时可以使用,当然也可以不设置,最后直接使用路径也可以

(3)配置includepath
这里开头这个是c2000使用的编译器的路径不要删除了,其他的删除

然后添加我们的库的路径中的include路径作为包含路径

(4)修改输出文件名称

进度条右滑,编辑输出文件名称和map映射文件名称

(5)修改lib文件和搜索路径

这里的文件是配置math和dsp的,笔者只加入了部分,库路径一定和和库对应,要不然可能找不到会报错!
(6)设置下载程序后自动复位

编译和下载
1、点击Project选择Build All

如果前面没有错的话,这里报了一些错误,原因是中断处理中有重复定义了。

笔者这里的解决方案是将后两个删除,保留默认这个。然后重新编译。

这下就没有错误了
2、在菜单中选择 Run->Flash Project(Template)
一般情况下CCS都是可以扫描到下载器的,正常下载。如果又双叕报错了,是因为没有找到下载,会报下面的错误。

出现这个错误的原因是ubuntu安装扫描串口的驱动需要管理员权限,要不然无法操作,解决方案是使用管理员权限重新安装 CCS,请参考我的上一个文章解决文章链接
正常的下载如下:

下载完成后自动跳转到Debug

点击Debug按钮开始Debug

8085

被折叠的 条评论
为什么被折叠?



