C2000学习
基于TI官方板卡:LAUNCHXL-F280049C 评估板 | TI.com.cn
学习基础
- 拥有板卡。
芯片手册:TMS320F280049C data sheet, product information and support | TI.com
- 用户指南:用处不大,但是可以快速开始:SPRUII7B | 德州仪器 TI.com.cn
- 用户手册:虽然但是,其实MidWare里面东西更多:ZHCA981F | 德州仪器 TI.com.cn
- 板卡手册:盒子里面丢了可以看看:https://www.ti.com.cn/cn/lit/ug/swau114c/swau114c.pdf
拥有MyTI账号:所有下载都需要这个账号
- 速通TI的心:其实不比STM32难太多
- 准备开始
板卡导览
等我学完了做吧
软件准备
TI给人的感觉就是:==零碎==
CCS: CCSTUDIO IDE、配置、编译器或调试器 | TI.com.cn
- 集成开发环境,安装之后装C2000就行。WEB版的下载速度也很快。
- 注意不要下成
Theia
这个给M0用的了
- 注意不要下成
- 但是下载之后可以进行美化,详情参考大礼包。
- 资源管理器天天403,别用了,也没啥用,截图留念。
- 集成开发环境,安装之后装C2000就行。WEB版的下载速度也很快。
C2000Ware: C2000WARE 软件开发套件 (SDK) | TI.com.cn
- 类似于CUBE给你下的支持包,有例程,而且比CUBE那个辣眼睛的HAL库不带CUBEMX配置好看点。
- 文件结构如下:(注意,以下目录结构来自5.0版本,升级之后酌情对照)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18.
└── C2000Ware_5_00_00_00 # 根目录
├── C2000WareUpdater.exe # 更新器,没用
├── C2000Ware_5.00.00.00_manifest.html # 类似于许可证,可以查看支持的板卡和库的级别
├── C2000Ware_v5.00.00.00_Release_Notes.pdf # 发行说明,没用
├── archive # 没用,存了个历史的库
├── boards # 给硬件看/你板子要看原理图的时候看
├── change_log.html # 没啥用
├── device_support # 军火展示+一些老的用寄存器写的例程(基本不用看)
├── docs # 目录导航`/docs/c2000Ware_quickstart_guide/html/index.html`
├── driverlib # 你滴库函数!!
├── examples # 重新导向你滴库函数
├── kernel # RTOS
├── libraries # 第三方库
├── license.txt # 法律文件
├── training # 类似于靶场,但是很烂
├── uninstallers # 卸载器
└── utilities # 一些工具,目前没用- 根据doc文档中说明如下:
| Directory Name | Description |
| ——————— | —————————————————————————————— |
| .metadata | 包含 C2000Ware 资源浏览器独立 GUI 文件。请勿修改。 |
| boards | 包含 C2000 controlCARDS的硬件设计原理图、BOM、gerber 文件和文档, |
| device_support | 包含所有特定于设备的支持文件、位字段标头和设备开发用户指南。 |
| docs | 包含 C2000Ware 软件包用户指南和所有软件包文档的 HTML 索引页。 |
| driverlib | 包含特定于设备的驱动程序库和基于驱动程序的外围设备示例。 |
| examples | 包含涉及多个设备/外设的示例,以展示不同的应用。 |
| libraries | 包含特定于设备的库和核心库。 |
| uninstallers | 包含 C2000Ware 卸载程序。 |
| utilities | 包含开发实用程序应用程序,如闪存编程器、Windows 驱动程序和第三方软件 |4. 啊对,这么重要的东西CCS是不会给你下的。
SysConfig:TI-CubeMX:SYSCONFIG IDE、配置、编译器或调试器 | TI.com.cn
- 功能没那么强大,而且需要手动添加软件包。选中
<盘符>:\ti\C2000
即可。
- 功能没那么强大,而且需要手动添加软件包。选中
- ControlSuite:一个老的库支持软件,但是支持全中文。
- 里面有一些实用案例,结构还可以,可以拿来看。
- 和Ware一样,不创建启动方式,自己进去找。
迁移可以参考:https://www.ti.com.cn/cn/lit/ug/sprui45c/sprui45c.pdf
- 其他电机、控制包请参考大礼包 :)。
第一个工程模板
非常重要,直接面向C2000Ware编程的第一步!
创建你的英雄
直接放目录结构:
1 | ├── .ccsproject # CCS创建的工程文件 |
主要构建步骤如下:
创建各个文件夹,并拖入文件:Cmd,Device,C2000Ware
使用
SysConfig
生成BSP,直接保存全部文件(右下角)进入CCS之后创建工程,需要设置的地方如下:右键项目属性进入:
- 使用的RuntimeSupport和OutputFormat,以及使用的连接器/连接件也可以直接放在工程当中(Cmd,然后禁用其他的):
- 预定义设置
DEBUG
宏: - Include(注意在引用
Ware
当中的2000之后,还需要引入Debug并且屏蔽Release(3个lib都需要屏蔽!): - 右键禁用其他的连接文件,以免造成困扰:
- 推荐使用generic系列的。
- Main中建立主函数,构建如下,初始化顺序参考官方例程,如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* main.c
*/
int main(void)
{
Device_init(); // 初始化设备
Interrupt_initModule(); //初始化中断
Interrupt_initVectorTable(); //初始化中断向量表
Board_init(); //SysConfig文件引入
Interrupt_enableMaster(); //开启中断
while(1);
return 0;
}
外设
大礼包
一些“增值目录”
- TI官方软件板卡说明:C2000™ 软件指南 — C2000™ 软件指南 (ti.com)
- TI官方C2000主页:C2000 实时微控制器 | TI.com.cn
C2000的美化
CCS的汉化
- 众所周知,CCS是基于Eclipse的二次开发,那么,采用Eclipse的汉化方式当然可行。
帮助->安装新软件
:- 名称随意添加,位置请添加:https://mirrors.tuna.tsinghua.edu.cn/eclipse/technology/babel/update-site/latest/
- 这是清华大学的babel镜像源,根据地理位置选择,搜一个。
- 然后在babel列表Fetch出来之后选择:
- 下一步下一步。
主题选择和美化
我这里安装我喜欢的暗色主题
帮助-->Eclipse市场
,等待载入之后选择Poular,很快找到:- Icon挺好看的,但是第三个安装不了(CCS缺JAVA包),点完了就点下一个吧。
- 安装完后如果不满意的后续更改:
窗口-->首选项-->常规-->外观
:使用主题:- 随后点击
Open Color Themes Page
进入主题的修改页,可以快速搭配,Enjoy!我的:Af7-Qw - 如果有其他好看的主题请分享给我捏。
CCS使用小技巧
CCS是默认开启代码补全的,只是需要快捷键触发,默认快捷键为:
Alt+/
。- 需要修改可以在
首选项-->键
当中搜索内容辅助
进行修改:
- 需要修改可以在
CCS恢复默认窗口:
窗口-->透视图-->复位透视图
根据需求恢复吧。Eclipse没有Copilot,但是应用商店里面有这个叫做Tabnine的插件,可以提供代码自动补齐,虽然反应不是很快;
- 在和我一起建立软件包之后,可以直接在code进行代码查找和开发哦w
白嫖Copilot的劳动力