DSP板卡类的应用程序的在线升级方法技术

技术编号:26170027 阅读:25 留言:0更新日期:2020-10-31 13:35
本发明专利技术属于DSP系统下在线升级应用程序技术领域,具体涉及一种DSP板卡类的应用程序的在线升级方法,包括:首先,根据监控程序和应用程序划分Flash地址空间;其次,加载FlashAPI的动态库;然后,将应用程序的out文件转化成bin文件。通过串口将bin文件的二进制数据发送给监控程序进行在线升级。最后,如需要升级,则使用FlashAPI进行数据的写入和验证,如果操作失败则给出错误信息提示用户;如不需要升级则设置规定时间等待,如没收到相关指令则默认跳转到应用程序入口执行。该方案通过FlashAPI进行在线升级,读写速度和安全性极大提高,同时使用串口进行数据收发并对数据进行验证,既提供了监控程序运行状态,又保证了烧写过程中数据交互过程的合法性。

On line upgrade method of DSP board class application program

【技术实现步骤摘要】
DSP板卡类的应用程序的在线升级方法
本专利技术属于DSP系统下在线升级应用程序
,具体涉及一种DSP板卡类的应用程序的在线升级方法。
技术介绍
TMS320F28335作为TI高性能的32位浮点DSP处理器,具备精度高、成本低功耗小、性能高、外设集成度高的特点,在实际应用常被选为通信模块节点。目前成熟的在线升级方法有通过在线升级程序与应用程序固件相分离,利用动态存储器存储写入升级固件程序的指令代码进行在线升级。还有在终端模块划分一个区域以存储下载程序监控程序变量,通过看门狗对软件复位,监控程序通过监控结构变量进行是否进行升级应用程序。但是上述方法不能根据实际情况调整升级内容,也不适用于没有动态存储器的板卡。为了解决嵌入式系统下的DSP板卡的应用程序在线升级问题,需要提出一种在线升级方法。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何提供一种DSP板卡类的应用程序的在线升级方法。(二)技术方案为解决上述技术问题,本专利技术提供一种DSP板卡类的应用程序的在线升级方法,所述方法包括:步骤1:划分Flash地址空间;步骤2:加载FlashAPI动态库;步骤3:将应用程序.out文件转化成bin文件;步骤4:进入监控程序主流程;通过以上步骤,可以实现DSP板卡的应用程序的在线升级功能。其中,所述步骤1中,首先,在烧写程序执行的CMD文件将Flash区域的A段,即FlashA分出程序入口的初始地址;然后,从初始地址开始划分监控程序烧写地址段和应用程序烧写地址段,确保两个程序烧写的地址段不重叠。其中,所述步骤1中,首先,在烧写程序执行的CMD文件将Flash区域的A段(FlashA)分出程序入口的初始地址,即Begin;划分规则为:①该初始化地址不能与板卡中Flash跳转的默认地址相同;②修改CMD文件中codestart定义的地址段为Begin;③修改CMD文件中程序段和全局变量地址段为FlashA;然后,从初始地址开始划分监控程序烧写地址段和应用程序烧写地址段,确保两个程序烧写的地址段不重叠:①从初始化地址划分FlashA,FlashC、FlashD三个段为监控程序烧写的地址段;②划分FlashE、FlashF、FlashG三个段为应用程序烧写的地址段。其中,所述步骤2中,首先,在CMD文件中加载FlashAPI的动态库;然后,指定API加载的初始程序段和RAM区中加载的初始程序段为FlashA;最后,指定API和RAM区的加载首地址、加载末地址、执行首地址。其中,所述步骤3中,首先,把out文件拷贝到转化工具hex2000.exe所在的文件夹,cmd进入所在的文件夹,执行hex2000app.out-gpio16-a,生成app.a00;然后通过bin工具将app.a00文件生成bin文件。其中,所述步骤4中,包括:步骤41:初始化板卡硬件资源;步骤42:将FlashAPI和监控程序拷入RAM区运行;步骤43:进入监控程序主循环,根据接收的串口数据判断是否进行升级操作;步骤44:如果需要升级则将bin文件通过串口发送给监控程序并使用FlashAPI进行写操作;步骤45:如果不需要升级则直接跳转到应用程序入口地址执行。其中,所述步骤41包括:①初始化系统时钟;②初始化Flash设置;③初始化SCI串口GIPO配置;④关闭中断;⑤初始化中断向量表;⑥设置cpu定时器中断;⑦开启定时器;⑧设置接收中断入口函数;⑨使能中断。其中,所述步骤42包括:将FlashAPI和监控程序拷入RAM区运行:使用MemoryCopy函数对程序段进行拷入。其中,所述步骤43包括:①判断当前模式;②如果当前模式为监控则并设置时间等待,在规定时间内没有收到外部串口发送的模式选择命令则默认跳转到应用程序。在时间等待周期里循环发送串口数据,标识监控程序运行状态;③如果在规定时间内收到外部串口的模式选择命令则置当前模式为升级模式。其中,所述步骤44包括:①中断接收串口报文,对报文内容进行帧头、帧尾、数据内容和校验和的合法验证;②如果帧合法则使用FlashAPI将数据内容写入到Flash,具体步骤如下:Step1:获取当前写入Flash的地址;Step2:将本次要写入的数据存入到数组;Step3:关中断;Step4:使用FlashAPI的Flash_Erase函数对Flash进行擦除操作;Step5:判断擦除操作是否成功,如果错误则进行开中断,通过串口发送错误信息并退出此次写入操作;如果正确继续进行下一步;Step6:使用FlashAPI的Flash_Program函数对Flash进行写入操作;Step7:判断写入操作是否成功,如果错误则进行开中断,通过串口发送错误信息并退出此次写入操作;如果正确继续进行下一步;Step8:用FlashAPI的Flash_Verify函数对Flash进行验证操作;Step9:判断验证操作是否成功,如果错误则进行开中断,通过串口发送错误信息并退出此次写入操作;如果正确继续进行下一步;③bin文件全部发送完毕或者发送错误需要停止烧写过程,发送结束报文,并进行断电重启。(三)有益效果与现有技术相比较,本专利技术在系统为DSP的应用场景下,针对DSP板卡特点,并结合FlashAPI动态库,设计实现了一种DSP板卡类的应用程序在线升级方法。本专利技术为解决DSP类型的应用程序在线升级问题提供了方案,该方案设计板卡内同时烧写监控程序和应用程序,利用监控程序的跳转逻辑进行对应用程序进行在线升级。该方法有效地解决了传统上需要仿真器才能升级板卡类程序的弊端。附图说明图1及图2为DSP板卡应用程序在线升级监控主流程图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。为解决现有技术问题,本专利技术提供一种DSP板卡类的应用程序的在线升级方法,所述方法用于在DSP平台下,解决应用程序在线升级问题;如图1-图2所示,所述方法包括:步骤1:划分Flash地址空间;步骤2:加载FlashAPI动态库;步骤3:将应用程序.out文件转化成bin文件;步骤4:进入监控程序主流程;通过以上步骤,可以实现DSP板卡的应用程序的在线升级功能。其中,所述步骤1中,首先,在烧写程序执行的CMD文件将Flash区域的A段,即FlashA分出程序入口的初始地址;然后,从初始地址开始划分监控程本文档来自技高网...

