LM3S 如何利用bootloader的串口下载程序



pc利用LM Flash Programmer中的Uart设置,把生成的BIN文件通过485转232发送给开发板的串口,升级程序,问此时应用程序中串口部分需要处理什么么?


即应用程序是否需要开启串口,及串口部分如何处理?

  • 1,对有ROM的MCU,用ROOM boatloader升级的话,是自动波特率,仅需一个GPIO来触发bootloader用于UART 升级,用户在自己程序中可配置。

    2,对没有ROM的MCU,可以porting TI的user bootloader 到用户程序,通过命令或GPIO来选择UART升级。

  • 用TI的开发板,再用StellarisWare里面的程序是可以下载,而且运行也对。

    可是就是在我自己设计的PCB上怎么也下载不了,但是再次板收发调试都是对的,硬件是没有问题的。而且我把所有的外设都去掉了,只留了个232芯片,

    请问这个怎么回事???

  • 如果是用户BOOTLoader,则要修改晶体频率等值,在bl_config.h文件中,不知是不是这种。

  • 楼主使用芯片的型号是什么?芯片片上有ROM吗?

    能不能把电路图中MCU最小系统的部分贴出来看看?

    还有一点,这里有个不同,使用TI的开发板是直接用usb连接到电脑上,开发板上ICDI部分有一个USB虚拟串口的功能。

    根据描述,楼主使用的是RS485转RS232,然后RS232连接楼主的PCB。请问这个RS485转RS232设备是什么样的?你的PC是通过什么接口和RS485相连的?

    我以前遇到过一些类似的问题,这种usb转RS232等协议转换设备或者电缆,在电脑上用软件打开对应的串口时,设备会发出一个到几个字节的0x00或者其它无用的数据。

    但是如果这些字节被M3的串口接收到,会干扰到Bootloader的运行。

    可以用一台带有真串口的台式机,直接连接到你的PCB上,然后用LM Flash Programmer去尝试。选择较低的波特率也可以提高成程序升级的稳定性。

    也可以检查一下PCB上的RS232接口芯片,测量一下MCU的UART脚上信号是否正常。

  • 我的板子也是这样,用的是9B92的芯片,只有flash,我将boot_loader目录下的程序编译downloader到板子中,连接串口,不停的打印00有时候中间穿插几个FF,不知道是怎么回事?