DSP280049代码迁移DSP280039注意事项

本文详细介绍了从TI的TMS320F280049芯片向TMS320F280039芯片进行代码迁移的过程。涵盖了时钟配置调整、C2000Ware库使用、CMD文件修改、编译器配置、堆栈大小设置及secureboot模块等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为之前做过TI的DSP芯片TMS320F280049的项目,现在想芯片替代,所以需要把代码迁移至TMS320F280039上。

1.芯片区别:TMS320F280049是100MHZ CPU, 两路都是CAN,而TMS320F280039是120MHZ CPU ,CANA是普通CAN ,CANB可配CANFD。

2.时钟区别:为了与前面的项目匹配,继续使用100MHZ时钟,进行系统时钟降频。所以CAN,串口,定时器的时钟不必重新配置。

如果开发IAP和APP,需要注意两个软件之间的时钟是否一致,否则在跳转APP时候会出现非法中断!!!

还有个小细节,example里面的delay us 函数有个宏,默认使用的是120MHZ时钟的,需要和系统时钟匹配。

3.C2000Ware  flash API库:TMS320F280049是COFF格式,而TMS320F280039据说以后只更新EABI格式,现在还是有COFF格式的,在cmd里面定义一下就好了。

4.CMD文件里面需要区分: EABI格式函数不用加下划线_!而COFF需要加下划线!所以在迁移CMD文件里面需要特别注意,加载flash lib 文件时,Ramfunsloadstart Ramfunsloadsize 这几个需要删去下划线!否则会报错undefined symbol!

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5YWE5byf5p2O5b636IOc,size_20,color_FFFFFF,t_70,g_se,x_16

 5.另外编译器需要配置一下,因为TMS320280039和TMS320F280034具有一些CLA /VCU区别,所以如果继续使用280049的CRC等OBJ文件,这里需要配置一样。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5YWE5byf5p2O5b636IOc,size_20,color_FFFFFF,t_70,g_se,x_16

6.还有,编译器compiler选择项里面有个设置stack大小的!因为280039的example使用了8字节对齐而280049是4字节对齐,所以注意这里是否继续使用同样大小的堆栈?!例如49使用0x200,而39需要改成0x300。如果在代码里面有固定数组需要使用较大的RAM空间,注意内存是否会溢出!溢出在调试调用flash API时候直接报错,而flash里面只有部分数据正确。

解决方法就是查看编译后的map文件,stack地址长度是否与固定数组大小重叠了,重叠需要另外开辟RAM空间存放。

7.TMS320F280039比较重要的更新是增加了secure boot模块,对于芯片加密开始是比较重要的,否则用仿真器就可以读出芯片信息了。后续会深入讨论这个问题。

 

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值