塘坑网站建设,辛集建设网站,项目网app,北京检查站优化做单片机开发的工程师经常会听到两个词#xff1a;ISP和IAP#xff0c;但新手往往对这两个概念不是很清楚#xff0c;今天就来和大家聊聊什么是ISP#xff0c;什么是IAP#xff1f;
一、ISP
ISP的全称是#xff1a;In System Programming#xff0c;即在系统编程…做单片机开发的工程师经常会听到两个词ISP和IAP但新手往往对这两个概念不是很清楚今天就来和大家聊聊什么是ISP什么是IAP
一、ISP
ISP的全称是In System Programming即在系统编程该操作是通过MCU厂商出厂BootLoader来实现通过ISP可以对主flash区域进行擦除、编程操作还可以修改芯片的选项字节等。我们来看下GD32F30x用户手册中引导模式 通过BOOT引脚可以让MCU有不同的引导模式其中将BOOT0接高BOOT1接低此时上电后MCU跑的是引导装载程序该程序就是GD公司MCU出厂固化的BootLoader。简单而言就是在这个模式下MCU是在跑一段程序的这个程序可以让你通过MCU上的一些固定接口如串口、USB等来实现对主flash区域等的操作而通过这个程序进行主flash的烧写过程就是ISP。一般而言ISP都需要一些上位机来配合操作GD官方的是All-in-one工具 二、IAP
IAP的全称是In Applicatin Programming即在应用编程该操作需要工程师自己写BootLoader来实现。IAP需要两段程序一段在主flash最开始的地方为用户BootLoader 另一段在主flash中的其他区域为APP比如保存在0x08008000地址的程序: 当MCU刚上电时会执行用户BootLoader程序需要注意这里需要选择将BOOT0接低也就是让从主flash中启动工程师需要在用户BootLoader中实现接收数据并对非本程序所在地址flash区域编程的功能这样用户将APP的bin文件发给用户BootLoader程序BootLoader程序将APP的数据写到特定的地址中比如0x08008000开始的地址这样就实现了通过用户BootLoader烧录APP的功能。烧录完成后用户BootLoader程序中需要实现一个跳转指令让程序直接跳到APP中这样崭新的APP程序就跑起来啦。上面这一整个流程就叫做IAP。
好了现在小伙伴们知道什么是ISP什么是IAP了吗还有不懂的欢迎评论区留言哦悄悄说一句我们有GD各系列的用户BootLoader Demo程序哦。
更多GD32 MCU相关咨询https://www.gd32bbs.com/