孕妇生气对胎儿有什么影响| 肾虚是什么原因造成的| 拉肚子恶心想吐吃什么药| 什么水果含钾高| 阳历九月份是什么星座| 嚷能组什么词| 什么是数位板| 什么狗不如| 外阴瘙痒用什么药膏好| 排卵期在什么时候| 意下如何什么意思| 大姨妈能吃什么水果| 抗体和抗原有什么区别| 艾灸能治什么| 逆水行舟什么意思| 什么雨| 增强抵抗力免疫力吃什么| 74年属什么的生肖| 摩羯座女和什么星座最配| 什么药和酒一起吃必死| 笑点低是什么意思| 西瓜有什么功效和作用| 腰椎疼痛是什么原因| 韩束属于什么档次| 有什么水果| 耳朵后面痒是什么原因| 人的血压一天中什么时候最高| 爸爸的姐姐的儿子叫什么| 脑供血不足挂什么科| 吃芒果不能吃什么| 酒干倘卖无什么意思| AMY医学上是什么意思| hr是什么意思医学| d代表什么| 尿素测定是查什么| 租赁费计入什么科目| 肚脐叫什么穴位| 纯粹是什么意思| 标准员是干什么的| 嘴巴经常长溃疡是什么原因| 婚姻是爱情的坟墓是什么意思| 1936年中国发生了什么| 喜欢吃肉的动物是什么生肖| 时点是什么意思| 地球什么时候毁灭| 金命是什么意思| 陆陆续续是什么意思| kerry英文名什么意思| 化学性肝损伤是指什么| 妨夫是什么意思| 珍珠状丘疹有什么危害| 什么牌助听器好| 十月五号是什么星座| 夫妻肺片是什么| a型熊猫血是什么血型| 电饼铛什么牌子好| 甲功六项检查什么| 兴风作浪什么意思| 头不舒服是什么原因| 腋下黑是什么原因| 医生为什么用肥皂洗手| 白色的玉是什么玉| 鳄鱼是什么动物| w代表什么单位| 头孢有什么用| 一览无余是什么意思| 马首是瞻是什么生肖| 梦见吃米饭是什么意思| 胸片是检查什么的| 1964年出生属什么| 拉屎出血是什么原因| 肝郁血瘀吃什么中成药| 又字加一笔是什么字| 谷丙转氨酶高吃什么药| 为什么叫211大学| 汕是什么意思| 验孕棒什么时候测比较准| 脚上为什么会长鸡眼| 半夜会醒是什么原因| 出其不意下一句是什么| 苹果手机为什么那么贵| 今日是什么生肖日| 备孕吃什么叶酸| 傍晚是什么时候| 剑客是什么意思| winbond是什么品牌| 花心是什么意思| 百香果是什么季节的水果| 红酒兑什么好喝| 脖子上长痘痘什么原因| 朝鲜和韩国什么时候分开的| 疲惫是什么意思| 出cos是什么意思| 沾花惹草是什么生肖| 小孩手指头脱皮是什么原因| 夜卧早起是什么意思| 7月14日是什么日子| 眼睛有眼屎是什么原因| 什么生长| 维生素h是什么| 神经性头痛吃什么药效果好| hcg下降是什么原因| 兰州人为什么要戴头巾| 什么是dha| 什么是有氧运动和无氧运动| 298什么意思| 青龙是什么意思| 血小板压积偏高是什么原因| 中筋面粉是什么粉| 男人断眉代表什么| 小布丁是什么意思| 舌苔白厚是什么原因| 1989年五行属什么| 腿走路没劲发软是什么原因| 孕早期是什么时候| tmt是什么意思| 睡觉打呼噜什么原因| 葫芦是什么生肖| 糖尿病什么水果不能吃| 吐血是什么病| 肾虚腰疼吃什么药最有效| 蚊虫叮咬擦什么药膏| 本能反应是什么意思| 7月1日什么节日| 怀孕一个月内有什么反应| 滴虫性阴道炎吃什么药| 李荣浩什么学历| 敖包是什么意思| 低血压高什么原因| 可乐饼为什么叫可乐饼| 同房后为什么会出血| 狐假虎威什么意思| 芒果是什么季节的水果| 糟老头是什么意思| 投其所好是什么意思| 脂溢性脱发用什么洗发水好| 尿道口为什么叫马眼| 驻马店有什么大学| 痔疮最怕吃什么| 小腹胀痛是什么原因| 尿酸高会引起什么疾病| 至夏什么意思| hpv不能吃什么食物| 四书五经指的是什么| 曼龙鱼能和什么鱼混养| 行长是什么级别| 什么是记忆棉| 时间是什么| 腿肿脚肿是什么原因引起的| 缩量横盘意味着什么| hvp是什么| 乳糖不耐受是什么意思| 量程是什么| 学中医需要什么学历| 阳起石是什么东西| 每天早上喝一杯蜂蜜水有什么好处| 异地办理护照需要什么材料| 8月10日什么星座| 晕3d什么症状| 肚子特别疼是什么原因| 肝火旺盛失眠吃什么药| 什么叫穿刺| 什么去火效果最好| 红花配绿叶是什么意思| 种植什么药材最赚钱| 凭什么我买单| 胃疼需要做什么检查| 婴儿什么时候会说话| 手脚发麻是什么原因| 每天吃一个西红柿有什么好处| 乙酰磺胺酸钾是什么| 半斤八两什么意思| l是什么单位| 气虚用什么泡水喝好| 离线缓存是什么意思| afc是什么意思| 何以是什么意思| 检查食管做什么检查| 狗狗发烧吃什么药| 月经不调吃什么调理| 第三代试管是什么意思| 11度穿什么衣服| 破釜沉舟是什么意思| 抑郁症是什么病| it是什么牌子的衣服| 看淡是什么意思| special是什么意思| 6月4号是什么星座| 肌肉的作用是什么| tomboy什么意思| 紫皮大蒜和白皮大蒜有什么区别| 神经外科和神经内科有什么区别| 灵芝长在什么地方| 不变应万变是什么意思| 多吃黑豆有什么好处| 癫痫吃什么药| 相招是什么意思| 齐天大圣是什么意思| 刺梨是什么| 吃什么补充胶原蛋白| 低gi是什么意思| 6541是什么药| 什么避孕套好用| 烟囱是什么意思| 什么时候最热| 老过敏是缺什么维生素| 肉碱是什么| 猴子屁股为什么是红色| 挑拨离间是什么意思| 古井贡酒是什么香型| 不然呢是什么意思| 吃什么补| 品是什么意思| 18岁属什么的生肖| 天麻能治什么病| 太阳穴疼吃什么药| 处女座女生和什么星座男生最配| 印度古代叫什么| 口腔溃疡什么原因| 口臭是什么原因| 费气肿要吃什么药| 不动明王是什么属相的本命佛| 血糖高应该注意什么| 梦见打死黄鼠狼是什么意思| 月字五行属什么| 打哈哈是什么意思| 对节木是什么树| 中秋是什么时候| 死鱼是什么意思| 尿糖2个加号是什么意思| 金银花主治什么| 脸上经常长痘痘是什么原因| 同型半胱氨酸高吃什么| 12月是什么星座的| apple什么意思| 邓超的老婆叫什么名字| 什么水果含糖量最低| 体重一直不变说明什么| 开诚布公是什么意思| 牛加一笔是什么字| 画蛇添足的故事告诉我们什么道理| 无条件是什么意思| 财五行属什么| 贾蓉和王熙凤是什么关系| 干什么一天能挣1000元| 牙发黑是什么原因怎么办| 不停的打嗝是什么原因| 梅毒是什么病| 淋巴炎吃什么药效果好| 舌头短是什么原因| 小寨附近有什么好玩的| 男性尿道疼痛小便刺痛吃什么药| 现在是什么季节| 副乡长是什么级别| 匙仁是牛的什么部位| 射手是什么星座| 引力是什么| 什么情况下吃速效救心丸| 减肥什么东西不能吃| 夏天喝什么| 腹部痛挂什么科| 财务是什么意思| 杜比全景声是什么意思| 骨骼肌是什么意思| 百度
发新帖本帖赏金 80.00元(功能说明)我要提问
返回列表
[开发工具]