【技术保护点】
1.一种DSP板卡类的应用程序的在线升级方法,其特征在于,所述方法包括:/n步骤1:划分Flash地址空间;/n步骤2:加载FlashAPI动态库;/n步骤3:将应用程序.out文件转化成bin文件;/n步骤4:进入监控程序主流程;/n通过以上步骤,可以实现DSP板卡的应用程序的在线升级功能。/n

【技术特征摘要】
1.一种DSP板卡类的应用程序的在线升级方法,其特征在于,所述方法包括:
步骤1:划分Flash地址空间;
步骤2:加载FlashAPI动态库;
步骤3:将应用程序.out文件转化成bin文件;
步骤4:进入监控程序主流程;
通过以上步骤,可以实现DSP板卡的应用程序的在线升级功能。


2.如权利要求1所述的DSP板卡类的应用程序的在线升级方法,其特征在于,所述步骤1中,
首先,在烧写程序执行的CMD文件将Flash区域的A段,即FlashA分出程序入口的初始地址;
然后,从初始地址开始划分监控程序烧写地址段和应用程序烧写地址段,确保两个程序烧写的地址段不重叠。


3.如权利要求1所述的DSP板卡类的应用程序的在线升级方法,其特征在于,所述步骤1中,
首先,在烧写程序执行的CMD文件将Flash区域的A段(FlashA)分出程序入口的初始地址,即Begin;划分规则为:
①该初始化地址不能与板卡中Flash跳转的默认地址相同;
②修改CMD文件中codestart定义的地址段为Begin;
③修改CMD文件中程序段和全局变量地址段为FlashA;
然后,从初始地址开始划分监控程序烧写地址段和应用程序烧写地址段,确保两个程序烧写的地址段不重叠:
①从初始化地址划分FlashA,FlashC、FlashD三个段为监控程序烧写的地址段;
②划分FlashE、FlashF、FlashG三个段为应用程序烧写的地址段。


4.如权利要求1所述的DSP板卡类的应用程序的在线升级方法,其特征在于,所述步骤2中,
首先,在CMD文件中加载FlashAPI的动态库;
然后,指定API加载的初始程序段和RAM区中加载的初始程序段为FlashA;
最后,指定API和RAM区的加载首地址、加载末地址、执行首地址。


5.如权利要求1所述的DSP板卡类的应用程序的在线升级方法,其特征在于,所述步骤3中,
首先,把out文件拷贝到转化工具hex2000.exe所在的文件夹,cmd进入所在的文件夹,执行hex2000app.out-gpio16-a,生成app.a00;
然后通过bin工具将app.a00文件生成bin文件。


6.如权利要求1所述的DSP板卡类的应用程序的在线升级方法,其特征在于,所述步骤4中,包括:
步骤41:初始化板卡硬件资源;
步骤42:将FlashAPI和监控程序拷入RAM区运行;
步骤43:进入监控程序主循环,根据接收的串口数据判断是否进行...

【专利技术属性】
技术研发人员:高娟
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:天津;12

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

1