BOOTloader/MCU/GPU

一、 什么是BootLoader?

对于嵌入式MCU来说,当产品稳定投产,程序烧录后,MCU我们一般是看不到的,因为外面被外壳等材料覆盖,那后期产品需要升级,无法使用烧录口的情况下,我们怎么解决问题了?
BootLoader就是为了解决这样的问题来设计的,它相当于一个引导程序。这段程序比较特殊,他可以通过一定方式,比如用按键触发、或者UDS协议指令(汽车行业)触发进入运行,BootLoader运行后,他可以通过串口接收新的代码并写入Flash,从而在不能使用烧录器的情况下,升级程序

二、BootLoader是上电就运行的吗?

之前一直以为BootLoader是MCU里面上电就运行的程序,后面才发现其实并不是。
其实MCU里面有一段代码叫“Starup Code”即启动代码。它在MCU上电或复位后最先执行。主要完成堆栈指针的设置,复位向量的获取和加载,然后初始化变量,最后跳转到用户代码。

当芯片复位,或从Standby低功耗模式唤醒时:

如果引脚BOOT0是被拉低的,将映射到Flash memory。这里是常用的代码运行模式;
如果引脚BOOT0是拉高的,且nBOOT为1,将映射到System memory,进入BootLoader模式
如果引脚BOOT0是被拉高的,且nBOOT1为0,将映射到SRAM。
注:nBOOT1为Flash寄存器中的一位。
以上可以直接阅读参考1,博主写的很好很全面

https://www.elecfans.com/d/1823192.html

什么是MCU

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值