ISP、ICP、IAP三种编程方式区别总结

http://bbs.ic37.com/bbsview-33838.htm

ISP、ICP、IAP三种编程方式区别总结

本帖最后由 xpzheng888 于 2011-12-27 13:17 编辑

最近在整理客户的一些疑问,给自己充充电,也跟大家一起学习下。

ISP、ICP、IAP三种编程方式区别:

ISP:In SYSTEM Programing,在系统编程

ICP:In CIRCUIT Programing,在电路编程

IAP:In applicating Programing,在应用编程

新唐M0提供2种编程模式:ISP和ICP

ISP与ICP的差别

For ISP

(1) MCU必须处于可执行程序的状态 (除了上电,还要接XTAL),且必须预烧ISP-code(即ISP LDROM固件)在LDROM里面

(2)烧录范围只限于APROM, DataFlash或CONFIG (但对使用者来说,应该够了!)

(3) chip在LOCK的状态下,仍然可以只更新某一区块 (APROM, DataFlash或CONFIG)

(4)因为烧录的动作取决于ISP-code的写法,所以给系统设计者的弹性较大

(5)不需要额外硬件

For ICP

(1) MCU只要处于上电状态即可,不必预烧任何code在MCU里面

(2)烧录范围涵盖整颗MCU,包括 APROM, DataFlash, CONFIG, LDROM和 ROMMAP

(3) chip在LOCK的状态下,无法只更新某一区块,只能在erase-ALL之后,更新某一区块,再逐一烧回其它区块(因为ICP的本质就是走串行接口的Writer Mode, chip被LOCK之后,除了erase-ALL,所有烧录动作皆会被禁止)

(4)因为烧录纯粹是ICP硬件的行为, MCU无法自己更新自己,所以给系统设计者的弹性较小(例如:无法藉由ICP去实现IAP的功能)

(5)需要其他硬件支持(如NU-LINK等)

什么是 IAP (In-Application PROGRAMMING)

IAP指的是, MCU在运行的状态下,利用ISP的机制,不透过外接工具 (例如: ISP Programmer) 的帮忙,去更新APROM, DataFlash或 CONFIG.要实现这种功能,

系统必须有取得更新数据的能力,例如:处于某一种联机的状态.

(注:有时候, ISP/IAP的分别并不是那么清楚!我之前做得一个系统式通过网络服务器去IAP的)

形象点得描述是:

1、ISP是把房子拆了再重造一间,但是地基保留,那么在造好之前当然是不能住人的啦!

2、ICP是对房子地基与房子的整体重构;

2、IAP是在造好的房子里边进行一些装修,当然人可以继续住啦!

期待DX发表意见,拍砖!!!


Megawin 开发工具介绍

 

http://blog.sina.com.cn/s/blog_4e828b120100d8rx.html



你可能感兴趣的:(ISP、ICP、IAP三种编程方式区别总结)