MCU烧录方式有什么区别?

2023-11-13

1.MCU程序烧录方式

最近刚好接触到MCU烧录这一块的东西,综合以前学的一些零散的和目前掌握的相关资料,主要有以下几种相关的方式:ISP,IAP以及ICP。它们都是对MCU进行编程,但具体的方式有所不同,下面详细了解下每个编程方式的特点。

1.ISP

ISP的全称为 In System Programing ,翻译过来为在系统编程。

所谓的在系统编程是指在整块电路板上进行编程,不用将芯片单独拆下来,最终是将整个工程的文件进行烧录。支持ISP的芯片一般在出厂时在芯片内部固化了一段boot程序,我们在硬件电路中留出串口接口,通过上位机软件即可将程序灌入MCU中。

以下是STM32G4芯片的启动方式,主要有从Flash启动系统存储器启动SRAM启动三种启动方式,可以看出通过控制BOOT0或者BOOT1可以控制芯片的启动方式。

下图是STM32G4芯片编程手册上的介绍,可以看出我们将BOOT0拉高后,再将BOOT1OPTR寄存器的bit23以及nSWBOOT0的OPTR寄存器的bit26置1程序即可从我们的系统存储器启动,也就是我们ISP下载的程序。

 为什么从系统存储器启动的程序就是我们通过串口或者其他方式下载的程序了,主要是ST官方在芯片出厂时将一段自举程序(BOOTLoader)放到系统存储区了,而我们的上位机是满足这段程序的协议的,下图是ST手册上提供的地址映射图,可以看出系统存储区是从0x1FF 7000开始的,而我们通过串口下载的程序是放在以0x0800 0000开头的Flash里面的。

提到了BOOTLoader程序,那么ST所生产的片子所有的BOOTLoader程序会是一样的么,答案肯定不是的。比如我们常用的STM32F1的片子,一般只有USART1支持ISP下载,但以STM32G4的片子来看,可以有多种的通讯接口,下图为G4片子可以进行下载程序的通讯接口: 

可以看出,几乎所有的通讯接口均可以满足。但要注意的是我们在使用通讯接口时必须要和对应的引脚对应上,否则会出现和上位机连接失败的问题。

2.ICP

ICP的全称为In Circuit Programing,翻译过来为在电路编程。

我们常用的ST-Link,J-Link一般来讲都属于ICP的范围内,我们常说的ISP编程其实也可以划分在ICP的范围内。

2.总结:

本文主要介绍了ISP编程和ICP编程,着重以STM32G4芯片为例详细说明了ISP编程的细节部分,由于篇幅有限,下篇文章继续聊一聊IAP,我们下期再见。

如果本文帮助到了你,请转发,点赞,分享给你的朋友。由于作者能力和水平有限,文中难免存在错误和纰漏,请不吝赐教。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MCU烧录方式有什么区别? 的相关文章

  • styled-components常见使用方法

    yarn add styled components import styled from styled components 1 基础使用 const BoxStyle styled div color red 2 UI组件加样式 imp
  • 数据结构-malloc申请动态空间-链表的创建

    一 malloc申请动态空间注意以下事项 1 malloc申请动态空间时必须声明类型 2 使用malloc申请的空间在使用完成之后必须使用free释放 3 malloc申请空间的类型必须和指向他的指针类型匹配 such as int p p

