什么ISP?什么是IAP?
做单片机开发的工程师经常会听到两个词: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/
相关文章:
什么ISP?什么是IAP?
做单片机开发的工程师经常会听到两个词:ISP和IAP,但新手往往对这两个概念不是很清楚,今天就来和大家聊聊什么是ISP,什么是IAP? 一、ISP ISP的全称是:In System Programming,即在系统编程&…...
外卖霸王餐系统怎么快速盈利赚钱?
微客云外卖霸王餐系统,作为近年来外卖行业中的一股新兴力量,以其独特的商业模式和营销策略,迅速吸引了大量消费者的目光。该系统通过提供显著的折扣和返利,让顾客能够以极低的价格甚至免费享受到美味的外卖,同时&#…...
Linux环境下安装Nodejs
Linux环境下安装Nodejs 下载地址:https://nodejs.org/zh-cn/download/package-manager 一、使用压缩包自定义安装 上述链接下载好对应版本的软件包后,我存放到 /evn/nodejs 目录下(根据自己实际情况设置) 设置软链接 sudo ln…...
【Rust】字符串String类型学习
什么是String Rust的核心语言中只有一个String类型,那就是String slice,str通常被当作是&str的借用。String类型是通过标准库提供的,而不是直接编码到核心语言中,它是一个可增长的、可变的、utf-8编码的类型。str和String都是utf-8编码的…...
先验概率 后验概率 最大似然估计 自编码器AE
先验概率 先验概率:由因求果中的因 作用:后验概率是比较难以计算的,我们通常使用贝叶斯公式由先验概率计算后验概率。 贝叶斯公式:P(B|A)P(A|B)P(B)/P(A),其中P(B|A)为后验概率,P(A|B)为先验概率。 后验…...
qt 鼠标接近某线时,形状变化举例
1.qt 鼠标接近某线时,形状变化举例 在Qt中,要实现鼠标接近某条线时形状发生变化的效果,你需要利用QWidget的enterEvent和leaveEvent,或者更通用的mouseMoveEvent来检测鼠标的位置,并相应地改变鼠标的光标形状。 以下…...
800块,我从淘宝上买AGV……
导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 从淘宝上打算够购买一台AGV小车,上去一搜,嘿,你别说,还真有。便宜的才200块钱。 很兴奋把…...
C++相关概念和易错语法(21)(虚函数、协变、析构函数的重写)
多态的核心是虚函数,本文从虚函数出发,根据原理慢慢推进得到结论,进而理解多态 1.虚函数 先看一下下面的代码,想想什么导致了这个结果 #include <iostream> using namespace std;class A { public:virtual void test(){co…...
SoulApp创始人张璐团队以AI驱动社交进化,平台社交玩法大变革
在科技飞速发展的今天,人工智能正逐步渗透到社交媒体的各个环节,赋能全链路社交体验。AI的引入不仅提升了内容推荐的精准度,使用户能够更快速地发现感兴趣的内容,还能通过用户行为预测,帮助平台更好地理解和满足用户需求。此外,AI驱动的虚拟助手和聊天机器人也正在改变用户互动…...
MySQL事务隔离级别+共享锁,排他锁,乐观锁,悲观锁
在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)。 MySQL事务隔离级别 一个事务的执行,本质上就是一条工作线程在执行,当出现多个事务同时执行时,这种情况则被称之为并发事务&am…...
Zynq系列FPGA实现SDI编解码转SFP光口传输(光端机),基于GTX高速接口,提供6套工程源码和技术支持
目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案在Xilinx-Kintex7上的应用 3、详细设计方案设计原理框图输入Sensor之-->OV5640摄像头输入Sensor之-->HDMIVDMA图像缓存RGB转BT1120GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGBHDMI输…...
SpringBoot实现图形验证码
目录 项目创建 前端代码实现 约定前后端交互接口 需求分析 接口定义 Hutool工具 实现服务器端代码 引入依赖 获取验证码 验证码校验 调整前端代码 随着安全性的要求越来越高,目前许多项目中都使用了验证码,验证码也有各种类型,如 …...
【JVM基础01】——介绍-初识JVM运行流程
目录 1- 引言:初识JVM1-1 JVM是什么?(What)1-1-1 概念1-1-2 优点 1-2 为什么学习JVM?(Why) 2- 核心:JVM工作的原理(How)⭐2-1 JVM 的组成部分及工作流程2-2 学习侧重点 3- 小结(知识点大纲):3-1 JVM 组成3…...
图数据库 - Neo4j简介
深入理解 Neo4j 与 Cypher 语法 什么是 Neo4j Neo4j 是一个基于图的数据库管理系统,它使用图形理论来表示数据关系。这种数据库与传统的关系型数据库不同,它更适合处理高度互联的数据结构。 基本概念 图:在 Neo4j 中,数据以图的…...
C#环境与数据类型
文章目录 C#环境.NET 框架集成开发环境 创建一个C#项目数据类型值类型引用类型对象类型object动态类型dynamic字符串类型string 指针类型 类型转换隐式转换显示转换(强制转换)C#提供的类型转换方法Convert类Parse方法TryParse方法 C#环境 .NET 框架 C#是…...
jenkins系列-06.harbor
https://github.com/goharbor/harbor/releases?page2 https://github.com/goharbor/harbor/releases/download/v2.3.4/harbor-offline-installer-v2.3.4.tgz harbor官网:https://goharbor.io/ 点击 Download now 链接,会自动跳转到上述github页面&am…...
kotlin get set
在 Kotlin 中,如果想实现一个类的属性可以从外部读取但不能修改,可以使用自定义的 getter 和 private setter。以下是一个示例代码: class MyClass {var myProperty: Stringprivate set // 使 setter 私有化,外部无法修改get // …...
Flask包算法服务
常规包算法服务,就是比较简单,直接起一个fastapi就可以了。 import time import asyncio from aidraw import engineer_log as eng from fastapi import FastAPI from pydantic import BaseModel from typing import Optional from aidraw.ardraw import run_aidraw_api# 起…...
Flowable(一个开源的工作流和业务流程管理引擎)中与事件相关的一些核心概念
Flowable(一个开源的工作流和业务流程管理引擎)中与事件相关的一些核心概念 Flowable(一个开源的工作流和业务流程管理引擎)中与事件相关的一些核心概念,包括它们的作用和触发场景。以下是对这些内容的简要说明&#x…...
深度解析:景区客服系统如何助力旅游业可持续发展
一、引言 在全球化与信息化交织的时代背景下,旅游业正以前所未有的速度发展,成为推动经济增长、文化交流与环境保护的重要力量。景区作为旅游业的核心组成部分,其服务质量和管理水平直接影响到游客的满意度和行业的可持续发展。景区客服系统…...
H桥驱动直流电机效率计算与优化实践
1. H桥驱动直流电机的效率计算原理在嵌入式系统设计中,H桥电路是驱动直流电机最常用的拓扑结构。作为一名有十年电机驱动开发经验的工程师,我经常需要评估不同H桥方案的效率表现。很多人对"MOS管效率高于三极管"这类结论只有模糊认知ÿ…...
利用计算机视觉进行跑步效率分析:与埃利乌德·基普乔格的比较分析
原文:towardsdatascience.com/running-efficiency-with-computer-vision-a-comparative-analysis-with-eliud-kipchoge-736eb80c574f 如何利用计算机视觉提高跑步效率? https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/…...
Youtu-2B开源部署教程:腾讯优图LLM一键运行实践
Youtu-2B开源部署教程:腾讯优图LLM一键运行实践 1. 项目简介与核心价值 Youtu-2B是腾讯优图实验室推出的轻量化大语言模型服务,基于Tencent-YouTu-Research/Youtu-LLM-2B模型构建。这个模型虽然体积小巧,但在多个关键任务上表现出色&#x…...
【电池容量提取+锂电池寿命预测】 基于Transformer-BiGRU的锂电池剩余寿命预测Matlab代码(单变量)
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。👇 关注我领取海量matlab电子书和数学建模资料🍊个人信条:格物致知,完整Matl…...
如何降低seo关键字价格
如何降低SEO关键字价格 在当今竞争激烈的互联网市场中,搜索引擎优化(SEO)已经成为企业提升网站流量和品牌知名度的重要手段。其中,关键字的选择和优化直接影响到SEO的效果。关键字的价格往往高昂,特别是竞争度较高的关…...
标书制作入门
电子标书时代来了,但很多中小企业还在用老方法踩坑🕳️ 伟发标书10年经验,今天说点大实话👇一、电子标书不是"纸质版扫描件"📄 很多人以为电子标书就是把纸质文件转成PDF,大错特错❌ 真正的电子标…...
陈强的笔记
1. 原子性要求:关系的分量必须是不可分的数据项,禁止“表中表”,这是关系模型的核心约束。2. 三类完整性的区分:实体完整性针对主码,参照完整性针对外码,用户定义完整性针对业务规则,三者缺一不…...
PlugY终极指南:暗黑破坏神2单机玩家的生存套件完整教程
PlugY终极指南:暗黑破坏神2单机玩家的生存套件完整教程 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 还在为暗黑破坏神2单机模式储物空间不足而烦恼吗&…...
突破音乐格式限制的全方位解决方案:让你的音频文件重获自由
突破音乐格式限制的全方位解决方案:让你的音频文件重获自由 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: …...
AI驯服“人造太阳”:等离子体物理的智能革命
AI驯服“人造太阳”:等离子体物理的智能革命 引言 可控核聚变,被誉为人类能源的“终极梦想”。然而,驾驭上亿度的等离子体——这团“人造太阳”,其复杂性与不稳定性让科学家们挑战了数十年。如今,人工智能(…...
