ICP , ISP and IAP

ICP stands for "In Circuit Programming".

按照名字来理解,电子电路的硬件级别的芯片烧写。

一般是说当芯片已经安装或贴片到用户终端板卡了,这时使用JTAG协议、SWD协议或引导程序对微控制器的闪存进行编程。

如果是裸片,也一样可以使用ICP来烧写。

最开始程序存储是EPROM,更新程序需要取下来,用紫外线清除内容,再插上烧录器烧写。而EEPROM也是需要12V高压来清除, 工作电压是5V,所以要取出来操作, 很不方便,后来的Flash Memory可以在工作电压下直接进行读写,所以叫In Circuit programming。

一般是要烧写的芯片连接烧写器(一些端子和烧写功能相关),烧写器连接PC,运行PC上的烧写软件,将程序、数据或配置内容烧写到EEPROM,Flash芯片或MCU内部ROM/Flash上。

烧写的目标设备除了芯片外,还有可编程逻辑器件。

举个例子,下面这个松瀚的8位芯片烧写器,右边是卡槽,上面还要有个座子,座子里放芯片:

 

STM32芯片的烧录器,ST-Link,想必大家也很熟悉了。通过JTAG、SWD等接口和芯片连接,即可烧写程序。

新唐芯片的Nu-Link:

不同厂商的不同芯片,其烧写方式不同,都会有厂家自己的烧写器和烧录软件才支持,其内部的烧录协议也不尽相同,只不过主流大部分芯片都用的是JTAG或SWD等标准接口来作为烧录时的通讯接口。

自家的芯片什么样,自己最清楚,检测到自己芯片型号,然后自家品牌烧写器和芯片对接上,就能烧写程序了。

芯片自己对烧录功能的支持,看作是硬件级别的实现,出厂即固定,无可厚非。

具体烧写方式,可以是裸片烧写,比如上面的松瀚的那个烧写器。

也可以在板上完成,不需要将芯片取下来。比如:

1,通过定制治具,将探针和PCB设计时留下的TP(Test Point测试点)点接触,通过同样的原理烧写,这样适合大批量的烧写。

如下图:

2,使用TP点飞线出来做个接头,也可以PCB上留有通孔,直接插孔接烧写器。

ISP stands for "In System Programming".

相比ICP裸片级的烧录功能,ISP要高级一些。

目标芯片上会有一段烧录功能的程序,通过片上外设接口,USB/UART/SPI/I2C/RS-485/CAN等,来和外部程序通讯(PC主机上运行的软件),完成芯片烧写(程序、数据或配置的更新)。

拿新唐芯片举例,LDROM(Loader ROM)里的程序就是负责升级的代码,用来更新APROM(APP ROM,应用程序代码)、Data Flash和User Configuration Word(用户配置字),可以通过UART或USB接口和电脑主机连接,运行烧录软件烧写。

Freescale的iMX6芯片,里面就有内置的Boot ROM, 芯片通过USB接口和电脑相连,上电后通过检测boot0和boot1两个电平来进入boot模式,然后使用mfgtool烧写。

ICP和ISP烧写都要重新上电和复位后再开始烧写,烧写完成后断电或复位重启。

都是运行PC上的烧录软件,在PC上选取烧写程序,传输给芯片。

而下面的IAP就要灵活一些。

IAP stands for In-application-programming

IAP表示在应用运行中,就能够升级或烧写芯片的存储器(re-program the Flash memory

of a microcontroller),不需要重启就实现自我升级,可以升级完成后再重启。

比如新塘芯片,就支持IAP功能。

IAP升级,主要表示的含义是用户对于升级功能的定制和控制,由用户自己来实现自己需要的升级方式,功能更加灵活,更加强大。

比如可以通过无线通讯技术,BT等方式获得待烧写程序,然后将程序烧写到芯片内。当然也可以和ISP类似,从USB等接口上读取程序数据进行烧写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值