没有合适的资源?快使用搜索试试~ 我知道了~
首页基于串口通信的DSP应用程序在线升级方法
基于串口通信的DSP应用程序在线升级方法
471 浏览量
更新于2023-05-27
评论 1
收藏 164KB PDF 举报
为解决特殊场合DSP程序升级困难的问题,以TMS320F28035为例,介绍了一种基于串口通信的适合于TMS320C2000系列DSP实现程序更新的在线升级方法。描述了该在线升级方法的基本思想和实现步骤,给出了关键部分的程序代码。实验证明,该方法简单可靠,可用于嵌入式设备软件程序的升级更新中。
资源详情
资源评论
资源推荐

基于串口通信的基于串口通信的DSP应用程序在线升级方法应用程序在线升级方法
为解决特殊场合DSP程序升级困难的问题,以TMS320F28035为例,介绍了一种基于串口通信的适合于
TMS320C2000系列DSP实现程序更新的在线升级方法。描述了该在线升级方法的基本思想和实现步骤,给出了
关键部分的程序代码。实验证明,该方法简单可靠,可用于嵌入式设备软件程序的升级更新中。
摘摘 要:要:为解决特殊场合
关键词:关键词: 在线升级; DSP;串口通信; Flash
TMS320C2000系列DSP是美国德州仪器公司(简称TI)推出的集微控制器和高性能DSP特点于一身的DSP系列。该系列的
DSP具有强大的控制信号处理能力[1],能够实现复杂的控制算法。随着电子技术的不断发展以及用户需求的不断提升,可能
需要经常对已经投入使用的嵌入式设备程序进行更新,而目前一般的程序升级方法是实地取下设备,露出JTAG端口后通过仿真
器来更新程序[2-4]。这种方法虽然简单有效,但对于某些特殊场合,会给程序升级带来了极大的不便[2]。本文以
TMS320F28035为例,描述了一种可以脱离JTAG仿真器,不改变DSP上电启动方式,实现TMS320C2000系列DSP应用程序在
线更新的方法。
1 在线升级的基本思想在线升级的基本思想
一般的基于DSP的软件程序更新是在CCS环境下通过JTAG接口操作来实现的。基于JTAG接口的方法虽然易于操作,而且
调试方便,但经常受空间以及传输距离的限制。例如一台DSP系统安装在复杂、封闭的环境下,当程序需要更新或升级时,利用
JTAG接口难以实现程序的在线升级[3]。而基于串口通信的在线升级技术是通过用底层程序烧写应用程序的方法来达到程序升
级的目的,该方法则不受复杂系统和复杂环境的限制。另外,在线升级方法不需要改变DSP的启动方式,直接采用DSP默认
的内部
F28035 DSP每次上电复位,先运行底层程序,与PC机建立联系,然后根据PC机的指令来判断是否需要升级应用程序。若
需要,则将通过串口发送来的应用程序代码烧写至F28035片内Flash指定扇区;否则将继续执行原有的应用程序。当应用程序
很大或DSP的RAM空间比较小时,可采用将应用程序代码分批发给DSP,DSP接收并烧写完一批代码后,再进行下一批代码
的接收和烧写工作,直到所有的应用程序代码都烧写完毕。
2 在线升级的具体实现在线升级的具体实现
2.1 应用程序应用程序
用户的应用程序经过CCS编译连接生成具有模块化格式的目标文件(.out),该文件中的代码和数据分别存放在不同的段中,
因而不能直接用来烧写Flash,需将其转换为Flash能识别的数据格式——二进制文件 (.bin)。本文采用hex2000.exe和
FileOshell.exe工具来实现文件转换。首先,应用程序经过编译连接生成.out文件,然后通过hex2000.exe把.out文件转换
成.hex文件,再通过FileOshell.exe将文件转换成.bin文件。先做一个批处理文件,内容如下:
Example_2803xAdcSoc.out
-map Example_2803xAdcSoc.map
-o Example_2803xAdcSoc.hex
-m
-memwidth 16
-image
ROMS
{
Flash28035: origin = 0x3e8000, len= 0x1000, romwidth=
16, fill=0xFFFF
}
其中,Example_2803xAdcSoc.out 是应用程序经过CCS生成的文件;-map是生成map文件;-o是生成hex文件;-m是
Motorola-S 格式;-memwidth 16指存储器位数为16 bit;-image指选择映像文件;ROMS 是所需要转换的起始地址、长度、
位数及填充。本文选择从0x3e8000开始,长度是4 KB,即FlashH,FlashH中未用的部分用0xFFFF填充,本文把这个批处理文
件命名为:Example_2803xAdcSoc.cmd。接下来要生成.bin文件,先做一个MS-DOS型批处理文件,其内容如下:
IFileIOShell.exe -i Example_2803xAdcSoc.hex -o Example_2803xAdcSoc.bin
注意要把Example_2803xAdcSoc.out、hex2000.exe、FileIO
Shell.exe、Example_2803xAdcSoc.cmd和MS-DOS型批处理文件放在同一目录下,然后双击MS-DOS型批处理文件,即生成
所需要的Example_2803xAdcSoc.bin文件。
2.2 底层程序底层程序
底层程序用于实现将串口发送的数据烧写至Flash的指定部分,涉及到应用程序的正确定位和复位后的启动过程,是实现整
个在线升级的重点。底层程序流程图如图1所示。底层程序主要实现以下功能[3]:
















weixin_38619467
- 粉丝: 5
- 资源: 958
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0