muyichuan2012 发表于 2022-7-2 10:19

MCU三种烧录方式ICP、IAP、ISP

本帖最后由 muyichuan2012 于 2022-7-2 10:27 编辑

MCU三种烧录方式ICP、IAP、ISP

来源:网络 IC测试座测试治具ICsocket发表于广东



单片机烧录方式主要分为三种:ICP、IAP、ISP。
[*]ICP (In Circuit Programing) - 在线电路编程
[*]ISP (In System Programing) - 在线系统编程
[*]IAP (In applicating Programing) - 在线应用编程

常用的下载方式有
[*]JTAG编程:通过JTAG协议进行编程
[*]SWD编程:通过SWD协议进行编程
[*]UART编程:通过UART进行编程

1. ICP

ICP是指“在电路编程”。一般需要 xx-Link 烧录工具,连接PC和MCU。常用的烧录工具为J-Link、AT-Link、ST-Link。与之配套的烧录软件为J-Flash、st-link utility、Artery_ICP_Programming_Tool。通过SWD接口进行烧录.比如AT32 MCU,PC上运行的软件“Artery ICP编程工具”透过SWD的端口更新MCU内部FLASH、SPIM FlASH、用户字节区(开启访问保护等)。

2. ISP
ISP是指“在系统上编程”。一般通过PC串口就可以下载程序(通常需要串口转换模块,比如PL2303、RS-485等)。比如AT32 MCU,目标芯片使用USB/UART/SPI/I²C/RS-485/CAN周边接口的LDROM引导代码去更新内部FLASH、SPIM FlASH、用户字节区(开启访问保护等)。


3. IAP
IAP是指“在应用上程序设计”,通过软件实现在线电擦除和编程的方法。IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。详情可查阅雅特力官网提供的AN0001 以及AP Tool.
总结:
[*]ICP:使用SWD接口进行烧录,如J-Link烧录器和J-Flash软件配合使用。
[*]ISP:使用引导程序(Bootload)加上外围UART/USB等接口进行烧录。
[*]IAP:软件自身实现在线电擦除和编程的方法,不使用任何工具。程序通常分成两块,分别为引导程序和应用程序。






5574293 发表于 2024-8-14 10:41

ISP和IAP选哪一种怎么去判断呢?

micoccd 发表于 2024-8-14 14:21

ISP需要单片机做什么处理吗

bestwell 发表于 2024-9-3 15:52

ICP,即在线编程,是一种通过专用的编程器直接连接到MCU的特定引脚来进行编程的方法。

loutin 发表于 2024-9-3 17:40

在嵌入式系统开发中,当需要对新设计的电路板进行程序调试时,可以使用 ICP 方式将开发好的程序烧录到 MCU 中,然后通过调试工具对程序进行单步调试、断点调试等操作,以查找和解决程序中的问题。

robincotton 发表于 2024-9-3 18:58

实现较为复杂,需要在固件中集成Bootloader,可能存在安全风险。

everyrobin 发表于 2024-9-3 21:27

ICP适合初始编程和小批量生产,ISP适合生产线上的直接编程和现场维护,而IAP适合远程升级和维护。

loutin 发表于 2024-9-4 10:04

与 ICP 方式相比,ISP 编程的速度通常较慢,特别是在使用低速通信接口时,编程时间可能会较长。

lzbf 发表于 2024-9-4 13:04

使用IAP技术,开发者可以实现设备的OTA(Over-The-Air)功能,即通过无线网络远程升级固件。这对于用户分散的设备特别有用,比如智能家居中的WiFi摄像头或者远程监控设备。

jimmhu 发表于 2024-9-4 16:08

ISP 是通过 MCU 芯片的特定通信接口(如 UART、SPI、I2C 等),使用外部编程设备对芯片内部的闪存进行编程。在编程过程中,外部编程设备将程序代码通过通信接口发送到 MCU,MCU 内部的引导程序(Bootloader)会接收并将程序代码写入到闪存中。

louliana 发表于 2024-9-5 10:13

IAP是通过软件实现在线电擦除和编程的方法。IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个

pentruman 发表于 2024-9-5 11:46

IAP是一种在MCU运行用户程序的同时,通过软件实现在线电擦除和编程的方法。这种方法允许用户在不中断系统正常运行的情况下,对MCU中的部分Flash区域进行更新。

pl202 发表于 2024-9-5 13:28

ICP是在电路编程的简称,指的是通过专用的编程器直接对MCU进行编程。

youtome 发表于 2024-9-5 15:05

IAP是在应用编程的简称,指的是通过软件程序来更新MCU的固件。

mollylawrence 发表于 2024-9-5 16:58

ISP是在系统编程的简称,指的是通过系统中的某个接口(如串口、JTAG等)对MCU进行编程。

uiint 发表于 2024-9-6 15:32

使用AT-Link、Artery ISP Programmer等工具,通过串口进行hex文件烧录下载。

uptown 发表于 2024-9-6 17:07

对于单片机开发者来说,ICP提供了强大的调试功能,包括实时查看变量值、单步执行等,有助于快速定位和修复问题。

sheflynn 发表于 2024-9-6 18:46

ICP是一种通过特定的接口(如JTAG或SWD)将程序烧录到MCU中的方法。这种方法需要在MCU处于电路中的状态下进行编程,通常用于生产过程中的调试和程序烧录。

mikewalpole 发表于 2024-9-6 20:27

ISP介于ICP和IAP之间,它允许在MCU已经安装在电路板上的情况下对其进行编程,而无需从电路板上拆卸下来。

youtome 发表于 2024-9-6 22:09

ICP适合小批量生产和调试,需要专用编程器和断电操作。
IAP适合现场升级和维护,通过软件程序进行更新。
ISP适合大批量生产和现场升级,可以在不断电的情况下进行编程。
页: [1] 2
查看完整版本: MCU三种烧录方式ICP、IAP、ISP