蕊字五行属什么

[复制链接]
11237|4
手机看帖
扫描二维码
随时随地手机跟帖
DKENNY|  楼主 | 2025-7-5 17:36 | 显示全部楼层 |阅读模式
本帖最后由 DKENNY 于 2025-7-5 17:35 编辑

#申请原创# #技术资源#  @21小跑堂

前言

      大家好!作为STM32新手,我刚开始学STM32F4时,对“芯片自举”和“Bootloader”傻傻分不清,尤其看到参考手册里说“自举程序”支持串口(USART)和CAN烧录,更懵了:这俩到底啥区别?ISP烧录又是啥?串口和CAN跟它啥关系?今天跟大家简单分享一下。

一、芯片自举和Bootloader:用门锁比喻搞清楚
      咱们先用一个生活化的比喻,把“芯片自举”和“Bootloader”区分开:
      - 芯片自举:假设我们有个智能门锁,通电后,它会自动跑一个“开机程序”(厂家固化在里面)。这个程序只干一件事:根据你按的按钮(比如“开门”或“设置”),决定是直接开锁,还是进入“更新模式”。在STM32F4里,自举程序(System Boot)是芯片上电后第一时间运行的“引导员”,根据BOOT引脚的状态,决定从哪里(Flash、系统存储器、SRAM)开始跑代码。     
      - Bootloader:这就像你给门锁装了个“高级管理程序”,可以通过手机App更新门锁的固件(比如加个新功能)。这个程序不是门锁出厂自带的,而是用户或厂家烧进去的,功能更灵活。STM32F4的Bootloader是“程序管家”,负责通过串口(USART)、CAN等接口接收新程序并写入Flash。

      一句话区别:
          - 自举是芯片自带的“导航员”,只负责“指路”,决定启动哪块代码。
          - Bootloader是“搬运工”,负责接收新程序、写入Flash,方便更新固件。

      为啥容易混淆?
      因为STM32F4的系统存储器(ROM)里同时有自举程序和ST公司提供的内置Bootloader,尤其在ISP烧录时,两者都参与了,容易让人觉得是一个东西。其实它们是“接力”关系:自举先跑,Bootloader后干活。

      简单图示描述
