Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。
1.在STM32中,这段bootloader代码从来没有写过。是单片机在出厂时已经固化到里面了?
2.看网上说stm32的bootloader还可以自己写?有啥用?
肯定没有固化啊
你是用Keil编译的吧,如果是启动文件是XXXXXstart.s文件
首先Bootloader是在需要固件升级的场合才会应用的,可以用来下载和升级固件,但并不是每个系统中都有Bootloader存在,我们通常开发的STM32时是没有bootloader的,通常开发的STM32中的只有启动代码。
Bootloader通常都是芯片厂家给一个Demo,然后开发人员参考Demo来实现自己的Bootloader。实现后就可以通过串口,USB口,CAN口,SPI口等进行固件更新了。
本身出厂肯定是有固件的,但这部分是无法修改的。一般说的bootloader,就是用户自己编写的二级boot,在做本地或者远程升级程序的时候需要用到。