关于BOOTLOADER首次通过串口首次烧录问题



请问STELLARIS系列芯片的首次烧录在没有加载BOOTLOADER的情况下是否只能通过JTAG仿真烧录器完成,如果在没有JTAG接口引出的情况下是否无法烧录芯片?谢谢。。

  • 请问您用的是哪个型号?部分芯片本身ROM里面固化了bootload的,空的芯片是可以通过一些串行口通讯的方式进行烧录的。

  • 经验证,是否只有以下两种情况可以直接通过串口进行烧录:

    1.程序存储区为空时。

    2.程序存储区所带程序中加入了bootloader程序段。

    使用的是lm4f120h5qr

  • LM4F120H5QR带有ROM的boot loader,所以当芯片为空片的时候可以通过boot loader烧写。当然,楼主所说的第二点也是可以做的,这也是没有rom的boot loader的时候实现烧写的一种方法;此外对于有rom的boot loader的芯片还有一种方法,就是在用户程序中嵌入一段代码,比如检测GPIO管脚状态来决定是否跳转到Boot loader执行

  • 经测试总共有以下几种方式进入到bootloader模式下

    1.程序存储区为空时。

    2.程序存储区所带程序中加入了bootloader程序段。

    3.在修改BOOTCFG后指定有效管脚电平控制上电后进入bootloader。

    不知总结得对不对,谢谢您的指导。

  • 补充一点,在带USB接口的M4芯片,都可以通过DFU类编程,升级片上代码,这个非常方便。建议有条件的同学尝试使用。

  • 通过配置BOOTCFG寄存器可以灵活的选择 时能BootLoader的GPIO口,并配置时能的高低电平极性。

    BOOTCFG是非易失性寄存器,需要通过FMD FMA FMC来进行写操作,写入之前先检查bit31的值。

    操作时,FMD赋值要写入BOOTCFG的值,FMA应赋值0x75100000,FMC应赋值0xa4420008。

    其实对生产时的程序首次烧录,新的芯片Flash中都是0xFF,芯片上电后,读取到0x0000 0004地址中的数据是0xFFFF FFFF,

    就会直接跳转到Bootloader中。这样的话也不用考虑去对BOOTCFG进行配置。