一种dsp程序的远程升级方法

文档序号:9432345阅读:1869来源:国知局
一种dsp程序的远程升级方法
【技术领域】
[0001] 本发明设及一种程序更新方法,具体设及一种DSP程序的远程升级方法。
【背景技术】
[0002] 数字信号处理器值S巧可W实现多种数字信号处理算法,具有稳定性好、精度高 的特点,在图像处理、仪器仪表、控制、通讯等领域得到广泛应用。通常情况下,DSP程序的 烧写是通过JTAG接口将程序下载到FLA甜中,具有下载速度快,稳定可靠的优点。但是运 种程序下载方法也存在一些局限性,如JTAG接口不能实现远距离编程。而某些系统为了满 足保密和可靠性的要求,对防护箱体进行了永久密封,只预留了通信和电源端口,也限制了 通过JTAG方式进行程序下载更新。
[0003] 通过串口通信升级DSP程序有多种方案。利用第S方辅助程序C2Prog可W通过 串行通信实现TI公司的C2000系列忍片程序烧写,操作简便,不足之处是晶振可选频率有 限,且需要进行GPI0的电位配置来选择SCI启动模式;不利用第S方程序,用户可W在代码 中加入串口升级的模块,把二进制可执行文件数据从串口接收下来,储存在RAM里,在确认 无误后,再刷写固化入FLASH中,运种方案代码实现简单,不需要额外的启动时间,但是对 RAM容量要求较高,存在掉电丢失的可能;为了降低对RAM容量的要求,可W在接收二进制 可执行文件的同时进行FLASH编程,还可W提高编程效率,但是掉电丢失的可能性变大,可 靠性降低。FLA甜编程过程中一旦出现掉电丢失,内容写入失败,导致串口升级功能失效,只 能采取JTAG口重新写入。在判断是否进行串口升级时,普遍采用一种开机延时的方式,在 DSP启动时等待串口升级命令,如果没收到升级命令,延时一段时间后,进入主程序,收到升 级指令则跳转到串口升级程序,不足之处是引入了额外的启动时间,不适合对启动时间要 求高的应用场合。

【发明内容】

[0004]为克服上述现有技术的不足,本发明提供一种DSP程序的远程升级方法。它利用EEPR0M存储的程序升级标志判断是否需要升级,通过串口通信实现程序的远程升级。 阳0化]实现上述目的所采用的解决方案为:
[0006]一种DSP程序的远程升级方法,所述方法包括: 阳007] (1) SCI BootLoader模块根据邸PROM中的升级判断标志位,判断是否需要升级, 如果需要升级则初始化SCI BootLoader模块和接收上位机信息,否则跳转到主程序入口, 升级结束;
[0008] (2) CKFA模块进行CSM解锁,若解锁成功,则使能自动波特率检测并接收上位机信 息,并把接收的二进制文件烧写入FLASH中,对烧写结果进行校验,如果解锁失败则跳转到 主程序入口,升级结束;
[0009] (3)上位机配合SCI BootLoader模块和CKFA模块进行远程升级。
[0010] 优选的,所述SCI BootLoader模块具体工作流程如下:
[0011] (1-1)初始化SCIBootLoader模块后使能自动波特率检测;
[0012] (1-2)等待上位机发送字符'a',当收到字符'a'后,锁定波特率,并从串口发送字 符V进行回应;
[0013] (1-3)读取接收到上位机信息的字符,如果接收不是0X08AA,则认为远程升级传 送数据错误,发送升级结果,跳转到主程序运行,结束升级;
[0014] (1-4)如果收到OxOSAA,则接收CKFA.bin的内容直到接收完毕,接收完毕后程序 跳转到CKFA模块的入口地址。
[0015] 优选的,所述CKFA模块包括通信内核和FLA甜的API;
[0016] 所述CKFA模块的具体工作流程如下:
[0017] (2-1)利用CKFA的密码进行CSM解锁,若解锁失败则跳转到主程序入口,升级结 束;若解锁成功,则使能自动波特率检测;
[0018] (2-2)等待接收上位机发送字符'a',接收字符'a'后,重新锁定波特率,并从串口 发送字符'a'进行回应;
[0019] (2-3)计算当前FLA甜的校验和,并发送给上位机,等待接收是否需要擦除FLAW 命令,如果不需要擦除则显示升级结果,程序跳转到主程序入口,升级结束;
[0020] 如果需要擦除则对FLASH进行擦除操作,擦除结束后回应上位机;
[0021] (2-4)接收上位机发送的App.bin二进制文件并烧写到FLA甜中,烧写结束后计算 FLASH的校验和,若升级成功,则清零EEPR0M的升级判断标志位;
[0022] (2-5)最后将程序升级结果发送给上位机,升级结束,程序跳转到主程序入口。
[0023] 优选的,所述上位机配合SCIBootLoader模块和CKFA模块进行远程升级,依次执 行串口升级启动、锁定波特率、发送CKFA.bin文件、重锁波特率、擦除FLA甜和发送App.bin 文件。
[0024] 进一步的,所述锁定波特率不超过38400 ;所述重锁波特率设定为256000。 阳0巧]优选的,所述FLA甜中预留一个Sector存储SCIBootLoader专用于DSP程序的 远程升级的方法。
[00%] 与现有技术相比,本发明具有W下有益效果:
[0027] 1.串行通信接口信号简单,无需打开DSP系统的防护箱即可进行升级,可W远程 进行升级,具有方便灵活、实现简单的特点,适用于工业控制、遥测等领域的DSP程序升级。
[0028] 2.不存在额外开机时间,对RAM容量要求低,无掉电风险,升级稳定可靠。
【附图说明】
[00巧]图1 :DSP程序远程升级系统框图;
[0030]图 2:SCIBootLoader的工作流程图; 阳0川 图3 :CKFA的工作流程图;
[0032] 图4 :二进制文件生成流程图;
[0033] 图5 :上位机软件操作流程。
【具体实施方式】
[0034] 下面结合附图对本发明的【具体实施方式】做进一步的详细说明。
[0035] DSP(数字信号处理器)远程升级系统由DSP和邸PROM组成,如附图1所示。DSP 和邸PROM忍片24AA64 W I2C总线相连,只需要两根接线,控制方式简单,通信速率高。DSP 和PC之间的通信采用符合RS-232协议的MAX3232忍片相连。
[0036] SCIBootLoader负责DSP启动后的升级判断和接收CKFA(CommunicationKernel andFLA甜API)数据。在DSP的FLA甜中选取SectorA,通过TI的集成开发环境CCS编 写启动模式判断和SCI启动的代码,并通过JTAG下载到指定SectorA。
[0037] SCIBootLoader的工作流程如图2所示,DSP启动后进行系统初始化,之后读取 EEPR0M中的升级判断标志位,如果不需要升级则跳转到主程序。如果需要升级则进行SCI 模块的初始化,使能自动波特率检测,等待上位机发送字符'a',当收到字符'a'后,锁定波 特率,并从串口发送字符'曰'进行回应。读取接收到的字符,如果接收不是0X08AA,则认为 远程升级传送数据错误,发送升级结果,跳转到主程序运行。如果收到OxOSAA,通过串口接 收上位机发来的CKFA.bin的内容并存储到RAM中,接收完毕后程序跳转到CKFA的入口地 址。
[0038] 其中CKFA.bin的数据流格式如表1所示。起始字符为OxOSAA,保留字节为 128bit,CKFA的入口地址(3化it),之后为CKFA程
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1