一种改进型的IAP升级代码的方法、系统及待升级设备技术方案

技术编号:23084696 阅读:42 留言:0更新日期:2020-01-11 01:01
本发明专利技术涉及软件的技术领域,提供一种改进型的IAP升级代码的方法、系统及待升级设备,待升级设备包括IAP接口及芯片,芯片包括ROM和FLASH,ROM内预存IAP_BSP代码,FLASH内预存IAP_USER代码,IAP主机和待升级设备上设有用于彼此通信的IAP接口,IAP开发者只需开发IAP_USER代码,通过IAP接口对待升级设备上的APP应用代码进行升级,无需考虑底层繁复的芯片烧写过程,大大降低产品IAP难度和开发调试成本。

An improved IAP upgrade code method, system and equipment to be upgraded

【技术实现步骤摘要】
一种改进型的IAP升级代码的方法、系统及待升级设备
本专利技术涉及软件的
,尤其涉及一种改进型的IAP升级代码的方法、系统及待升级设备。
技术介绍
在电子产品中,有常见的代码升级方法就是IAP,其英文为InApplicationProgramming,IAP升级原理是:代码存储介质存放了APP应用代码和升级处理的代码,APP的英文全称是Application,也叫应用软件,当APP应用代码运行时识别到升级命令时,则从应用代码区跳转到升级处理代码区执行,并根据接收到的升级命令,将新的代码写入应用代码区,升级成功后,复位或者下次上电执行升级后的代码。由于IAP和应用方案紧密相关,不同方案的通信介质和通信协议变化多样,开发者往往根据具体的应用方案制定不同的IAP通信介质和协议,比如在支持SD卡的方案做可以用SD卡升级,同理可以通过UART、SWD、SPI、USB等有线和Bluetooth、WIFI等无线方式升级;IAP基本上由开发人员自己完成,IAP代码通常和应用代码放在一起,并且只存放一份,IAP升级时擦除旧代码APP1,写入新代码APP2,在写入新代码APP2完成之前如果掉电重启则没有APP运行,也就是说,IAP升级存在失败的风险。这就存在以下的问题:一是要求开发者了解繁复的芯片烧写流程才能做IAP,对于多数软件开发者来说底层的开发往往很难理解和调试,开发难度较大;二是IAP代码存放在用户代码中,往往存在IAP过程中不能掉电等限制,IAP过程掉电后重启没有APP代码运行,存在IAP升级失败的风险。
技术实现思路
本专利技术提供一种改进型的IAP升级代码的方法、系统及待升级设备,无需了解繁复的芯片烧写流程即可实现IAP升级,降低开发难度。本专利技术由以下技术方案实现:本专利技术的第一方面是这样实现的,一种改进型的IAP升级代码的方法,用于IAP主机通过IAP接口对待升级设备上的APP应用代码进行升级;所述方法包括以下步骤:(1)在待升级设备的芯片的ROM内预存IAP_BSP代码;(2)在待升级设备的芯片的FLASH内预存IAP_USER代码;(3)待升级设备上电,执行APP应用代码,并初始化IAP接口;(4)待升级设备确认IAP接口是否接收到IAP主机的IAP请求,是则进入步骤(5),否则继续尝试接收IAP请求;(5)待升级设备执行IAP_UESR代码,对接收到的IAP请求进行命令解析;(6)IAP_USER代码解析主机发出的IAP命令是否有效,是则进入步骤(7),否则返回步骤(4);(7)IAP_USER代码调用IAP_BSP代码完成IAP主机指定的命令功能;(8)IAP_USER代码确认IAP_BSP代码是否执行成功,是则进入步骤(9),否则返回步骤(4);(9)IAP_USER代码确认IAP升级是否完成,是则结束IAP升级代码的过程,否则返回步骤(4)。优选的,在IAP升级过程中保留原有的旧代码APP1的同时,将升级代码另外保存为代码APP2,复位检测并运行最新代码APP2。本专利技术的第二方面是这样实现的,一种待升级设备,包括IAP接口及芯片,芯片包括ROM和FLASH,所述ROM内预存IAP_BSP代码,FLASH内预存IAP_USER代码。本专利技术的第三方面是这样实现的,一种改进型的IAP升级代码的系统,包括IAP主机和待升级设备,所述IAP主机和待升级设备上设有用于彼此通信的IAP接口,待升级设备上设有芯片,芯片包括ROM和FLASH;所述系统执行上述改进型的IAP升级代码的方法。优选的,所述IAP接口的应用方案为UART、SPI、USB、SDIO、IIC、WIFI或蓝牙。本专利技术的有益效果是:与现有技术相比,本专利技术在通过芯片ROM内存储IAP_BSP代码的方式实现产品IAP,IAP开发者只需开发IAP_USER代码,通过IAP接口对待升级设备上的APP应用代码进行升级,无需考虑底层繁复的芯片烧写过程,大大降低产品IAP难度和开发调试成本;APP应用代码在IAP升级过程中保留原有的旧代码APP1,将升级代码另外保存为代码APP2,复位检测并运行最新代码APP2,杜绝了升级过程中断电导致掉电重启则没有APP运行的异常。附图说明图1是本专利技术的实施例的连接示意图;图2是图1中待升级设备中、芯片的各部分的示意图;图3是本专利技术的实施方法的步骤示意图;其中的附图标记为:10、IAP主机;20、待升级设备;30、IAP接口;40、芯片。以下结合附图对本专利技术的具体实施方式作进一步详细地说明。具体实施方式本专利技术的较佳实施例如图1-图3所示,附图的作用在于用图形补充说明书文字部分的描述,便于理解本专利技术的各个技术特征以及整体的技术方案,但不能理解为对本专利技术的限制。本专利技术的描述中,未进行特别解释的技术词语,可视为现有技术中的广义含义。如图1-图3所示,一种改进型的IAP升级代码的系统,包括IAP主机10和待升级设备20,IAP主机10和待升级设备20上设有用于彼此通信的IAP接口30,IAP主机10和待升级设备20之间还需要VCC电源线以及GND接地线进行电性连接,优选的,IAP接口30可根据用户的需要,设成UART、SPI、USB、SDIO或IIC的串行总线连接方式,或者是WIFI或蓝牙的无线连接方式。其中的待升级设备20上设有芯片40,芯片40包括ROM和FLASH,其中的ROM,英文全称为ReadOnlyMemory,即是只读储存器,ROM内预存有用于APP烧写作业的IAP_BSP代码,IAP_BSP代码中的BSP是英文BoardSupportPackage的缩写,翻译为板级支持包,是介于主板硬件和操作系统之间的一层,属于操作系统的一部分,IAP_BSP代码是专门为芯片40开发者协议定制的软件,IAP_BSP代码负责芯片40擦写读、安全管理方便的操作,在应用方案开发中,为了保证产品的可维护性,IAP代码升级是必须的,而如今IAP升级需要烧写芯片40,对于多数软件开发者来说,底层繁复的烧写作业难以理解和调试,开发难度较大,在芯片40开发者开发之前可将IAP_BSP代码固化在芯片40的ROM内,防止被篡改。其中的FLASH,即为可刷新内存,IAP_BSP代码负责芯片40的FLASH的擦除、写入、读取、校验和上锁,安全管理,方便操作。开发者在接到含有IAP_BSP代码的芯片40之后,在芯片40的FLASH内写入IAP_USER代码,IAP_USER代码是负责接收和解析命令,由于IAP_USER代码属于比较浅显,接近于人们的思维习惯,简单易懂,便于开发者理解和调试,IAP_USER代码和IAP_BSP代码均设有软件层面的接口,即是接口函数,IAP_USER代码可以通过IAP_BSP接口调用IAP_BSP代码,IAP_USER代码和IAP_BSP代码配合成为改进型的IAP升级代码的方法。IAP开发者不用考虑底层繁复的芯片40烧写过程,通过芯片40的RO本文档来自技高网
...

