一种可在线引导重启并校验的DSP软件在线升级方法技术

技术编号:36812253 阅读:12 留言:0更新日期:2023-03-09 00:52
本发明专利技术提供了一种可在线引导重启并校验的DSP软件在线升级方法。将DSP软件分为引导程序和应用程序两个部分,由引导程序监测和响应软件升级指令、执行应用程序的升级作业;完成应用程序更新后,在设备不下电的情况下检查应用程序功能正常才确认升级任务完成。本发明专利技术可提高DSP软件升级的便捷性和可靠性,降低产品维护成本。维护成本。维护成本。

【技术实现步骤摘要】
一种可在线引导重启并校验的DSP软件在线升级方法


[0001]本专利技术属数字信号处理器软件开发应用领域,具体涉及一种可在线引导重启并校验的DSP软件在线升级方法。

技术介绍

[0002]DSP是在嵌入式产品里广泛应用的高速数字信号处理芯片。在当前产品快速更迭、用户需求频繁变化的市场形势下,产品开发方对DSP软件的升级任务随之越来越频繁。对DSP进行软件升级的传统方法是通过电路板上的JTAG接口连接仿真器,通过CCS软件将待更新应用程序加载到DSP内完成程序升级。此方法的缺点是JTAG接口通信距离短,连接不方便、不可靠,且必须使用配套、专用的DSP仿真器,升级计算机需要具备CCS开发环境。目前常见的在线升级方法建立在升级后下电重启、应用程序可正常执行的前提下,即使采用了应用程序双FLASH空间备份的设计,也不能应对升级文件意外出错的情况。因此需要设计一种操作便捷、功能可靠的在线升级方法,使用普通计算机的常用接口即可完成升级,降低DSP软件升级成本,同时应充分考虑各种容错设计,保证妥善应对升级过程中可能出来的意外情况。

技术实现思路

