单片机笔记——Bootloader

2019-04-15 17:43发布

最近玩ST32L15xxx系列 下载程序的时候,可以擦除并下载,但是无法运行,报错信息如下: JTAG Warning: T-bit of XPSR is 0 but should be 1. Changed to 1. 网上查了很多的方法,都无法解决;最后重新烧写 BootLoader 之后就可以了; 多思考,排除问题,身边的同事要多问问,就很容易进行下去了   补充知识点——Bootloader 首先,我们需要理解什么是bootloader。Bootloader包含了两个名词: boot和loader。很明显,从字面上讲,要实现bootloader就必须分步实现boot和loader过程。相信大家都在用电脑(不然怎么能看这篇文章?:-)),可以想象,在你按电脑电源开关的时候,也就是我们所说的Power-On-Reset的时候,主板程序首先要初始化硬件,当所有初始化结束后,加载Windows操作系统,并运行。该过程某种程度上和我们在单片机要实现的功能类似,只是单片机资源有限,以及单片机要执行的功能有限。因而,我们直接给单片机上的bootloader取名为嵌入式bootloader。嵌入式bootloader严重依赖于硬件实现,这也就说明了在嵌入式系统中难以建议一个通用的bootloader。   言归正传,bootloader要实现的功能就是:在系统上电或者复位后,将系统的软硬件环境带到一个合适的状态,为最终调用应用程序准备好正确的环境。它包括: - 初始化硬件设备 - 建立正确的内存空间映射 - 初始化栈 - 检测并初始化内存 - 初始化全局变量 - 加载程序,将非易失性存储器中的特定软件组拷贝到RAM中,并运行。