【技术保护点】
1.一种改进型的IAP升级代码的方法,用于IAP主机通过IAP接口对待升级设备上的APP应用代码进行升级;其特征在于,所述方法包括以下步骤:/n(1)在待升级设备的芯片的ROM内预存IAP_BSP代码;/n(2)在待升级设备的芯片的FLASH内预存IAP_USER代码;/n(3)待升级设备上电,执行APP应用代码,并初始化IAP接口;/n(4)待升级设备确认IAP接口是否接收到IAP主机的IAP请求,是则进入步骤(5),否则继续尝试接收IAP请求;/n(5)待升级设备执行IAP_UESR代码,对接收到的IAP请求进行命令解析;/n(6)IAP_USER代码解析主机发出的IAP命令是否有效,是则进入步骤(7),否则返回步骤(4);/n(7)IAP_USER代码调用IAP_BSP代码完成IAP主机指定的命令功能;/n(8)IAP_USER代码确认IAP_BSP代码是否执行成功,是则进入步骤(9),否则返回步骤(4);/n(9)IAP_USER代码确认IAP升级是否完成,是则结束IAP升级代码的过程,否则返回步骤(4)。/n

【技术特征摘要】
1.一种改进型的IAP升级代码的方法,用于IAP主机通过IAP接口对待升级设备上的APP应用代码进行升级;其特征在于,所述方法包括以下步骤:
(1)在待升级设备的芯片的ROM内预存IAP_BSP代码;
(2)在待升级设备的芯片的FLASH内预存IAP_USER代码;
(3)待升级设备上电,执行APP应用代码,并初始化IAP接口;
(4)待升级设备确认IAP接口是否接收到IAP主机的IAP请求,是则进入步骤(5),否则继续尝试接收IAP请求;
(5)待升级设备执行IAP_UESR代码,对接收到的IAP请求进行命令解析;
(6)IAP_USER代码解析主机发出的IAP命令是否有效,是则进入步骤(7),否则返回步骤(4);
(7)IAP_USER代码调用IAP_BSP代码完成IAP主机指定的命令功能;
(8)IAP_USER代码确认IAP_BSP代码是否执行成功,是则进入步骤(9),否则返回步骤(4);
(9)IAP_USE...

【专利技术属性】
技术研发人员:李应浪江华彬黄立伟洪灏施奕洲
申请(专利权)人:珠海泰芯半导体有限公司
类型:发明
国别省市:广东;44

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

1