6863ce9681d60da25c93bea28add3e2d

二、STM32F4的芯片自举:它到底干啥?

1. 自举的本质

      根据STM32F4参考手册,自举程序是ST公司固化在系统存储器(System Memory,ROM,地址从0x1FFF 0000开始)里的一段小程序。你无法修改它,也看不到代码。它的任务是:上电后,根据BOOT0和BOOT1引脚的电平,决定芯片从哪里启动代码。

2. 自举的工作流程

      1. 上电:给STM32F4开发板通电,芯片开始工作。
      2. 运行自举程序:芯片自动跳转到系统存储器的自举程序。
      3. 检查BOOT引脚:自举程序读取BOOT0和BOOT1的状态:
            - BOOT0=0,BOOT1=任意:从主Flash存储器(Main Flash Memory)启动,跑你烧录的程序(比如点灯代码)。
            - System: 芯片自举:STM32F4的“导航员”,上电后第一时间运行,根据BOOT引脚状态决定启动区域(Flash、系统存储器或SRAM)。
            - Bootloader:STM32F4的“程序管家”,负责通过接口(如USART或CAN)接收新程序并写入Flash,方便固件更新。
            - ISP(系统内编程):一种通过通信接口(如USART或CAN)烧录程序的方式,依赖内置Bootloader实现,USART是最常用的接口,CAN适用于工业场景。

      手册中的“自举烧录”:指自举程序跳转到内置Bootloader,由Bootloader完成串口或CAN烧录。

三、ISP烧录的完整过程:自举和Bootloader的角色
      以通过USART的ISP烧录为例,详细拆解过程(CAN烧录类似,只是接口不同):
          1. 设置BOOT引脚:
            - 将开发板的BOOT0设为1,BOOT1设为0(用跳帽或开关,查开发板说明书)。
            - 这告诉自举程序进入“系统存储器”模式。
          2. 上电,运行自举程序:
            - 芯片通电,自举程序(ROM里)自动运行。
            - 自举程序检测BOOT0=1、BOOT1=0,跳转到系统存储器的内置Bootloader。
            - 自举的角色:像个“导航员”,根据BOOT引脚把控制权交给Bootloader,然后退出。
          3. Bootloader接管:
            - 内置Bootloader启动,初始化USART接口(比如UART1,PA9/PA10)。
            - 你用STM32CubeProgrammer通过USB转串口模块(如CH340)发送程序(.hex或.bin)。
            - Bootloader接收数据,擦除Flash指定区域,写入新程序,验证正确性。
            - Bootloader的角色:像个“搬运工”,把程序从串口搬到Flash。
          4. 运行新程序:
            - 烧录完成后,改BOOT0为0,复位芯片。
            - 自举程序检测BOOT0=0,跳转到Flash,运行新程序(比如点灯)。

     与CAN烧录的区别:
            - 硬件:用CAN收发器(如TJA1050)连接CAN2引脚(比如PB5/PB13)。
            - 软件:用STM32CubeProgrammer的CAN模式发送程序,Bootloader通过CAN协议接收。
            - 流程类似,但CAN更适合抗干扰的工业环境,配置稍复杂。

      简单图示描述
566116d6f28f69cb9137325222f3307a

