最近玩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中,并运行。