随机推荐

  • 挖掘视频网站【优酷】上被截断的视频的地址--001

    不知道大家看视频的时候有没有注意过 一个稍微长的视频 比如超过20分钟 你刚开始看的时候暂停播放 它的进度条会在中途某一个位置停止加载 当你把播放位置调节到那个停顿的地方 视频又开始继续加载 如果视频还有很多 它会停顿很多次 我们不禁要问
  • 网管实战(7):CISCO网管设备学习笔记

    虽然现在管理的都是华为和H3C的网络设备 但有时候还是要管理一些思科的设备 比如CISCO 4506 CISCO 6504 3750等 作为网管小白 很多时候都需要查一些命令来操作 这里是我2019年9月25日开始学习CISCO设备时的学习
  • 给Delphi社群的公开信

    给Delphi社群的公开信 Borland RAD部门副总裁
  • php爬虫教程(五)提高爬虫抓取效率

    之前有一次抓取x浪图片库的时候200w图片跑了一整天的时间 后来采取多进程抓取提高了很高的效率 多进程的实现可以参考这个方法 http blog csdn net u014017080 article details 46925725 主进
  • 《代码大全2》第2章 用隐喻来更充分地理解软件开发

    Code Complete 2 持续更新中 来杯咖啡的博客 CSDN博客这本书有意设计成使你既可以从头到尾阅读 也可以按主题阅读 1 如果你想从头到尾阅读 那么你可以直接从第2章 用隐喻来更充分地理解软件开发 开始钻研 2 如果你想学习特定
  • 眼图 非差分线_利用眼图解决USB在布线中的信号完整性问题

    通用串行总线USB Universal Serial Bus 协议从1 0版本发展到现在 由于数据传输速度快 接口方便 支持热插拔等优点使USB设备被越来越多人使用 目前 市场上以USB2 0为接口的产品越来越多 而绘制符合要求的PCB板在
  • WSL2端配置pytorch GPU加速环境

    Windows端Pytorch GPU加速的教程 Pytorch使用GPU加速的步骤 前置教程 WSL2安装及其python环境配置 配置好WSL2相关环境后 要想对pytorch进行GPU加速 需要进行以下步骤 更新Windows系统 只
  • LeetCode-Python-(206)反转链表

    反转链表 反转一个单链表 示例 输入 1 gt 2 gt 3 gt 4 gt 5 gt NULL 输出 5 gt 4 gt 3 gt 2 gt 1 gt NULL 解题思路 参考博客 代码 class Solution def revers
  • Ceph 存储集群 - 搭建存储集群

    一 准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群 STORAGE CLUSTER 一共4台机器 其中1个是管理节点 其他3个是ceph节点 hostname ip role 描述 admin node 192 16
  • HTTP和HTTPS的区别?

    目录 HTTP HTTPS HTTP与HTTPS区别 HTTPS相比于HTTP协议的优点和缺点 优点 缺点 HTTP HTTP是超文本传输协议 HTTP协议是基于传输层的TCP协议进行通信 通用无状态的协议 80端口 HTTPS HTTPS
  • 【标准化方法】(3) Group Normalization 原理解析、代码复现,附Pytorch代码

    今天和各位分享一下深度学习中常用的标准化方法 Group Normalization 数据分组归一化 向大家介绍一下数学原理 并用 Pytorch 复现 Group Normalization 论文地址 https arxiv org pd
  • 关于STM32单片机的I/O口配置

    最近在看数据手册的时候 发现在Cortex M3里 对于GPIO的配置种类有8种之多 1 GPIO Mode AIN 模拟输入 2 GPIO Mode IN FLOATING 浮空输入 3 GPIO Mode IPD 下拉输入 4 GPIO
  • CString转char[]在unicode下几种方法

    在 Unicode 编码下 将 CString 转换为 char 类型有多种方法 以下是其中的几种 方法一 使用 CString 的 GetBuffer 方法 可以使用 CString 的 GetBuffer 方法获取字符指针 然后将指针转
  • 6、类和对象作业

    类和对象作业 一 填空题 1 类是组成Java程序的基本要素 类体有两部分构成 一部分是变量的定义 另一部分是 的定义 2 执行Person p new Person 语句后 将在 中给Person对象分配空间 并在栈内存中给引用变量p分配
  • LateX数学公式

    文章目录 一 希腊字母 1 小写希腊字母 2 大写希腊字母 3 全部希腊字母表 二 上下标 1 上下标是一个字符 2 上下标多于一个字符 3 不同的英文字母 1 i表示变量 2 i表示输入 3 补充 4 常量字母 三 分式与根式 1 分式
  • kaggle通过API下载数据集主要事项及指定路径保存

    每次下载新的数据集都需要重新操作接受规则 Rules gt 下载 json 文件 gt 将新的 json 文件放入到 kaggle 文件夹中 否则下载时 会出现错误 更改默认下载地址 kaggle config set n path v l
  • 双快门锁教程_双快功能的锁体的制作方法

    本发明属于一种双快功能的锁体 背景技术 我们知道 不管是机械式锁体 还是电子式锁体 往往都设有斜舌组件 方舌组件 天地销 联动板等 人们在门内 外操作执手或钥匙来斜舌组件 方舌组件推出去锁门或拉回来缩回到壳体内来开门的同时 通过联动板来将天
  • 计算机网络课好难啊,【知乎】计算机网络这门课为何如此之难

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 操作系统和计算机网络的共同点 在于它们都是相当复杂的体系结构 如果觉得难 也许是因为自己没能产生足够的求知欲 你也说了 无聊 晦涩 而无聊感其实是没治的 对课程的热情和对女生的爱慕感其实差不多
  • 字节秋招二面把我干懵了,问我SYN报文什么情况下会被丢弃?

    大家好 我是小林 之前有个读者在秋招面试的时候 被问了这么一个问题 SYN 报文什么情况下会被丢弃 好家伙 现在面试都问那么细节了吗 不过话说回来 这个问题跟工作上也是有关系的 因为我就在工作中碰到这么奇怪的问题 客户端向服务端发起了连接
  • MCU烧录方式有什么区别?

    1 MCU程序烧录方式 最近刚好接触到MCU烧录这一块的东西 综合以前学的一些零散的和目前掌握的相关资料 主要有以下几种相关的方式 ISP IAP以及ICP 它们都是对MCU进行编程 但具体的方式有所不同 下面详细了解下每个编程方式的特点