DSP280049代码迁移DSP280039注意事项
因为之前做过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注意事项相关推荐
- 软件工具将GPU代码迁移到fpga以用于AI应用
软件工具将GPU代码迁移到fpga以用于AI应用 Software tools migrate GPU code to FPGAs for AI applications 人工智能软件初创公司Mips ...
- 不是报错就是崩盘,这些代码迁移问题你遇到过几个?
当下,应用服务转向ARM云平台成为一个趋势. 但是当前绝大部分云平台应用都跑在于x86架构上,开发者需要对代码进行跨处理器平台的移植.如果纯粹依靠人工进行代码迁移,不仅分析过程投入工作量大.周期长.需 ...
- tensorflow1.0代码迁移到2.0官方指导
https://www.tensorflow.org/guide/migrate 解决源代码中tensorflow版本过低问题(tensorflow1.x代码迁移到2.0) 原创风一样的rain 最后 ...
- 代码迁移之旅(二)- 渐进式迁移方案
说在前面 这是代码迁移的第二篇文章,也是最后一篇了,由于个人原因,原来的迁移我无法继续参与了,但完整的方案我已经准备好了,在测试环境也已经可以正常进行了. 上篇文章 代码重构之旅(一) 项目结构 介绍 ...
- 用typescript完成倒计时_「干货」将数十万行CoffeeScript代码迁移到TypeScript
作者 | David Goldstein 译者 | 王强 策划 | 小智 转发链接:https://mp.weixin.qq.com/s/TK7kWXX4hR3e-jtpVMuBnw 序言 2017 ...
- 为什么你需要将代码迁移到ASP.NET Core 2.0?
随着 .NET Core 2.0 的发布,.NET 开源跨平台迎来了新的时代.开发者们可以选择使用命令行.个人喜好的文本编辑器.Visual Studio 2017 15.3 和 Visual Stu ...
- 写java代码时的注意事项_从方法返回Java 8的可选项时的注意事项
写java代码时的注意事项 Java 8引入的Optional类一直是该语言版本引入的最具争议的功能之一. 尽管我喜欢这个新的Java类的东西比不喜欢的东西多,但在Java方法中将其用作return类 ...
- 自从有了这个工具,一键代码迁移不在话下
摘要:鲲鹏开发套件Kunpeng DevKit可实现两人天快速完成代码迁移,提供全栈开发工具,集代码迁移.编译调试.性能调优.异常诊断等工具和功能于一体. 本文分享自华为云社区<[云驻共创]鲲鹏 ...
- 项目代码迁移(使用git)
项目代码迁移(使用git) 克隆老仓库(裸仓库): git clone --bare git@codehub.devcloud.huaweicloud.com:e2f197xxxxxxx19fc4ae ...
最新文章
- python线程只能启动一次_python多线程只能运行一个线程的问题
- Libevent事件的创建-scoke服务的创建-特征的获取和配置
- 曙光服务器2008系统,在中科曙光I620-G20服務器上安裝Windows 2008 R2 系統步驟
- 报告解读下载 | 中国软件根技术发展白皮书之数据库
- python的整数类型_Python 标准数据类型:Bytes
- 差分法求一阶导数二阶导数,matlab
- selenium勾选复选框(单独勾选+全部勾选)
- python微服务开发pdf_《微服务设计》中文完整版PDF电子书下载
- boto3 连接aws_Python,Boto3和AWS S3:神秘化
- 逆水寒 各个服务器位置,从商人的角度看逆水寒——服务器选择篇
- Android提高与总结的Android技能导图
- C# 读取txt文件生成Word文档
- 十六进制字符串转换为十进制数值
- 芯片生产测试中的CP wafer单片测试时间和UPH预估
- java监听路由器数据_求如何用java读取路由器上的数据,介绍点资料
- 多分支条件组合实例:身体质量指数BIM
- 基于HTML5canvars的小游戏,利用HTML5实现Canvas激流勇进小游戏代码
- TRIZ创新方法——功能搜索导向
- rigol DM3068 数字万用表
- git push error report: ! [remote rejected] master - refs/for/master (no new changes)
热门文章
- 同程艺龙:如何基于RocketMQ打造日均容量1500亿的消息引擎?
- Android 玩转Glide4---Transformation篇
- 计数排序和桶排序——python和javascript实现
- matlab仿真电气连接,MATLAB-Simulink系统建模仿真工程系列电气装备专业技术人员继续教育...
- 精要主义:更少但要更好
- PhysX物理引擎(入门教程) —— PhysX,Hello World!
- 红米K20PRO解锁Bootloader权限并刷入recovery
- Spyder 连接远程服务器(spyder-kernels)
- 16.(地图工具篇)PostgreSQL导出shape数据
- 关于机器人进展的一些个人看法