认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇6

4 启动配置(Boot configuration)

4.1 启动模式选择

启动模式由 BOOT1:0 引脚组合决定。

|----------|-----------|-----------|---------------------------|------------------------|
| 启动模式 | BOOT1 | BOOT0 | 启动存储器 | 说明 |
| 主 Flash | 0 | 0 | 0x0000 0000 - 0x0007 FFFF | 主 Flash 存储器作为启动区 |
| 系统存储器 | 0 | 1 | 0x1FF0 0000 起(容量 2KB) | 出厂内嵌自举程序,经 USART1 串口烧写 |
| 内嵌 SRAM | 1 | 1 | 0x2000 0000 - 0x2000 3FFF | SRAM 作为启动区,调试用 |

BOOT1:0 引脚在系统复位后第 4 个 SYSCLK 上升沿被锁存。

退出 Standby 模式时,BOOT1:0 引脚重新采样,启动模式随之重新确定。

启动延迟结束后,CPU 从 0x0000 0000 取栈顶值,从 0x0000 0004 开始执行代码。

4.2 启动引脚连接

选择启动存储器所需的外围连接如下。

4.3 内嵌自举程序模式

用途:重烧 Flash。

激活接口按容量档位区分:

  • 低密度、低密度价值型、中密度、中密度价值型、高密度:USART1
  • XL 密度:USART1,或 USART2 重映射
  • 互联型:USART1,USART2 重映射,CAN2 重映射,USB OTG FS Device 模式 DFU

USART 走内部 8 MHz HSI 工作。CAN2 与 USB OTG FS 必须外接 HSE,常见 8 MHz、14.7456 MHz、25 MHz。

自举程序固化在 System memory,出厂由 ST 烧写。

这里需要注意下,使用串口下载程序时,对晶振没有要求,使用USB和CAN时,类似DFU,必须使用晶振,外部时钟必须提供以下其中一种频率: 8 MHz、14.7456 MHz或25 MHz。

对于STM32F105xx/107xx器件,如果外部HSE晶振频率不等于25 MHz(14.7456 MHz或8 MHz),则器件在与主机建立正确连接之前,将执行多个失败的枚举(包含连接/断开连接 序列)。这是由基于帧起始(SOF)检测的HSE自动检测机制引起的。(来自:https://www.st.com.cn/resource/zh/application_note/an2606-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf)

串口或者USB可以直接使用STM32CubeProgrammer

can没有提供上位机工具,可以参考协议自己实现IAP功能https://www.st.com/resource/zh/application_note/an3154-can-protocol-used-in-the-stm32-bootloader-stmicroelectronics.pdf

在解释下IAP、ISP 的关系

  • IAP(In-Application Programming,在应用编程):用户自己编写的 Bootloader,放在 Flash 分区中,靠它完成固件升级和跳转 APP;
  • ISP(In-System Programming,在系统编程) :很多芯片(如 STM32)出厂时在**系统存储器(Boot ROM)**中固化了一段厂家 Bootloader,通过 BOOT0/BOOT1 引脚选择从用户 Flash、系统存储器还是 SRAM 启动------从系统存储器启动就进入厂家的 ISP 下载模式,且该区域用户不可修改;

工程中一般使用IAP,做加密,固件版本核对, AB版本配合外部看门狗实现防止变砖或者等等其他功能,一般不会直接使用ISP。

相关推荐
国科安芯1 小时前
核电站蒸汽发生器传热管在役无损检测模拟前端的低噪声供电研究
嵌入式硬件·ldo·低压差线性稳压器·无损检测·核电站·蒸汽发生器·传热管
集芯微电科技有限公司2 小时前
40V/24A高频率增强型GaN HEMT功率开关管/高频DC转换/电动工具/GaN充电器 方案首选
人工智能·科技·单片机·嵌入式硬件·深度学习·神经网络·生成对抗网络
十八岁牛爷爷2 小时前
STM32H7 长时间运行后 HTTP 断连:从“串口还活着”到 TX 描述符错账
stm32·单片机·嵌入式硬件
Lxx_Zw3 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·stm32·单片机·嵌入式硬件
凯基迪科技3 小时前
瑞萨R5F100解密 R8C/RL78 MCU 固件读取与保护机制详解
服务器·网络·单片机
PMAOS4 小时前
4G 功能机操作系统选型指南:KaiOS、Mocor、MAUI、PMAOS 的能力边界与验证方法
嵌入式硬件·ai·操作系统
mk0154 小时前
单片机同步降压稳压器输出最低1V,关断时损耗3uA
单片机·嵌入式硬件·硬件工程·智能硬件·pcb工艺
然后,是第八天5 小时前
platformio使用使用pioarduino流程
单片机
糖糖单片机设计5 小时前
基于 STM32 + LU-ASR01 的智能台灯
stm32·单片机·嵌入式硬件·51单片机·语音识别