lm3s811问题咨询

Other Parts Discussed in Thread: LM3S811

买的LM3S811出厂自带的boot_serial中,自动检测某个GPIO引脚(该引脚的作用是接收更新程序的信号)是被屏蔽掉的。出厂的芯片中的boot_serial只检测2K(默认的应用程序起始位置)处是否存在有效的堆栈指针和复位向量,如果有的话则执行应用程序,如果没有则调用接收更新程序的代码(当然刚出厂的芯片2K后是不会有应用程序的,所以刚出厂的芯片第一次连串口用LM Flash Programmer下载程序是没有问题的),但是第一次用串口下载程序后(从2K处写)就不满足再调用接收更新程序的代码的条件了(2K处已经有了有效的堆栈指针和复位向量),所以就不能下载程序了。我想问的是有什么解决办法能够一直使用串口下载,是否需要改Boot serial,如何修改,因为需要批量生产,所以希望能有相应的解决办法

  • 是需要修改Boot serial , 最好的方法是通过boot程序来检测某个IO的高低电平状态来确定是否更新用户程序。

  • 811中出厂带的串口下载程序的目的就是只用一次,之后全部由用户程序代替。楼主如果需要一直使用串口下载需要自己烧录boot_loader进去,以后都通过那个bootloader进行烧录。Bootloader程序及示例在TI StellarisWare软件包里有提供,楼主可以根据需要使用。

    基本的思路大概是:

    全新811芯片->自带串口下载烧录Bootloader->复位检测某个信号量进入Bootloader->通过串口下载