IAP是什么意思

IAP是什么意思,第1张

1、中国科学院大气物理研究所

中国科学院大气物理研究所(以下简称大气所)的前身是1928年成立的原国立中央研究院气象研究所。1950年1月,中国科学院将气象、地磁和地震等部分科研机构合并组建为中国科学院地球物理研究所。

1966年1月,根据我国气象事业发展的需要,中国科学院决定将气象研究室从地球物理研究所分出,正式成立中国科学院大气物理研究所。大气所是中国现代史上第一个研究气象科学的最高学术机构,当前已发展成为涵盖大气科学领域各分支学科的大气科学综合研究机构。

2、IAP(应用编程)

IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。

IAP *** 作相关:

通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新 *** 作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能 *** 作,而只是通过某种通信管道(如USB、USART)接收程序或数据,执行对第二部分代码的更新;

第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在User Flash中,当芯片上电后,首先是第一个项目代码开始运行,它作如下 *** 作:

1)检查是否需要对第二部分代码进行更新

2)如果不需要更新则转到4)

3)执行更新 *** 作

4)跳转到第二部分代码执行

以上内容参考:百度百科-IAP;百度百科-IAP

这个倒没注意过,按说读保护不会跟写保护挂钩。但是,如果确实有这种情况的话,你可以选择另外一种折中的方案,把boot做成分两步引导:第一步引导就放在闪存的最前面,这块以后就不要动了,它的作用纯粹是占用所谓的可能被写保护的区域,当然也负责跳转到第二步;第二步就是真正的boot,而且具备与升级APP有关的功能。 最后,再由第二步跳转至第三步APP部分。

为满足日常开发需求,现在很多情况下一个片子需要通过BootLoader和Application两段程序组成。

Bootloader:一般用作用户升级Application用户程序用,程序的起始地址为:0x08000000,当遇到Application程序有更新的情况下,可以很方便和友好的通过BootLoader程序来对其进行更新。Bootloader更新Application的方式和途径有很多,比如串口的IAP、U盘的IAP等等,本人常用U盘进行升级。

Application:用户程序。一般起始地址并不是再0x08000000。

调试烧写hex固件的方式我一般选择的是Jflash,方式也很多,比如,Stlink的烧写软件,串口的烧写软件(MCUISP挺好用)等等。

第一步:将多个HEX文件合并成一个HEX文件。

这里以两个HEX为例,其中一个为BootLoader,另一个为Application。

1.新建一个文本文档,并命名成XXX.hex

2.通过各种编辑器分别打开BootLoader.hex、Application.hex和XXX.hex。我这里用的是notepad++。

3.把Bootloader里面的内容全部复制到XXX.hex中

4.删除XXX.hex中的最后一行(:00000001FF)

5.将Application.hex中的内容全部复制并添加到XXX.hex的结尾

6.保存,此时的XXX.hex文件就是一个合并了Bootloader和Application的固件。

第二步:烧写固件

烧写固件比较简单,但是要注意两个hex的文件要确保烧写的地址。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11539644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存