ISP和IAP原理解释

news/2024/7/8 4:51:26 标签: ISP, IAP

ISPIAP_0">ISPIAP

ISP_2">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_17">IAP

  • IAP的全称是:In Application Programming,即在应用编程。
  • 该操作需要工程师自己写BootLoader来实现,IAP需要两段程序,一段在主flash最开始的地方,为用户BootLoader,另一段在主flash中的其他区域,为APP,比如保存在0x08008000地址的程序,当MCU刚上电时,会执行用户BootLoader程序,需要注意,这里需要选择将BOOT0接低,也就是让从主flash中启动,工程师需要在用户BootLoader中实现接收数据并对非本程序所在地址flash区域编程的功能,这样用户将APP的bin文件发给用户BootLoader程序,BootLoader程序将APP的数据写到特定的地址中,比如0x08008000开始的地址,这样就实现了通过用户BootLodaer烧录APP的功能。
  • 烧录完成后,用户BootLoader程序中需要实现一个跳转指令,让程序直接跳到APP中,这样崭新的APP程序就跑起来了。
  • 上面这一整个流程就叫做IAP

http://www.niftyadmin.cn/n/5536469.html

相关文章

React 打包时如何关闭源代码混淆

React 开发中,使用 npm build 命令进行生产代码打包,为了压缩代码并尽量保证代码的安全性,React 打包时会代码进行压缩和混淆,但是有时我们需要 debug 生产环境的源代码,例如当我们调试 SSR 的项目时,需要禁…

Github 2024-07-01开源项目月报 Top15

根据Github Trendings的统计,本月(2024-07-01统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6JavaScript项目3C++项目2PHP项目1Blade项目1非开发语言项目1C#项目1Lua项目1Go项目1MDX项目1Jupyter Notebook项目1从零开始构建你喜…

数据资产的创新应用与未来展望:探讨数据资产在人工智能、物联网等新兴领域的应用前景,提出前瞻性的数据资产解决方案,为企业探索新的增长点,推动行业创新发展

目录 一、引言 二、数据资产在人工智能领域的应用 1、机器学习与深度学习 2、自然语言处理 3、计算机视觉 三、数据资产在物联网领域的应用 1、智能家居 2、工业物联网 3、智慧城市 四、前瞻性的数据资产解决方案 1、构建统一的数据管理平台 2、加强数据安全和隐私…

年化达21%(K=1),最大回撤35%,K=3时,卡玛比最优,最大回撤20%(年化15.2%)| Quantlab5.0代码发布

原创文章第578篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 Quantlab5.0代码发布: 值得说明,Quantlab5与4没有继承关系,5开始的思路是: 1、尽量少封装,保留回测框架最原始的功能。…

Linux—文件内系统与日志分析

目录 一、Linux文件系统 1、inode 与 block概述 1.2、inode内容 1.3、查找inode 1.4、inode故障处理 2、硬盘分区后的结构 3、访问文件的流程 4、文件恢复 4.1、恢复ext3格式文件 4.2、恢复 xfs 格式文件 二、Linux日志文件 1、日志的功能 2、日志的默认位置 3、日…

C++(week11):C++基础 第三章: 输入输出流

文章目录 三、C输入输出流1.概念(1)概念(2)流之间的关系 2.流的四种状态 (重点)3.标准输入输出流(1)标准输入流:istream、cin①恢复流的状态 (2)缓冲机制(3)标准输出流:ostream、cout(4)标准错误流 4.文件输入输出流 (重点)(1)文件输入流①文件输入流对象…

QT截屏,截取控件为图片,指定范围截屏三种截屏方式

项目中我们常用到截取屏幕,Qt给我的们多种方式: 主要有以下三种: 截取全屏;截取控件为图片;指定位置截屏三种截屏方式; 1.截取全屏 常用: 实现: QScreen *screen QGuiApplicat…

【Godot4.2】用PlantUML和语雀画UML类图

概述 UML:统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。PlantUML:是一个开源工具,它允许我们用文本形式来描绘和创建UML图。在VSCode中可以安装扩展来绘制,而在语雀的MarkDown编辑器中&#xff…