DSP程序在线升级报告(本人觉得最给力的资料)DSP程序在线升级报告(本人觉得最给力的资料).docx

DSP程序在线升级报告(本人觉得最给力的资料)DSP程序在线升级报告(本人觉得最给力的资料).docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP程序在线升级报告(本人觉得最给力的资料)DSP程序在线升级报告(本人觉得最给力的资料)

DSP程序在线升级唐俊松mailto:tangjunsong@tangjunsong@2015/12/041. 引言一般而言,DSP程序更新是在CCS环境下通过JTAG接口来实现的。但JTAG烧写程序只能实现一对一烧写(即电脑到DSP),且不能远距离烧写程序。而当产品发布后或需要同时升级多个DSP程序时,通过JTAG烧写程序则很难实现。在线程序升级的主要思想是通过串口通信更新程序,通过串口通信可实现程序远程升级且可同时实现对多个DSP的程序更新,这有效地解决了JTAG烧写程序所存在的弊端。图1.1通过不同方式实现DSP程序更新2. 程序在线升级的基本思想基于串口通信的程序在线升级功能框图如图2.1所示,底层程序(Prog Local)和应用程序(Prog App)分别由两个独立的CCS Project产生。底层程序(Prog Local)是产品发布前通过JTAG烧写固化在DSP指定Flash空间中的程序,不允许用户修改和擦除,主要用于实现与上位机的通信,同时在需要升级程序时将上位机发送过来的程序代码烧写到FLASH中。应用程序(Prog App)是可以更新的程序。通过CCS编译产生程序代码文件(hex),然后通过RS232通信将程序代码发送到DSP,继而由底层程序(Prog Local)将应用程序代码烧写到应用程序所对应FLSH空间(Prog App)中。图2.1 DSP程序在线升级功能框图在线升级程序流程图如图2.2所示。 DSP上电复位后先运行底层程序,在底层程序中判断是否需要升级,如不需要升级,则跳转到应用程序执行。如需要升级,则擦除应用程序对应FLASH区,并将升级代码写入到应用程序FLASH区中。图2.2 DSP程序更新流程图3. 在线程序升级的具体实现3.1 FLASH分配要实现程序在线升级,必须使底层程序和应用程序相互独立。如图2.1所示,本项目将底层程序(Local Program)配置在FLASH A中,应用程序(Application Program)配置在FLASH E中,从而实现底层程序与应用程序的独立。实现程序相互独立需通过配置cmd文件完成,具体配置方法见附录1。图3.1 DSP FLASH分区示意图3. 2 应用程序更新代码产生需要更新的应用程序代码是通过CCS Project A编译产生的,但CCS编译生成的是具有模块化格式的目标文件(.out文件),该文件中的代码和数据分别存放在不同的段中,因而不能直接用来烧写Flash,需将其转换为能识别的数据格式(hex文件)(hex数据文件格式详见附录4)。生成hex文件后,通过上位机读取hex文件数据,并将数据通过RS232通信发送至DSP。CCS自带工具hex2000.exe可实现.out文件到.hex文件的转换。(转换方法见附录6) 图3.2 应用程序代码产生方法3.3 底层程序(Local Prog)底层程序主要实现两个功能:(1)与上位机通信;(2)升级时,将串口接收到的数据烧写至Flash的指定区域。底层程序主要实现以下功能,其流程图如右图所示:与上位机通信,判断是否升级DSP上电复位后与上位机通信,判断是否需要升级。若上位机发送的是升级命令,则跳转到底层程序中升级部分执行;否则,跳转到原有的应用程序处执行。从上位机接受程序代码并校验接收上位机发送的应用程序代码并保存到DSP指定内存中(RAM 区),(如何将数据保存到指定内存,详见附录2)。与此同时,需校验接收数据是否准确。烧写程序的搬移由于DSP不支持对FLASH烧写的同时在FLASH中运行程序,因此负责烧写Flash的这部分程序应搬移至片内RAM执行。(如何实现程序搬移,详见附录3)烧写程序代码搬移结束后,将之前RAM中接受到的程序代码烧写至指定Flash扇区,该步骤通过调用Flash28335_API库函数完成(Flash28335_API的使用请看附件中FLASH_API文档)。4. 总结 实现程序在线升级的主要难点是如何实现底层程序和应用程序相互独立,以及如何通过CCS产生需要更新的应用代码。本报告首先介绍了DSP程序在线升级的主要思想,然后对程序在线升级的实现方法作了简单介绍,并在附录中给出了具体实现过程中可能会遇到的问题及解决办法。附录1 底层程序和应用程序cmd配置要实现如图4.1所示的FLASH分配,须通过配置底层程序和应用程序cmd文件完成。其中底层程序对应CCS Project L,配置其cmd文件使其程序分配在FLASH A区;应用程序对应CCS Project A,配置其cmd文件使其程序分配在FLASH E区。图4.1 DSP FLASH分区示意图1.1 底层程序cmd配置DSP F28335上电复位后,当硬件配置为FLASH启动时,程序指针将跳转

您可能关注的文档

文档评论(0)

pfenejiarz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档