四、为什么手册说“自举程序”支持串口/CAN烧录?
      STM32F4参考手册和AN2606(Bootloader应用笔记)提到“自举程序”支持USART/CAN烧录,容易让人误以为自举程序直接处理烧录。其实,手册里的“自举程序”是个广义说法,指整个启动过程,包括:
        - 自举程序:只负责根据BOOT引脚跳转到内置Bootloader。
        - 内置Bootloader:真正处理串口(USART)或CAN烧录。

      澄清:自举程序不直接处理通信或烧录,它只是把芯片“带到”Bootloader,Bootloader才通过USART/CAN接收程序、写入Flash。

五、ISP、USART和CAN的关系
       - ISP(系统内编程):一种烧录方式,通过芯片的通信接口(USART、CAN、USB等)把程序写入Flash,依赖内置Bootloader。
       - USART:串口通信接口,STM32F4的Bootloader支持UART1/3等,ISP最常用的方式(简单、成本低)。
       - CAN:控制器局域网接口,Bootloader支持CAN2,适合工业场景(抗干扰强,但需要CAN收发器)。

      关系:
        - ISP是目标(烧录程序),USART和CAN是实现ISP的“通道”。
        - 两者都靠Bootloader处理数据,自举程序只负责跳转。
        - 新手推荐用USART(简单),CAN多用于专业项目。

六、两者的区别和角色(表格总结)

特性
芯片自举
内置Bootloader
本质
固化在ROM的引导程序
固化在ROM的程序管理器
存储位置
系统存储器(ROM,不可改)
系统存储器(ROM,也不可改)
功能
根据BOOT引脚选择启动区域
通过USART/CAN等接收程序,写入Flash
ISP烧录角色
检查BOOT引脚,跳转到Bootloader
接收串口/CAN数据,写入Flash
接口支持
无(只检查引脚)
USART、CAN、USB等
灵活性
固定,无法修改
固定,但可被用户自定义Bootloader替代

七、新手常见问题和注意事项
      1. BOOT引脚怎么设置?
          - 查开发板说明书或原理图,找到BOOT0/BOOT1的跳帽或开关。ISP烧录设BOOT0=1,BOOT1=0;正常运行设BOOT0=0。
      2. USART烧录需要什么?
          - 硬件:USB转串口模块(CH340、FT232R),接UART引脚(比如PA9/PA10)。
          - 软件:STM32CubeProgrammer,选串口模式,波特率通常115200。
          - 确保线序正确,驱动正常。
      3. CAN烧录怎么弄?
          - 硬件:CAN收发器(TJA1050),接CAN2引脚(比如PB5/PB13)。
          - 软件:STM32CubeProgrammer(CAN模式)或专用CAN工具,波特率如250kbps。
          - 查AN2606确认协议要求。
      4. 烧录失败怎么办?
          - 检查BOOT引脚设置。
          - 确认接口连接(串口线、CAN收发器)。
          - 检查Flash是否锁定(用CubeProgrammer解锁)。
          - 试降低波特率或换设备。
      5. 需要自己写Bootloader吗?
          - 新手用ST的内置Bootloader就够,ISP烧录完全支持。想加WiFi、蓝牙更新功能,可学写自定义Bootloader。

八、总结:从懵圈到搞懂
      简单总结一下:
          - 芯片自举是STM32F4的“开机导航员”,上电后根据BOOT引脚决定去Flash跑程序,还是去Bootloader烧录。
          - Bootloader是“程序搬运工”,通过USART(串口)或CAN接收新程序,写入Flash,ISP烧录全靠它。
          - ISP烧录是把程序通过通信接口(常用USART,工业用CAN)写入Flash的方式,自举负责跳转,Bootloader负责烧录。
          - 手册的“自举烧录”是个广义说法,指自举跳转到Bootloader,由Bootloader完成串口/CAN烧录。

      简单举个例子:
      你做个STM32F4的智能灯项目,这样能够更好理解其区别:
         - 正常运行:BOOT0=0,自举跳转Flash,跑点灯程序。
         - 更新程序:BOOT0=1,自举跳转Bootloader,Bootloader通过串口(或CAN)接收新程序,写入Flash,再改BOOT0=0运行。

参考文档:
an2606-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf (6.69 MB)
百度 近日,珠宝品牌iDeserve发起的「闪光故事」主题分享会在北京通盈中心举行。

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 80.00 元 2025-08-04
理由:恭喜通过原创审核!期待您更多的原创作品~~

leoeric| | 2025-7-23 10:07 | 显示全部楼层
厉害了楼主
cooldog123pp| | 2025-7-24 17:08 | 显示全部楼层
厉害了最近在做远程OTA正好学习一下bootload相关操纵感谢分享
丙丁先生| | 2025-7-24 22:11 | 显示全部楼层
学习了
AProgrammer| | 2025-7-28 09:31 | 显示全部楼层
NB的总结
发新帖 本帖赏金 80.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

100

帖子

15

粉丝
百度