在不使用调试器(debugger)的情况下通过UART来把固件写入EFM32设备

开始者 <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Master Employee</font></font> </a> delu 修改时间 ‎09-09-2016 07:07 PM

问题

如何在不使用调试器(debugger)的情况下通过UART来把固件写入EFM32设备

答案

使用EFM32的UART bootloader,用户可以在不使用调试器(debugger)的情况下通过UART来把固件写入EFM32设备。

 

UART bootloader 具有破坏性写入模式从而用户可以覆盖 bootloader,该模式使得用户应用可以使用全部flash空间。flash的内容可以通过CRC校验和来验证,而debug lock可以用来保护IP. 因为 bootloader 使用 XMODEM-CRC 协议来上传数据,任何支持该协议的串行终端都可以用来和 bootloder 通讯。 UART bootloder 被预编程进所有不含USB接口的EFM32设备。

 

upload3.png

图: 在 Tera Term 上用 XMODEM-CRC 传输文件

 

Bootloder 使用UART接口进行通信, 并且支持如下单字符命令:

烧录(上传 / 覆写)

验证(计算校验和)

安全(写保护,锁调试口)

 

通过把DBG_SWCLK 引脚拉高从而在reset后触发进入bootloader模式。

参见完整应用指南AN0003以获取更多信息,你可以通过该链接获得bootloader的源码(zip),IAR应用固件所需链接文件,以及二进制映像。