首页 > 应用 > EDA
[导读]在电子产品出厂前,可以通过离线烧录器,烧录夹具,或者用在线烧录器通过预留的烧录接口轻松将应用代码下载到MCU中。但是,如果产品已售出或不在研发端,又要怎样升级程序呢?今天,这里就给大家介绍通过IAP的在线升级方法。

在电子产品出厂前,可以通过离线烧录器,烧录夹具,或者用在线烧录器通过预留的烧录接口轻松将应用代码下载到MCU中。但是,如果产品已售出或不在研发端,又要怎样升级程序呢?今天,这里就给大家介绍通过IAP的在线升级方法。

本文引用地址: http://www.21ic.com/app/eda/201802/752322.htm

先来理解两个概念ISP和IAP:

1、ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程;

2、IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。

IAP编程的实现办法

实现IAP功能,需要在设计产品的时候编写两个程序,第一部分程序是不执行正常的功能的,只是通过某种通信方式(如USB、Uart)接收固件或新的应用程序,执行对第二部分代码的更新,我们称之为Bootloader;第二部分代码是用户的应用代码,实现产品的真正功能。第一部分代码必须事先烧写(通过烧录器或仿真器)到单片机内,第二部分代码可以通过烧录器或仿真器烧录,也可以使用第一部分的IAP功能烧录。当芯片上电后,首先运行第一部分代码,如果不需要更新,则跳转到第二部分代码执行;如果检测到需要更新,则执行更新程序,更新完成后跳转到第二部分代码执行。以STM32为例,如下图:

如上图例子,Bootloader的起始地址存放在0x08000000(也是STM32芯片Flash的起始地址),程序由此执行后,跳转至复位中断入口向量地址,随后跳转到Bootloader的main函数入口, 当检测到需要升级程序,执行更新第二部分应用程序代码到地址为0x08000000 + N的Flash区域,更新完成后,跳转至第二部分应用程序的复位中断向量地址(0x08000004 + N +M), 随后跳转至第二部分应用程序的main函数,在main函数的运行过程中,如果CPU遇到一个中断请求,PC指针强制跳转至Bootloader的中断向量表(上图中0x08000004),而不是第二部分的中断向量表,程序再根据我们设置的中断向量表偏移量,跳转到对应中断源新的中断服务程序中执行,执行完成后返回第二部分应用程序的main函数。

需要注意的地方是:第一部分程序(Bootloader)跳转的地址和第二部分应用程序的起始地址必须要保持一致,相应的中断向量表也要修改,否则程序无法正确运行。

通过IAP在应用编程,在一些产品发布后可以方便地通过预留的通信口(如USB,串口,网络端口或无线传输)对产品中的固件程序进行更新升级。在使用IAP功能之前,芯片必须先通过烧录工具将实现IAP功能的Bootloader烧录到单片机内。如果Bootloader程序被破坏,产品必须返厂才能重新烧写程序,这是很麻烦并且非常耗费时间和金钱的。针对这样的需求,STM32在对Flash区域实行读保护的同时,自动地对用户Flash区的开始4页设置为写保护,这样可以有效地保证IAP程序区域不会被意外地破坏。

ZLG致远电子的P800isp是一款多通道在线脱机烧录器,用户只需将产品的烧录接口预留出来,使用P800isp即可轻松对程序进行一次烧录、二次更新,即使产品Bootloader被破坏,也能轻松解决更新问题

换一批

延伸阅读

[消费类电子新闻] 华为新款MediaPad X1选择赛普拉斯TrueTouch Gen5触摸屏控制器

华为新款MediaPad X1选择赛普拉斯TrueTouch Gen5触摸屏控制器

21ic讯 华为公司,为其MediaPad X1平板电脑选用了赛普拉斯半导体公司的TrueTouch® Gen5触摸屏控制器。这一靓丽的新款平板电脑拥有7英寸触摸屏,采用了Gen5 TMA568所具有的手套触控和悬停功能......

关键字:华为 MediaPad 赛普拉斯 触摸屏控制器

[智能硬件] 最强四核 华为MediaPad 10 FHD将亮相

最强四核 华为MediaPad 10 FHD将亮相

【PConline 资讯】,华为终端公司董事长余承东在微博表示,即将亮相的华为MediaPad 10平板将采用自产海思K3 V2四核处理器,并且宣称这款处理器是当前性能最强的四核处理器。此前有消息称,海思K3 V2四核处理器的性能......

关键字:MediaPad FHD 10 四核

[新鲜事] 探讨外星人始终未被发现的12大可能的原因

探讨外星人始终未被发现的12大可能的原因

1950年,一次极具意义的午餐会话对未来几十年天文探索奠定了基础,物理学家恩里科·费米和同事们进行了一番辩论,他们主要聚焦于两个问题:一是星系非常古老、非常庞大,存在数千亿颗恒星,以及大量宜居行星;二是这意味着外星人在星系中拥有充足的时间进......

关键字:外星人 发现 原因

[新鲜事] 美国最机密国防部电脑令人大跌眼镜:还在用软盘

美国最机密国防部电脑令人大跌眼镜:还在用软盘

作为科技最发达的国家,你绝对想不到美国政府的IT基础设施有多么的陈旧和落后。......

关键字:美国 国防部电脑 软盘

[趣科技] 操控记忆?科学家剖开大脑深入研究记忆过程

操控记忆?科学家剖开大脑深入研究记忆过程

什么是记忆?1904年,德国生物学家理查德·西蒙提出了一个观点,指出记忆的痕迹是由一组不连续的大脑细胞连接之后拼凑起来的。他将这种想象中的生理回路称为“engram”,即“记忆痕迹”。在之后的时间里,记忆痕迹在科幻小说和“山达基”体系中一直......

关键字:大脑 记忆

[新鲜事] 朝鲜人上网是都爱干什么?

朝鲜人上网是都爱干什么?

据Mashable报道称,调研机构Recorded Future送出的一个新数据显示,在朝鲜有6成以上用户是可以上网的,而他们上网是可以自由自在的进行活动,阅读新闻,玩游戏、收发电子邮件,以及在亚马逊上搜索商品购物。......

关键字:朝鲜人 上网 上网痕迹

[猎聘集] 茅台招工每天工作5小时年入13万 应聘先测长跑

茅台招工每天工作5小时年入13万 应聘先测长跑

贵州茅台股价创出485元的高价,再度刷新历史纪录,成为中国股市目前单股股价最高的上市公司。股票受追捧,进茅台上班也一样成为抢破头的工作。......

关键字:茅台 工作 应聘
条评论

我 要 评 论

网友评论

技术子站

更多

项目外包

更多

推荐博客