ARM技术论坛
直播中

hsdou月半

8年用户 485经验值
擅长:MEMS/传感技术
私信 关注
[资料]

ARM的ICP与JTAG / SWD代码烧录方案与原理详解

1、ICP与JTAG / SWD代码烧录方案与原理详解
我们常见的MCU / CPU 代码烧录方式主要有以下三种:
ICP(In Circuit Programing):在电路编程,可通过CPU的Debug Access Port 烧录代码,比如ARM Cortex的Debug Interface主要是SWD(Serial Wire Debug)或JTAG(Joint Test Action Group);
ISP(In System Programing):在系统编程,可借助MCU厂商预置的Bootloader 实现通过板载UART或USB接口烧录代码,比如STM32存储映射Code分区中的System memory可以预置厂商的Bootloader,让MCU支持通过UART下载(不限于UART,具体由厂商预置Bootloader实现而定);
IAP(In Applicating Programing):在应用编程,由开发者实现Bootloader功能,比如STM32存储映射Code分区中的Flash本是存储用户应用程序的区间(上电从此处执行用户代码),开发者可以将自己实现的Bootloader存放到Flash区间,MCU上电启动先执行用户的Bootloader代码,该代码可为用户应用程序的下载、校验、增量/补丁更新、升级、恢复等提供支持,如果用户代码提供了网络访问功能,IAP 还能通过无线网络下载更新代码,实现OTA空中升级功能。
ICP 与 JTAG / SWD
ICP 主要通过CPU的DAP(Debug Access Port) 烧录代码,下面以ARM Cortex-M3/M4 为例,展示Debug Interface 如下:

原作者:流云IoT

更多回帖

发帖
×
20
完善资料,
赚取积分