[0003]为了克服传统JTAG接口升级DSP软件的效率低、成本高以及一般DSP软件在线升级方法的可靠性不足的问题,本专利技术提供一种可在线引导重启并校验的DSP软件在线升级方法。将DSP软件分为引导程序和应用程序两个部分,由引导程序监测和响应软件升级指令、执行应用程序的升级作业。完成应用程序更新后,在设备不下电的情况下检查应用程序功能正常才确认升级任务完成。本专利技术可提高DSP软件升级的便捷性和可靠性,降低产品维护成本。
[0004]一种可在线引导重启并校验的DSP软件在线升级方法,其特征在于:所述的DSP软件分为引导程序和应用程序两个部分,引导程序和应用程序在FLASH中隔离固化,引导程序负责引导应用程序启动、响应执行软件升级任务,固化在FLASH的0扇区,在每次升级操作中不会改变,应用程序负责软件功能,其中设计有跳转至当前程序主函数入口的代码,用于确定引导该应用程序启动时的入口地址,每个应用程序在FLASH中有两个固化地址,每次升级时切换存储;FLASH中还包括应用程序校验区,用于存储指示各个应用程序的固化地址、长度和合法性校验信息;
[0005]DSP软件在线升级具体步骤如下:
[0006]步骤1:DSP上电后,从引导程序存储区加载引导程序并运行,完成内核、外设和接口的初始化;
[0007]步骤2:从应用程序校验区读取指示信息并判断是否已固化相应的应用程序,若有则启动对应的应用程序并执行;
[0008]步骤3:引导程序以定时中断的方式保持对外部升级指令的周期监测;
[0009]步骤4:若接收到升级指令,进入引导程序的软件升级中断服务程序,关闭其它任务,根据应用程序校验区的指示信息判断本次升级应用程序待固化的FLASH空间,擦除对应空间;
[0010]步骤5:接收上位机发送的应用程序升级文件并校验、写入FLASH,若接收失败或者校验错误,向上位机反馈升级失败,返回执行步骤2;若升级文件接收完成且校验正确,向上位机反馈文件接收完成,把FLASH中新固化的应用程序加载到对应内存并引导启动;
[0011]步骤6:判断应用程序是否启动且工作正常,若未启动或工作不正常,向上位机反馈升级失败,返回执行步骤2;若正常工作,更新应用程序校验区中对应的指示信息,向上位机反馈升级成功,返回执行步骤3。
[0012]本专利技术的有益效果是:由于引导程序和应用程序在FLASH中隔离固化,在DSP上电后运行在独立的内存空间,可实现只需要烧写一次引导程序,之后不管应用程序功能状态如何,引导程序均可响应在线升级指令、执行在线升级任务;由于在FLASH中划分固定的应用程序校验区和应用程序两个地址固化区,可实现升级过程意外中止或者升级出错后版本的回退;由于在应用程序中设计有跳转至当前程序主函数入口的代码,并在cmd文件中为其分配一段独立的地址空间,使得引导程序启动应用程序时的入口地址与后续应用程序的更新和编译无关,便于固定引导程序的状态;由于引导程序接收到升级指令、通过外部接口完成应用程序升级代码的接收、校验和固化后,可在产品不下电的情况下,加载新固化的应用程序并引导启动,判断应用程序启动成功且功能正常后,再更新应用程序校验区的应用程序信息,反馈升级完成状态,进一步简化了升级状态信息的确认过程,同时也可保证升级后产品的功能正常。
附图说明
[0013]图1是本专利技术的可在线引导重启并校验的DSP软件构成和存储示意图;
[0014]图2是本专利技术的可在线引导重启并校验的DSP软件在线升级方法流程图。
具体实施方式
[0015]下面结合附图和实施例对本专利技术进一步说明,本专利技术包括但不仅限于下述实施例。
[0016]本专利技术提供的一种可在线引导重启并校验的DSP软件在线升级方法,其DSP软件分为引导程序和应用程序两个部分:引导程序负责引导应用程序启动、响应执行软件升级任务,在每次升级操作中不会改变;应用程序负责软件功能,是每次升级需要更新的主体部分。如图1所示,引导程序和应用程序在FLASH中隔离固化,引导程序存储区固定在0扇区,DSP上电后首先从0扇区启动引导程序并保持对升级指令的监测和响应;应用程序可以是单个或者多个,每个应用程序在对应的存储区设计有A、B两个空间,用于每次升级时乒乓切换存储,每个应用程序中设计有跳转至当前程序主函数入口的代码,并在cmd文件中为其分配一段独立的地址空间,使得引导程序启动应用程序启动时的入口地址与后续应用程序的更新和编译无关,便于固定引导程序的状态;另外,FLASH中还包括一块独立的应用程序校验区,用于存储指示各个应用程序的固化地址、长度、合法性校验等信息。
[0017]DSP软件在线升级的过程如图2所示,具体步骤如下:
[0018]步骤1:DSP上电后,从引导程序存储区加载引导程序并运行,完成内核、相关外设和接口的初始化;
[0019]步骤2:从应用程序校验区读取指示信息并判断是否已固化有效的应用程序,若有则启动对应的应用程序并执行;
[0020]步骤3:无论是否有应用程序在运行,引导程序均以定时中断的方式保持对外部升级指令的周期监测;
[0021]步骤4:若接收到升级指令,进入引导程序的软件升级中断服务程序,关闭其它任务,跟据应用程序校验区的指示信息判断本次升级应用程序待固化的FLASH空间,擦除对应空间;
[0022]步骤5:接收上位机发送的应用程序升级文件并校验、写入FLASH,若接收失败或者校验错误,向上位机反馈升级失败,返回执行步骤2;若升级文件接收完成且校验正确,向上位机反馈文件接收完成,把FLASH中新固化的应用程序加载到对应内存并引导启动;
[0023]步骤6:判断应用程序是否启动且工作正常,若不正常则向上位机反馈升级失败,返回执行步骤2;若引导启动的应用程序可正常工作,更新应用程序校验区中对应的指示信息,向上位机反馈升级成功,返回执本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可在线引导重启并校验的DSP软件在线升级方法,其特征在于:所述的DSP软件分为引导程序和应用程序两个部分,引导程序和应用程序在FLASH中隔离固化,引导程序负责引导应用程序启动、响应执行软件升级任务,固化在FLASH的0扇区,在每次升级操作中不会改变,应用程序负责软件功能,其中设计有跳转至当前程序主函数入口的代码,用于确定引导该应用程序启动时的入口地址,每个应用程序在FLASH中有两个固化地址,每次升级时切换存储;FLASH中还包括应用程序校验区,用于存储指示各个应用程序的固化地址、长度和合法性校验信息;DSP软件在线升级具体步骤如下:步骤1:DSP上电后,从引导程序存储区加载引导程序并运行,完成内核、外设和接口的初始化;步骤2:从应用程序校验区读取指示信息并判断是否已固化相应的应用...

【专利技术属性】
技术研发人员:张春景齐楠楠丁云
申请(专利权)人:中国航空工业集团公司洛阳电光设备研究所
类型:发明
国别省市:

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

1