ICP、ISP、IAP、JTAG、SWD下载方式

目录

ICP、ISP、IAP、JTAG、SWD下载方式

概述

JTAG

SWD

ICP

ISP

IAP

ISP与ICP的差别

ISP和IAP的差别


ICP、ISP、IAP、JTAG、SWD下载方式

概述

JTAG和SWD是一种标准协议,包含硬件标准和软件标准。ICP、ISP和IAP属于实际烧录程序的方式。

JTAG

优点:

  1. 不限于ARM内核单片机,能支持更多的单片机调试和下载

  2. 因为1的原因,所以使用范围更广

缺点:

  1. 需要更多的脚位

SWD

优点:

  1. 引脚数少,有利于节约电路板尺寸

  2. SWD具有其特殊功能,比如能通过I/O打印调试信息

  3. 在高速大数据情况下,SWD整体性能比JTAG更好

缺点:

  1. SWD是ARM设计的协议,主要针对他们的内核的芯片进行程序调试和下载

ICP

ICP:In Circuit Programing 在电路编程

主要烧录方式:可通过CPU的Debug Access Port 烧录代码,比如ARM Cortex的Debug Interface主要是SWD或JTAG

ISP

IAP:In System Programing 在系统编程

主要烧录方式:在系统编程,可借助MCU厂商预置的Bootloader 实现通过板载UARTUSB接口烧录代码,比如STM32存储映射Code分区中的System memory可以预置厂商的Bootloader,让MCU支持通过UART下载(不限于UART,具体由厂商预置Bootloader实现而定)

用烧写器将code写入Flash,芯片在目标开发板,不脱离系统,即称在系统编程。

例如:STM32 在出厂时由ST 在这个存储区间内部预置了一段BootLoader(也即ISP 程序),这段程序出厂后无法修改。厂家提供的BootLoader 一般支持UART 协议,可以让我们直接通过串口将程序代码烧录到Main Flash memory 中。

IAP

IAP:In applicating Programing 在应用编程

主要烧录方式:由开发者实现Bootloader功能,比如STM32存储映射Code分区中的Flash本是存储用户应用程序的区间(上电从此处执行用户代码),开发者可以将自己实现的Bootloader存放到Flash区间,MCU上电启动先执行用户的Bootloader代码,该代码可为用户应用程序的下载、校验、增量/补丁更新、升级、恢复等提供支持,如果用户代码提供了网络访问功能,IAP 还能通过无线网络下载更新代码,实现OTA空中升级功能。

ISP与ICP的差别

For ISP

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

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

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

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

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的功能)

ISP和IAP的差别

For ISP

  1. ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了

  2. ISP一般是厂家已经写好的程序,不允许修改

For IAP

  1. 更新升级不需要到现场,例如:可通过无线网络下载更新代码,实现OTA空中升级功能

  2. IAP可由开发者自己实现Bootloader功能,更加灵活

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值