虫虫wap建站源码,网站的建设费计入什么科目,wordpress连接网盘插件,网站推广网站策划目录
背景
1 什么是ICP
2 什么是ISP
3 什么是IAP
4 总结 背景
对于51单片机#xff0c;我们使用STC-ISP上位机软件通过串口进行程序的烧写#xff1b;对于STM32系列单片机#xff0c;我们既可以通过串口烧写程序#xff0c;也能通过JLink或是STLink进行程序的烧写我们使用STC-ISP上位机软件通过串口进行程序的烧写对于STM32系列单片机我们既可以通过串口烧写程序也能通过JLink或是STLink进行程序的烧写那么这些烧写方式有什么区别呢
1 什么是ICP
ICP(在电路编程 In Circuit Programming)使用SWD/JTAG接口进行烧录如Jlink、STLink等烧录器进行烧录。
以下是一个针对Cortex-M3内核的下载框图如果此时使用的是STM32F103系列单片机上位机使用的是Keil图中的调试主机PC可以认为是Keil调试器可以认为是第三方工具JLink或者STLink调试主机通过USB接口与调试器进行通信调试器通过JTAG或者SWD接口与单片机进行程序的下载及调试。 2 什么是ISP
ISP(在系统编程 In System Programming)在bootloader编程就是系统存储区。比如51单片机通过STC-ISP上位机软件烧写程序。
具备ISP的单片机必须有一块内部的FLASH区域这个区域不允许用户使用它通过boot pin的方式选择单片机复位之后PC指针是指向用户区域还是ISP区域。
这里以STM32F103系列单片机为例查看用户手册2.4章节分为BOOT1和BOOT0引脚BOOT1和BOOT0引脚不同的电平复位后PC指向的位置不同如下所示 查看闪存发现《信息块》处有一个《系统存储器》大小为2K这个就是STM32F103的ISP程序存放的位置此区域不允许用户修改当然也没有权限修改它用于使用芯片原厂的上位机软件或者第三方软件进行烧录使用。 下图是通过《STM32CubeProgrammer》上位机软件对STM32F103芯片进行连接的示意图注意BOOT0高电平BOOT1低电平使用串口1。 3 什么是IAP
IAP(在应用编程 In Application Programming)在mainflash上面分两块区域一个作为boot系统存储区一个作为app用户存储区具体实现就是在系统存储区把程序烧写完成然后通过拨PC指针指向用户存储区当然这个也是需要特定的上位机工具一般来说很多厂商都提供IAP工具也有很多第三方的上位机工具IAP功能类似USB的DFU。 4 总结
IAP所有单片机都支持的下载方式IAP程序需要用户自己编写并且取决于主Flash的大小如果太小不能装下IAPAPP程序那么就不能使用IAP下载程序。ISP目前大部分单片机支持的下载方式程序由芯片厂家提供下载接口多为串口也有USB、SPI。I2C等借助芯片厂家的烧录工具进行烧写比如51单片机的《STC-ISP》上位机STM32单片机的《STM32CubeProgrammer》上位机等。ICP目前大部分单片机支持的下载方式取决于芯片出厂是否预留下载接口常见的下载接口有SWD和JTAG接口如果存在这些下载接口可以使用第三方下载工具如JLink、STLink、DapLink进行程序的下载。