前言
最近研究的算法越来越复杂,处理器资源捉襟见肘,优化代码的时间已经超过了算法本身的开发时间……于是决定一步到位,在下一个实验平台中选用C2000系列当前的最强型号28388D [1],使用官方的开发板 [2]。
考虑到每个人的编程习惯都不尽相同,本文仅简要记录我个人的探索过程。需要step by step的读者可以参考 [8]。
软件环境:
- CCS11.1.0.00011_win64
- C2000Ware_4_00_00_00
- C2000Ware_DigitalPower_SDK_3_03_00_00
- ControlSUITE3.4.9
参考资料:
- 在C2000ware的安装目录中有该芯片例程的帮助文档 [3];
- 配置外设时可以使用新推出的工具C2000 SysConfig [4];
- 目前TI有一个完整的参考设计可以作为工程配置的参考[5][6];
- CSDN社区中有些资料可以参考 [7]。
- 自己以前的文章 [8][9]。
工程目标:
- cpu1单核+CLA1控制率加速
- C2000 Sysconfig外设配置自动生成
- 库函数编程
- 集成常用的数学库
- cmd文件配置
Tips
- ADC似乎没有内部基准,开发板板载了3V基准源。
- ADC中断可以配置为ContinuousMode,在每次中断后可以不清除标志位了。
吐槽
- TI这Sysconfig工具居然有bug,CAN模块不管怎么命名,生成的代码在模块使能的那一行填入的都是myCAN0……
- 在代码生成工具中,ePWM模块的配置过于简单,这部分看来还是需要自己写。
流程
建立工程
-
按照[3]的16页方法创建工程,命名为F28388D_cpu1_Template
-
为工程添加一些环境变量
C2000WARE_ROOT
${COM_TI_C2000WARE_SOFTWARE_PACKAGE_INSTALL_DIR}
如果不能识别C2000ware的路径,可以参考[10]。
${C2000WARE_ROOT}/.metadata/sdk.json
–package 337bga
–part F2838x_337bga -
配置处理器选项
-
把代码优化开到最大
-
补充宏定义
_DEBUG
_FLASH
CPU1
_DUAL_HEADERS
LARGE_MODEL
F2838x_DEVICE
复制库函数
-
按照[4]的25页的方法,导入例程clb_ex8_external_signal_AND_gate 从例程中拷贝一个SysConfig文件到自己的工程,并重命名PinMux_universeDCDC.syscfg
-
把例程中的device文件夹整体复制到我们自己工程的目录下。这个文件夹中包含了所有28388D的库函数.h和.c文件,省去了我们自己去C2000ware中找的过程。
-
把driverlib文件夹从编译中忽略,提高编译速度。
-
为新加入的文件添加环境变量
driverlib.lib
${PROJECT_ROOT}/device
${PROJECT_ROOT}/device/driverlib
${PROJECT_LOC}/device/driverlib/ccs/Release
4. 现在工程应该可以正常编译了
添加常用库
在自己工程路径中新建 libraries 文件夹,用于存放各种库函数。
SFRA
源文件位于C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_03_00_00\libraries\sfra
- 将.c文件从编译中排除。
- 添加环境变量
${PROJECT_ROOT}/libraries/sfra
sfra.lib
DCL
源文件位于 C:\ti\c2000\C2000Ware_4_00_00_00\libraries\control\DCL\c28
${PROJECT_LOC}/libraries/DCL/
CLAmath
源文件位于 C:\ti\c2000\C2000Ware_4_00_00_00\libraries\math\CLAmath\c28
C:\ti\c2000\C2000Ware_4_00_00_00\libraries\boot_rom\f2838x\revA\rom_symbol_libs\cpu1\claDataROM
${PROJECT_LOC}/libraries/CLAmath
F2838xCPU1_CLADATAROM_Symbols_fpu32.lib
FPUfastRTS
源文件位于 C:\ti\c2000\C2000Ware_4_00_00_00\libraries\math\FPUfastRTS\c28\lib
rts2800_fpu32_fast_supplement_eabi.lib
${PROJECT_ROOT}/libraries/FPUfastRTS
power_measurement
源文件位于 C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_03_00_00\libraries\power_measurement\include
${PROJECT_ROOT}/libraries/power_measurement
solar
源文件位于 C:\ti\controlSUITE\libs\app_libs\solar\v1.2\float
${PROJECT_ROOT}/libraries/solar
datalog
源文件位于 C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_03_00_00\solutions\tidm_02009\libraries\datalog
${PROJECT_ROOT}/libraries/datalog
SPLL
源文件位于 C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_03_00_00\libraries\spll\include
${PROJECT_ROOT}/libraries/spll
CMD文件
编写自己的cmd文件十分费时,暂时使用[5]的cmd文件。
参考资料
- TMS320F28388D
- F28388D controlCARD 评估模块
- 《F2838x Firmware Development Package USER’S GUIDE》C:\ti\c2000\C2000Ware_4_00_00_00\device_support\f2838x\docs\F2838x_FRM_EX_UG.pdf
- C2000 SysConfig
- TIDM-02009 经过 ASIL D 等级功能安全认证的高速牵引和双向直流/直流转换参考设计
- C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_03_00_00\solutions\tidm_02009
- 从无到有搭建28388项目程序
- TMS320F280049C 学习笔记2 搭建完全可移植的CCS9.3工程
- TMS320F280049C 学习笔记14 完善可移植工程
10.你的CCS能正常使用C2000Ware_4_00_00_00吗?