C2000学习(1)--配置软件和第一个模板

C2000学习

基于TI官方板卡:LAUNCHXL-F280049C 评估板 | TI.com.cn

学习基础

  1. 拥有板卡。

  2. 芯片手册:TMS320F280049C data sheet, product information and support | TI.com

    1. 用户指南 :用处不大,但是可以快速开始:SPRUII7B | 德州仪器 TI.com.cn
    2. 用户手册 :虽然但是,其实MidWare里面东西更多:ZHCA981F | 德州仪器 TI.com.cn
    3. **板卡手册:**盒子里面丢了可以看看:www.ti.com.cn/cn/lit/ug/s...
  3. 拥有MyTI账号:所有下载都需要这个账号

  4. 速通TI的心:其实不比STM32难太多

  5. 准备开始

板卡导览

等我学完了做吧

软件准备

TI给人的感觉就是:==零碎==

  1. CCS: CCSTUDIO IDE、配置、编译器或调试器 | TI.com.cn

    1. 集成开发环境,安装之后装C2000就行。WEB版的下载速度也很快。
      1. 注意不要下成Theia这个给M0用的了
    2. 但是下载之后可以进行美化,详情参考大礼包。
      1. 资源管理器天天403,别用了,也没啥用,截图留念。
  2. C2000Ware: C2000WARE 软件开发套件 (SDK) | TI.com.cn

    1. 类似于CUBE给你下的支持包,有例程,而且比CUBE那个辣眼睛的HAL库不带CUBEMX配置好看点。
    2. 文件结构如下:(注意,以下目录结构来自5.0版本,升级之后酌情对照)
    python 复制代码
    .
    └── 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	# 一些工具,目前没用
    1. 根据doc文档中说明如下:
    Directory Name Description
    .metadata 包含 C2000Ware 资源浏览器独立 GUI 文件。请勿修改。
    boards 包含 C2000 controlCARDS的硬件设计原理图、BOM、gerber 文件和文档,
    device_support 包含所有特定于设备的支持文件、位字段标头和设备开发用户指南。
    docs 包含 C2000Ware 软件包用户指南和所有软件包文档的 HTML 索引页。
    driverlib 包含特定于设备的驱动程序库和基于驱动程序的外围设备示例。
    examples 包含涉及多个设备/外设的示例,以展示不同的应用。
    libraries 包含特定于设备的库和核心库。
    uninstallers 包含 C2000Ware 卸载程序。
    utilities 包含开发实用程序应用程序,如闪存编程器、Windows 驱动程序和第三方软件
    1. 啊对,这么重要的东西CCS是不会给你下的。
  3. SysConfig :TI-CubeMX:SYSCONFIG IDE、配置、编译器或调试器 | TI.com.cn

    1. 功能没那么强大,而且需要手动添加软件包。选中<盘符>:\ti\C2000即可。
  4. ControlSuite:一个老的库支持软件,但是支持全中文。

    1. 里面有一些实用案例,结构还可以,可以拿来看。
    2. 和Ware一样,不创建启动方式,自己进去找。

迁移可以参考:www.ti.com.cn/cn/lit/ug/s...

  1. 其他电机、控制包请参考大礼包 :)。

第一个工程模板

非常重要,直接面向C2000Ware编程的第一步!

创建你的英雄

直接放目录结构:

python 复制代码
├── .ccsproject	# CCS创建的工程文件
├── .cproject	# CCS创建的工程文件
├── .project	# CCS创建的工程文件
├── App	# 应用层,你编写的逻辑等
│   ├── inc	# 你自己的库
│   └── src	# 你的主要逻辑
├── Bsp	# SysConfig生成的你自己的班级支持包
│   ├── board.c
│   ├── board.cmd.genlibs
│   ├── board.h
│   ├── board.opt
│   ├── c2000ware_libraries.c
│   ├── c2000ware_libraries.cmd.genlibs
│   ├── c2000ware_libraries.h
│   ├── c2000ware_libraries.opt
│   ├── clocktree.h
│   ├── pinmux.csv
│   └── untitled.syscfg	# 双击可以进入配置界面
├── C2000Ware	# \driverlib\f28004x\driverlib 全部内容
│   ├── ccs	# 需要引用头文件,其中,DEBUG和RELEASE需要分开引入/排除
│   ├── inc	# 寄存器层的东西
│   ├── ......	# 其他DriverLib
├── Cmd	# 烧写算法文件,原始地址为:\device_support\f28004x\common\cmd 按需选用
│   ├── 28004x_cla_flash_lnk.cmd
│   ├── 28004x_cla_ram_lnk.cmd
│   ├── 28004x_generic_flash_lnk.cmd
│   ├── 28004x_generic_ram_lnk.cmd
│   ├── 28004x_iqmath_flash_lnk.cmd
│   ├── 28004x_iqmath_ram_lnk.cmd
│   ├── 28004x_launchpad_demo_flash_lnk.cmd
│   ├── 28004x_launchpad_demo_ram_lnk.cmd
│   └── f28004x_headers_nonbios.cmd 	# \device_support\f28004x\headers\cmd
├── Debug	# CCS自动生成的调试文件
├── Device	# 设备描述文件,只要选用这几个即可,原始目录:\device_support\f28004x\common\include和source当中
│   ├── device.c
│   ├── device.h
│   ├── driverlib.h
│   └── f28004x_codestartbranch.asm	# 板卡启动文件
├── Lib	# 按需使用的C2000的库
└── targetConfigs	# CCS生成的
    ├── TMS320F280049C.ccxml	# 你的烧录器配置文件
    └── readme.txt

