0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么ISP?什么是IAP?

聚沃科技 2024-01-28 09:26 次阅读

单片机开发工程师经常会听到两个词:ISP和IAP,但新手往往对这两个概念不是很清楚,今天就来和大家聊聊什么是ISP,什么是IAP?

一、ISP

ISP的全称是:In System Programming,即在系统编程,该操作是通过MCU厂商出厂BootLoader来实现,通过ISP可以对主flash区域进行擦除、编程操作,还可以修改芯片的选项字节等。我们来看下GD32F30x用户手册中引导模式:

wKgZomW1rPCALbo_AAB-EooS260843.png

通过BOOT引脚可以让MCU有不同的引导模式,其中将BOOT0接高,BOOT1接低,此时上电后,MCU跑的是引导装载程序,该程序就是GD公司MCU出厂固化的BootLoader。简单而言就是,在这个模式下,MCU是在跑一段程序的,这个程序可以让你通过MCU上的一些固定接口如串口、USB等来实现对主flash区域等的操作,而通过这个程序进行主flash的烧写过程就是ISP。一般而言,ISP都需要一些上位机来配合操作,GD官方的是All-in-one工具:

wKgaomW1rPWAQaucAADHLESiS7s439.png

二、IAP

IAP的全称是:In Applicatin Programming,即在应用编程,该操作需要工程师自己写BootLoader来实现。IAP需要两段程序:一段在主flash最开始的地方,为用户BootLoader;

wKgZomW1rPqAJ5BFAACJYyIwbgc150.png

另一段在主flash中的其他区域,为APP,比如保存在0x08008000地址的程序:

wKgaomW1rP6AQuWYAABvWmVT9Jg132.png

当MCU刚上电时,会执行用户BootLoader程序(需要注意:这里需要选择将BOOT0接低,也就是让从主flash中启动),工程师需要在用户BootLoader中实现接收数据并对非本程序所在地址flash区域编程的功能,这样用户将APP的bin文件发给用户BootLoader程序,BootLoader程序将APP的数据写到特定的地址中,比如0x08008000开始的地址,这样就实现了通过用户BootLoader烧录APP的功能。烧录完成后,用户BootLoader程序中需要实现一个跳转指令,让程序直接跳到APP中,这样崭新的APP程序就跑起来啦。上面这一整个流程,就叫做IAP。

好了,现在小伙伴们知道什么是ISP,什么是IAP了吗?还有不懂的,欢迎评论区留言哦,悄悄说一句,我们有GD各系列的用户BootLoader Demo程序哦。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632839
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16984

    浏览量

    350263
  • 嵌入式
    +关注

    关注

    5068

    文章

    19014

    浏览量

    303131
  • ISP
    ISP
    +关注

    关注

    6

    文章

    476

    浏览量

    51708
  • IAP
    IAP
    +关注

    关注

    2

    文章

    163

    浏览量

    24247
收藏 人收藏

    评论

    相关推荐

    ISPIAP 功能

    void ISP_IAP_enable(void){EA = 0;ISP_CONTR = ISP_CONTR & 0x18;ISP_CONTR =
    发表于 05-13 17:36

    单片机烧录方式ISP/IAP和ICP的区别

    单片机ISPIAP和ICP几种烧录方式的区别
    发表于 01-29 06:23

    ISPIAP和ICP的区别是什么

    ISPIAP和ICP的区别是什么ISPIAP有什么区别ISPIAP的工作原理及在单片机中的
    发表于 03-10 06:47

    单片机ISPIAP和ICP烧录区别是什么?

    单片机ISPIAP和ICP几种烧录方式的区别ISPIAP的工作原理ISPIAP在单片机中的
    发表于 04-02 07:01

    ISPIAP、ICP的区别与联系是什么

    STM32的ISP下载原理引言正文ISP的概念ISPIAP、ICP的区别与联系什么是DFUISP下载原理引言上一篇提到了ISP,这篇文章给
    发表于 07-13 09:22

    ISPIAP的区别有哪些?它们之间有啥联系?

    ISP的原理是什么?ISPIAP的区别有哪些?它们之间有啥联系?
    发表于 09-23 08:36

    在线编程ISPIAP带来的好处和缺点分别有哪些呢

    如何对MCU芯片程序进行烧录呢?在线编程ICP、ISPIAP带来的好处和缺点分别有哪些呢?
    发表于 01-24 06:24

    ICP、ISPIAP是啥意思

    首先来了解以下ICP、ISPIAP是啥意思?ICP:In Circuit Programing,在电路编程;ISP:In System Programing,在系统编程;IAP:In
    发表于 01-26 07:42

    ISPIAP介绍和比较

    1,ISPIAP介绍和比较STM32F103单片机默认支持ISP(在系统编程In System Programming, ISP),即通过ISP
    发表于 02-15 06:06

    ISPIAP的区别

    ISPIAP的区别       IAP: in applicatin progr
    发表于 12-28 11:28 1706次阅读

    ISPIAP的区别详解

    本内容详细解释了ISPIAP的区别,但两者的操作方式,结果和应用场合有什么区别
    发表于 02-02 15:14 1.4w次阅读

    浅析ICP与ISP、及IAP三种单片机烧录方式

    首先来了解以下ICP、ISPIAP是啥意思?ICP:In Circuit Programing,在电路编程;ISP:In System Programing,在系统编程;IAP:In
    发表于 12-02 11:36 9次下载
    浅析ICP与<b class='flag-5'>ISP</b>、及<b class='flag-5'>IAP</b>三种单片机烧录方式

    STC单片机在线ISP IAP OTA

    STC单片机在线ISP IAP OTA
    发表于 12-03 18:21 25次下载
    STC单片机在线<b class='flag-5'>ISP</b> <b class='flag-5'>IAP</b> OTA

    单片机三种烧录方式ISPIAP和ICP有什么不同?

    单片机三种烧录方式ISPIAP和ICP有什么不同?
    发表于 12-03 18:36 14次下载
    单片机三种烧录方式<b class='flag-5'>ISP</b>、<b class='flag-5'>IAP</b>和ICP有什么不同?

    单片机三种烧录方式ISPIAP和ICP有什么不同?

    单片机三种烧录方式ISPIAP和ICP有什么不同?
    发表于 12-03 19:06 12次下载
    单片机三种烧录方式<b class='flag-5'>ISP</b>、<b class='flag-5'>IAP</b>和ICP有什么不同?