dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

单片机在线编程网侃单片机-ISP综合-ISP/IAP → 一种单片机固件IAP方案


  共有17209人关注过本帖树形打印

主题:一种单片机固件IAP方案

帅哥哟,离线,有人找我吗?
McuIsp
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 贴子:43 积分:626 威望:0 精华:1 注册:2009-05-13 03:09:30
一种单片机固件IAP方案  发贴心情 Post By:2009-05-13 20:28:59

 
导言

       基于FLASH存储器的微处理器,一个重要的需求是安装到产品中后,仍具有升级固件(firmware)的能力。这种能力称为“在应用中编程”(In-application-programming,IAP)。

       这篇应用笔记以STM32F 32位cortex-M3为例,阐述了构建IAP系统的一些通用概念。并提出了一种新的技术,有助于单片机开发人员更好的构建IAP系统。

       STM32系列微处理器基于FLASH存储器。在FLASH中运行的固件可以擦写FLASH本身。FLASH的头4KB具有写保护,适合存储IAP固件(IAP BootLoader)。

    IAP(In-application-programming)、ICP(In-circuit-programming)、ISP(In-system-programming):ICP是在电路板编程,IAP是在应用编程。ISP大部分时候指ICP,但少数MCU厂家将IAP称为ISP。

 

1.1          IAP系统的要求:

1.1.1     Safety(安全性):升级代码需要完整的、正确的写到Application Area。另外需要考虑到升级过程中断电、强干扰等意外事件。

1.1.2     Security(保密性):升级过程有可能被商业竞争对手入侵,因此需要采取加密手段。

1.1.3     Smart(灵巧性):BootLoader会挤占FLASH空间,因此应该尽量减小BootLoader占用的FLASH大小。

 

 

1           只占2KB的IAP BootLoader—一种同时满足Safety/Security/Smart的新技术:

1.1          需要解决的2个问题:

1.1.1     由于IAP BootLoader需要包含对FLASH进行擦写的指令,在强干扰的环境中,微处理器可能跑飞。如果跑飞到对FLASH进行擦写的指令段,有机会造成Application Code的失效,后果严重。


1.1.2     在Safety/Security和Smart之间,存在矛盾。要保证安全性和保密性,就会增加BootLoader的复杂性,从而称不上“Smart”。

 

 

1.1          要点:

1.1.1     IAP BootLoader In FlashèIAPPreLoader In Flash+IAPBurner In SRAM:

为了减小IAP BootLoader占用的空间,在FLASH中只存储一个装载程序IAPPreLoader(预引导程序),而真正完成IAP工作的代码IAPBurner(烧录者)存储在IAP Server中,或包含在升级代码中。

1.1.2     为了防止装载非法的IAPBurner,采用了散列函数算法。散列函数(Hash)是计算机领域的重要算法。具有以下特性:

1.1.2.1    压缩性。对任意长的数据,经hash算法得到一个固定长度的数据。比如我们常用的BT下载软件,就使用MD5算法的128bit摘要数据来代表文件块。

1.1.2.2    单向性。不可能从hash算法的结果逆推出源数据。

1.1.2.3    弱抗冲突性。给定一组数据,计算上不可能找出另一组具有同样hash结果的源数据。

1.1.2.4    强抗冲突性。计算上也不可能找出任意两组源数据,使它们具有相同的hash结果。

1.1.3     可以重复利用SRAM,装载多段IAPBurner程序,以完成更复杂的功能。

 

 

1.1          新IAP方案的有益效果:

1.1.1     减小IAP BootLoader占用的FALSH。

1.1.2     防止长期运行时跑飞到BootLoader,而误擦写代码。

1.1.3     允许增加IAP程序的复杂性,获得更强的加密性能。

1.1.4     由于IAPBurner的代码不存储在FLASH中,可以增加保密性。

 

全文pdf格式下载

 


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

一种单片机固件IAP方案








签名