主要构建步骤如下:

  1. 创建各个文件夹,并拖入文件:Cmd,Device,C2000Ware

  2. 使用SysConfig生成BSP,直接保存全部文件(右下角)

3. 进入CCS之后创建工程,需要设置的地方如下:右键项目属性进入: 1. 使用的RuntimeSupport和OutputFormat,以及使用的连接器/连接件也可以直接放在工程当中(Cmd,然后禁用其他的): 3. 预定义设置DEBUG宏: 4. Include(注意在引用Ware当中的2000之后,还需要引入Debug并且屏蔽Release(3个lib都需要屏蔽!): 5. 右键禁用其他的连接文件,以免造成困扰: 1. 推荐使用generic系列的。 6. Main中建立主函数,构建如下,初始化顺序参考官方例程,如:

arduino 复制代码
```c
#include "device.h"
#include "driverlib.h"
#include "board.h"

/**
 * main.c
 */
int main(void)
{
    Device_init();  // 初始化设备
    Interrupt_initModule(); //初始化中断
    Interrupt_initVectorTable();    //初始化中断向量表
    
    
    Board_init();   //SysConfig文件引入
    
    Interrupt_enableMaster();   //开启中断
    
    while(1);
    

	return 0;
}
```

外设

等快速熟悉了后续更新

大礼包

一些"增值目录"

  1. TI官方软件板卡说明:C2000™ 软件指南 --- C2000™ 软件指南 (ti.com)
  2. TI官方C2000主页:C2000 实时微控制器 | TI.com.cn

C2000的美化

CCS的汉化

  1. 众所周知,CCS是基于Eclipse的二次开发,那么,采用Eclipse的汉化方式当然可行。
  2. 帮助->安装新软件
  3. 名称随意添加,位置请添加:mirrors.tuna.tsinghua.edu.cn/eclipse/tec...
    1. 这是清华大学的babel镜像源,根据地理位置选择,搜一个。
  4. 然后在babel列表Fetch出来之后选择:
  5. 下一步下一步。

主题选择和美化

我这里安装我喜欢的暗色主题

  1. 帮助-->Eclipse市场,等待载入之后选择Poular,很快找到:
  2. Icon挺好看的,但是第三个安装不了(CCS缺JAVA包),点完了就点下一个吧。
  3. 安装完后如果不满意的后续更改:
    1. 窗口-->首选项-->常规-->外观:使用主题:
    2. 随后点击Open Color Themes Page进入主题的修改页,可以快速搭配,Enjoy!我的:Af7-Qw
    3. 如果有其他好看的主题请分享给我捏。

CCS使用小技巧

  1. CCS是默认开启代码补全的,只是需要快捷键触发,默认快捷键为:Alt+/

    1. 需要修改可以在首选项-->键当中搜索内容辅助进行修改:
  2. CCS恢复默认窗口:窗口-->透视图-->复位透视图根据需求恢复吧。

  1. Eclipse没有Copilot,但是应用商店里面有这个叫做Tabnine 的插件,可以提供代码自动补齐,虽然反应不是很快;
    1. 在和我一起建立软件包之后,可以直接在code进行代码查找和开发哦w
    2. 白嫖Copilot的劳动力
相关推荐
什么都想学的阿超20 分钟前
【大语言模型 17】高效Transformer架构革命:Reformer、Linformer、Performer性能突破解析
语言模型·架构·transformer
布列瑟农的星空2 小时前
大话设计模式——关注点分离原则下的事件处理
前端·后端·架构
Aileen_0v03 小时前
【分布式系统架构全解析:从单机到微服务,Redis如何成为性能加速器?】
redis·微服务·云原生·架构
Wgllss4 小时前
完整烟花效果,Compose + 协程 + Flow + Channel 轻松实现
android·架构·android jetpack
程序猿阿伟5 小时前
《支付回调状态异常的溯源与架构级修复》
后端·架构
SmalBox5 小时前
【渲染流水线】[逐片元阶段]-[深度写入]以UnityURP为例
架构
猿java6 小时前
Elasticsearch有哪几种分页方式?该如何选择?
后端·elasticsearch·架构
数据智能老司机8 小时前
探索Java 全新的线程模型——结构化并发
java·性能优化·架构
数据智能老司机8 小时前
探索Java 全新的线程模型——作用域值
java·性能优化·架构
数据智能老司机8 小时前
探索Java 全新的线程模型——并发模式
java·性能优化·架构