因为之前做过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!

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

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

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

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

DSP280049代码迁移DSP280039注意事项相关推荐

  1. 软件工具将GPU代码迁移到fpga以用于AI应用

    软件工具将GPU代码迁移到fpga以用于AI应用 Software tools migrate GPU code to FPGAs for AI applications 人工智能软件初创公司Mips ...

  2. 不是报错就是崩盘,这些代码迁移问题你遇到过几个?

    当下,应用服务转向ARM云平台成为一个趋势. 但是当前绝大部分云平台应用都跑在于x86架构上,开发者需要对代码进行跨处理器平台的移植.如果纯粹依靠人工进行代码迁移,不仅分析过程投入工作量大.周期长.需 ...

  3. tensorflow1.0代码迁移到2.0官方指导

    https://www.tensorflow.org/guide/migrate 解决源代码中tensorflow版本过低问题(tensorflow1.x代码迁移到2.0) 原创风一样的rain 最后 ...

  4. 代码迁移之旅(二)- 渐进式迁移方案

    说在前面 这是代码迁移的第二篇文章,也是最后一篇了,由于个人原因,原来的迁移我无法继续参与了,但完整的方案我已经准备好了,在测试环境也已经可以正常进行了. 上篇文章 代码重构之旅(一) 项目结构 介绍 ...

  5. 用typescript完成倒计时_「干货」将数十万行CoffeeScript代码迁移到TypeScript

    作者 | David Goldstein 译者 | 王强 策划 | 小智 转发链接:https://mp.weixin.qq.com/s/TK7kWXX4hR3e-jtpVMuBnw 序言 2017 ...

  6. 为什么你需要将代码迁移到ASP.NET Core 2.0?

    随着 .NET Core 2.0 的发布,.NET 开源跨平台迎来了新的时代.开发者们可以选择使用命令行.个人喜好的文本编辑器.Visual Studio 2017 15.3 和 Visual Stu ...

  7. 写java代码时的注意事项_从方法返回Java 8的可选项时的注意事项

    写java代码时的注意事项 Java 8引入的Optional类一直是该语言版本引入的最具争议的功能之一. 尽管我喜欢这个新的Java类的东西比不喜欢的东西多,但在Java方法中将其用作return类 ...

  8. 自从有了这个工具,一键代码迁移不在话下

    摘要:鲲鹏开发套件Kunpeng DevKit可实现两人天快速完成代码迁移,提供全栈开发工具,集代码迁移.编译调试.性能调优.异常诊断等工具和功能于一体. 本文分享自华为云社区<[云驻共创]鲲鹏 ...

  9. 项目代码迁移(使用git)

    项目代码迁移(使用git) 克隆老仓库(裸仓库): git clone --bare git@codehub.devcloud.huaweicloud.com:e2f197xxxxxxx19fc4ae ...

最新文章

  1. python线程只能启动一次_python多线程只能运行一个线程的问题
  2. Libevent事件的创建-scoke服务的创建-特征的获取和配置
  3. 曙光服务器2008系统,在中科曙光I620-G20服務器上安裝Windows 2008 R2 系統步驟
  4. 报告解读下载 | 中国软件根技术发展白皮书之数据库
  5. python的整数类型_Python 标准数据类型:Bytes
  6. 差分法求一阶导数二阶导数,matlab
  7. selenium勾选复选框(单独勾选+全部勾选)
  8. python微服务开发pdf_《微服务设计》中文完整版PDF电子书下载
  9. boto3 连接aws_Python,Boto3和AWS S3:神秘化
  10. 逆水寒 各个服务器位置,从商人的角度看逆水寒——服务器选择篇
  11. Android提高与总结的Android技能导图
  12. C# 读取txt文件生成Word文档
  13. 十六进制字符串转换为十进制数值
  14. 芯片生产测试中的CP wafer单片测试时间和UPH预估
  15. java监听路由器数据_求如何用java读取路由器上的数据,介绍点资料
  16. 多分支条件组合实例:身体质量指数BIM
  17. 基于HTML5canvars的小游戏,利用HTML5实现Canvas激流勇进小游戏代码
  18. TRIZ创新方法——功能搜索导向
  19. rigol DM3068 数字万用表
  20. git push error report: ! [remote rejected] master - refs/for/master (no new changes)

热门文章

  1. 同程艺龙:如何基于RocketMQ打造日均容量1500亿的消息引擎?
  2. Android 玩转Glide4---Transformation篇
  3. 计数排序和桶排序——python和javascript实现
  4. matlab仿真电气连接,MATLAB-Simulink系统建模仿真工程系列电气装备专业技术人员继续教育...
  5. 精要主义:更少但要更好
  6. PhysX物理引擎(入门教程) —— PhysX,Hello World!
  7. 红米K20PRO解锁Bootloader权限并刷入recovery
  8. Spyder 连接远程服务器(spyder-kernels)
  9. 16.(地图工具篇)PostgreSQL导出shape数据
  10. 关于机器人进展的一些个人看法