当前位置:首页 > 模拟 > 模拟
[导读]提出并实现了一种新型DSP系统软件版本在线升级方法及其3种升级方式,详细论述了Flash的存储分配结构以及系统BOOT程序的设计。具有实现简单、更新方式灵活、程序可靠性高等优点,可广泛应用于数字控制芯片领域。

 随着IT技术的迅猛发展,数字化技术已被广泛应用到国民经济的各个领域。数字化技术的核心包括两个部分:MCU或DSP等数字控制芯片和相应的软件程序。一般的数字芯片均带有Flash存储空间、丰富的外设模块,其中包括各种常见的通信接口(例如I2C、RS232等)。同时,为了满足不断变化的应用需求,一般会在相应的软件程序设计中加入Bootloader功能,即利用系统已有的通信接口,依靠BOOT程序在线更新MCU或DSP中的软件。完成软件更新之后,运行更新版本程序来实现系统功能的扩展或升级。
    目前,常用的更新方法有2种:(1)直接刷新Flash中已有的代码来实现软件的升级。虽然该方法实现简单,但是存在意外风险,即当系统在更新软件过程中意外断电时,MCU或DSP中原有的正常版本程序也将被破坏、无法运行,导致系统崩溃。(2)在MCU或DSP的Flash中开辟2个空间A和B,分别作为主BOOT区和备BOOT区。这种方法虽然提高了软件更新的可靠性,但却增加了程序设计或硬件电路的复杂性。因为MCU或DSP中断向量表的地址一般是固定的,所以只能依靠复杂的版本切换程序或硬件选择器来实现A、B区域中2个版本软件的切换。
    为了克服现有技术的不足,提出了一种新型的软件版本在线更新方法和3种更新方式,并且在数字控制芯片领域中得到了实际应用。
1 dsPIC33F微控制器及地址空间分配
1.1 dsPIC33F微控制器

    美国Microchip公司设计生产的dsPIC33F微控制器采用16 bit改良的哈佛架构和C编译器优化的指令集,其带有16 bit的数据总线和24 bit指令,以及4 MB指令字的线性程序存储空间,寻址范围最大64 KB。由于其本身内部集成了多达256 KB的Flash程序存储器和30 KB的数据SRAM,因此,只需要上电复位电路和外部晶振电路,以及用于主要核心工作模块的3.3 V电源就可以正常工作而无需额外的外围器件支持。
1.2 Flash地址空间分配
    为了做到故障保护,防止在更新过程中发生更新文件出错、意外断电等灾难性故障,本设计将dsPIC33F的Flash空间分为3个区域,如图1所示。图中(A)区用于存储应用程序正常版本;(B)区用于存储应用程序更新版本;(C)区用于存储BOOT程序。其中(A)区、(B)区的分配空间大小相等,因为(B)区的主要用途在于存储(A)区的运行程序的更新版本软件。

    在实际应用中,可以根据Flash的大小、程序代码长度等因素灵活调节。如果采用dsPIC33FJ64GP710控制器,其Flash空间范围为0x0000-0xFFFF,每页的大小为0x100,则dsPIC33FJ64GP710的Flash空间地址典型分配如表1所示。应用程序更新版本和正常版本的Flash空间大小都为0x7000,而且,不论是应用程序正常版本或是更新版本,其第一个运行的指令都是跳转到BOOT程序,其最后的2组地址都用于存放新的、有效的标志位。所以,当更新升级程序时,仅需要将应用程序更新版本中的更新程序整体拷入应用程序正常版本中即可,而不需区分其中的标志位、跳转指令和程序本体,简化了BOOT程序的设计。

2 BOOT功能的设计与实现
    本软件程序设计主要分为两部分:应用程序的设计和BOOT程序的设计。出厂时,应用程序的正常版本放在图1中(A)区,而BOOT程序放在图1中(C)区。更新时,仅对应用程序进行更新。
    系统上电复位时,软件首先跳转至BOOT程序开始运行。BOOT程序首先检测图1(B)区中的更新版本程序是新的、有效的,BOOT程序才会擦除图1(A)区中的正常版本,再将图1(B)区中的更新版本拷入图1(A)区中,覆盖正常版本后在图1(A)区中设置正常版本有效标志位;否则BOOT程序将终止软件版本的更新,并设置更新失败标志。然后软件将从图1(C)区中BOOT程序跳回图1(A)区中运行应用程序的正常版本。因为只有在更新版本有效时,才会擦除正常版本,因此,更新版本和正常版本不会同时无效。系统软件主程序设计具体流程如图2所示。


    软件在擦除(A)区的过程中如果出现异常(如系统掉电),将导致(A)区中的应用程序破坏。然而,此时(B)区中的更新软件是有效的,当系统重新上电运行时,BOOT程序会将(B)区中的更新软件拷入(A)区中,然后从(A)区开始运行,从而可以有效地解决常用版本更新方法存在的意外风险问题。Boots程序关键函数如下:
    void EraseFlashPages(void) //用于擦除Flash中所指定区域;
    void ProgramRow(unsigned char*ptrData,uReg32 SourceAddr)
//用于向指定的地址写入ptrData所指向的数据;
    void ReadRow(unsigned char*ptrData,uReg32 SourceAddr)
//用于从指定的地址读取数据到ptrData所指向的位置;
    void  SetFlag(unsigned long FlagAddr) //用于向指定的
地址写入有效标志;
    void  ClearFlag(unsigned long FlagAddr) //用于擦除指定地址的有效标志。
3 DSP软件更新方式与更新方法
3.1 DSP软件更新方式

    为了进一步提高系统更新软件的可靠性、灵活性,本文提供了3种更新方式:(1)在下载更新程序结束后,立即执行更新操作;(2)在下载更新程序结束后,PC机通过通信发送更新命令再执行更新操作;(3)在下载更新程序结束后,在系统下一次上电复位后,再执行更新操作。基于VC编写的DSP软件更新方式选择界面,如图3所示。

    其中,更新方式(1)适用于对可靠性要求不是很严格,而且马上需要更新的场合,该方法与现有的、常用的在线升级方式相似,但克服了其存在的不足;更新方式(2)可以让客户根据实际系统的运行需要来选择更新软件的时机,因此可以在合适的时间内进行软件更新,将更新的风险进一步降低;更新方式(3)适合于对可靠性要求非常严格的场合,在系统断电后,重新上电复位后进行更新。更新方式选择关键函数如下:
    void  UpgradeAppCode(void); //用于执行更新程序操作;
    void  FW_Download(unsigned char DataBuffer, unsigned char RWflag);  //通过通信接口,将下载的新程序保存到应用程序更新版本区域。
3.2 更新版本程序下载流程
    如果软件需要更新时,首先将更新版本软件下载到应用程序更新版本(图1(B))中,在更新版本软件的下载过程中,对更新版本进行校验,如果更新版本下载成功,则在指定的地址中设置更新程序是新的、有效的标志位;反之,则设置无效的标志位。BOOT程序中更新版本程序下载流程如图4所示。


    本文提出了一种高可靠的软件版本在线升级方法和3种更新方式,该软件具有实现简单、更新方式灵活、程序可靠性高等优点,可应用于数字控制芯片领域。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