一种DSP程序的远程升级方法技术

技术编号:12571915 阅读:32 留言:0更新日期:2015-12-23 13:26
本发明专利技术提供一种DSP程序的远程升级方法,该方法包括:(1)SCI BootLoader模块根据EEPROM中的升级判断标志位,判断是否需要升级,如果需要升级则初始化SCI BootLoader模块和接收上位机信息,否则跳转到主程序入口,升级结束;(2)CKFA模块进行CSM解锁,若解锁成功,则使能自动波特率检测并接收上位机信息,并把接收的二进制文件烧写入FLASH中,对烧写结果进行校验,如果解锁失败则跳转到主程序入口,升级结束;(3)上位机配合所述SCI Boot-Loader模块和所述CKFA模块进行远程升级。本发明专利技术无需打开DSP系统的防护箱即可远程进行升级,具有方便灵活、实现简单的特点。不存在额外开机时间,对RAM容量要求低,无掉电风险,升级稳定可靠。

【技术实现步骤摘要】

本专利技术设及一种程序更新方法,具体设及一种DSP程序的远程升级方法
技术介绍
数字信号处理器值S巧可W实现多种数字信号处理算法,具有稳定性好、精度高 的特点,在图像处理、仪器仪表、控制、通讯等领域得到广泛应用。通常情况下,DSP程序的 烧写是通过JTAG接口将程序下载到FLA甜中,具有下载速度快,稳定可靠的优点。但是运 种程序下载方法也存在一些局限性,如JTAG接口不能实现远距离编程。而某些系统为了满 足保密和可靠性的要求,对防护箱体进行了永久密封,只预留了通信和电源端口,也限制了 通过JTAG方式进行程序下载更新。 通过串口通信升级DSP程序有多种方案。利用第S方辅助程序C2Prog可W通过 串行通信实现TI公司的C2000系列忍片程序烧写,操作简便,不足之处是晶振可选频率有 限,且需要进行GPI0的电位配置来选择SCI启动模式;不利用第S方程序,用户可W在代码 中加入串口升级的模块,把二进制可执行文件数据从串口接收下来,储存在RAM里,在确认 无误后,再刷写固化入FLASH中,运种方案代码实现简单,不需要额外的启动时间,但是对 RAM容量要求较高,存在掉电丢失的可能;为了降低对RAM容量的要求,可W在接收二进制 可执行文件的同时进行FLASH编程,还可W提高编程效率,但是掉电丢失的可能性变大,可 靠性降低。FLA甜编程过程中一旦出现掉电丢失,内容写入失败,导致串口升级功能失效,只 能采取JTAG口重新写入。在判断是否进行串口升级时,普遍采用一种开机延时的方式,在 DSP启动时等待串口升级命令,如果没收到升级命令,延时一段时间后,进入主程序,收到升 级指令则跳转到串口升级程序,不足之处是引入了额外的启动时间,不适合对启动时间要 求高的应用场合。
技术实现思路
为克服上述现有技术的不足,本专利技术提供一种DSP程序的远程升级方法。它利用EEPR0M存储的程序升级标志判断是否需要升级,通过串口通信实现程序的远程升级。 阳0化]实现上述目的所采用的解决方案为:一种DSP程序的远程升级方法,所述方法包括: 阳007] (1) SCI BootLoader模块根据邸PROM中的升级判断标志位,判断是否需要升级, 如果需要升级则初始化SCI BootLoader模块和接收上位机信息,否则跳转到主程序入口, 升级结束; (2) CKFA模块进行CSM解锁,若解锁成功,则使能自动波特率检测并接收上位机信 息,并把接收的二进制文件烧写入FLASH中,对烧写结果进行校验,如果解锁失败则跳转到 主程序入口,升级结束; (3)上位机配合SCI BootLoader模块和CKFA模块进行远程升级。 优选的,所述SCI BootLoader模块具体工作流程如下: (1-1)初始化SCIBootLoader模块后使能自动波特率检测; (1-2)等待上位机发送字符'a',当收到字符'a'后,锁定波特率,并从串口发送字 符V进行回应; (1-3)读取接收到上位机信息的字符,如果接收不是0X08AA,则认为远程升级传 送数据错误,发送升级结果,跳转到主程序运行,结束升级; (1-4)如果收到OxOSAA,则接收CKFA.bin的内容直到接收完毕,接收完毕后程序 跳转到CKFA模块的入口地址。 优选的,所述CKFA模块包括通信内核和FLA甜的API; 所述CKFA模块的具体工作流程如下: (2-1)利用CKFA的密码进行CSM解锁,若解锁失败则跳转到主程序入口,升级结 束;若解锁成功,则使能自动波特率检测; (2-2)等待接收上位机发送字符'a',接收字符'a'后,重新锁定波特率,并从串口 发送字符'a'进行回应; (2-3)计算当前FLA甜的校验和,并发送给上位机,等待接收是否需要擦除FLAW 命令,如果不需要擦除则显示升级结果,程序跳转到主程序入口,升级结束; 如果需要擦除则对FLASH进行擦除操作,擦除结束后回应上位机; (2-4)接收上位机发送的App.bin二进制文件并烧写到FLA甜中,烧写结束后计算 FLASH的校验和,若升级成功,则清零EEPR0M的升级判断标志位; (2-5)最后将程序升级结果发送给上位机,升级结束,程序跳转到主程序入口。 优选的,所述上位机配合SCIBootLoader模块和CKFA模块进行远程升级,依次执 行串口升级启动、锁定波特率、发送CKFA.bin文件、重锁波特率、擦除FLA甜和发送App.bin 文件。 进一步的,所述锁定波特率不超过38400 ;所述重锁波特率设定为256000。 阳0巧]优选的,所述FLA甜中预留一个Sector存储SCIBootLoader专用于DSP程序的 远程升级的方法。 与现有技术相比,本专利技术具有W下有益效果: 1.串行通信接口信号简单,无需打开DSP系统的防护箱即可进行升级,可W远程 进行升级,具有方便灵活、实现简单的特点,适用于工业控制、遥测等领域的DSP程序升级。 2.不存在额外开机时间,对RAM容量要求低,无掉电风险,升级稳定可靠。【附图说明】图1 :DSP程序远程升级系统框图;图 2:SCIBootLoader的工作流程图; 阳0川 图3 :CKFA的工作流程图; 图4 :二进制文件生成流程图; 图5 :上位机软件操作流程。【具体实施方式】 下面结合附图对本专利技术的【具体实施方式】做进一步的详细说明。 DSP(数字信号处理器)远程升级系统由DSP和邸PROM组成,如附图1所示。DSP 和邸PROM忍片24AA64 W I2C总线相连,只需要两根接线,控制方式简单,通信速率高。DSP 和PC之间的通信采用符合RS-232协议的MAX3232忍片相连。 SCIBootLoader负责DSP启动后的升级判断和接收CKFA(CommunicationKernel andFLA甜API)数据。在DSP的FLA甜中选取SectorA,通过TI的集成开发环境CCS编 写启动模式判断和SCI启动的代码,并通过JTAG下载到指定SectorA。 SCIBootLoader的工作流程如图2所示,DSP启动后进行系统初始化,之后读取 EEPR0M中的升级判断标志位,如果不需要升级则跳转到主程序。如果需要升级则进行SCI 模块的初始化,使能自动波特率检测,等待上位机发送字符'a',当收到字符'a'后,锁定波 特率,并从串口发送字符'曰'进行回应。读取接收到的字符,如果接收不是0X08AA,则认为 远程升级传送数据错误,发送升级结果,跳转到主程序运行。如果收到OxOSAA,通过串口接 收上位机发来的CKFA.bin的内容并存储到RAM中,接收完毕后程序跳转到CKFA的入口地 址。 其中CKFA.bin的数据流格式如表1所示。起始字符为OxOSAA,保留字节为 128bit,CKFA的入口地址(3化it),之后为CKFA程当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种DSP程序的远程升级方法,其特征在于,所述方法包括:(1)SCI BootLoader模块根据EEPROM中的升级判断标志位,判断是否需要升级,如果需要升级则初始化SCI BootLoader模块和接收上位机信息,否则跳转到主程序入口,升级结束;(2)CKFA模块进行CSM解锁,若解锁成功,则使能自动波特率检测并接收上位机信息,并把接收的二进制文件烧写入FLASH并校验烧写结果,如果解锁失败则跳转至主程序入口,结束升级;(3)上位机配合所述SCI BootLoader模块和所述CKFA模块进行远程升级。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈硕尉志勇侯继彪孙海江刘占元李璐郑天祥
申请(专利权)人:国网智能电网研究院国家电网公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1