bootloader 理解

发布时间 2023-04-22 16:22:02作者: lance9527

bootloader有2个概念,一个是由芯片厂固化到芯片flash中指定区域的代码(stm32称这段为系统启动区,tc397称这段空间为BROM,这片区域的代码执行需要硬件boot-pin的配合,以stm23为例boot1-pin= 0;boot0-pin =1之后在芯片复位后就不会flash开始执行,而是从系统启动区执行这段代码,这段代码具体的作用会有文档说明,但大概就是从指定的串口接收数据放到指定的空间,tc397的BSL ASL同理);另一个是指由用户写的类似上述功能的一段代码,但这个概念下的bootloader的执行不需要boot-pin的配合,即把这个bootloader认为是默认从flash启动执行的一段有用户实现具有特殊功能的用户代码。