Z430 Chronos 的无线 BSL(Bootstrap Loader)功能原理详解--转发

2019-08-05 16:28发布

eZ430 Chronos 提供了一个名为 RFBSL 的功能,也就是通过RF无线方式来执行BSL操作进行手表固件程序(firmware)的刷新,不需要拆开手表连接到JTAG接口,非常方便调试手表上运行的程序。我开始时没有理解BSL方式,一直也没搞清楚具体的细节实现是如何进行的,昨天把SLAU292C(eZ430-Chronos™ Development Tool User's Guide)的相关章节认真读了一遍之后终于明白了 eZ430 Chronos 的BSL详细流程。

RFBSL 的详细流程如下:
1、首先要在PC侧运行 Control Center ,选择 Wireless Update ,注意,这里一定要选择正确的 firmware 文件,eZ430 Chronos 的 firmware 文件就是用CCS编译生成的位于 D:EZ430workspaceez430_chronos915MHz - Unrestricted CCS Platinum 目录下的那个名为 ez430_chronos_915MHz.txt 的文件,千万不要选择那个位于 D:Program FilesTexas InstrumentseZ430-ChronosControl CenterChronos Control Center 目录下的名为 ram_based_updater.txt 的文件,否则就是一个悲剧(我第一次刷就遇到这个悲剧,当时还奇怪怎么这个固件文件这么小呢?),如下图示:

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
i1mcu
1楼-- · 2019-08-05 19:26
 精彩回答 2  元偷偷看……
i1mcu
2楼-- · 2019-08-05 21:53
3、在手表上执行 rFBSL 程序之后,手表侧会尝试和 PC 侧建立无线连接,连接成功后,会从 PC 侧下载那个名为 ram_based_updater.txt 的文件(这个文件只要放在和 Control Center 程序同一个目录下即可,系统自己已经准备好了,不需要手动指定)到手表的 RAM 中,成功下载后,就执行 RAM 中新下载的这个程序,这个程序会再次尝试连接 PC 侧来获取真正的更新镜像文件,如果连接成功,flash 就会执行块删除,从 0x8000 到 0xFFFF 的32KB的 flash 区域全部被删除。然后它会开始接收数据包并且写入到 flash 中,写入时会检查每个 word 是否写入成功,写 falsh 时手表的LCD屏幕右上角会显示一个百分比进度,从 0% 开始到 100% 结束。
4、成功写入固件文件后,手表会重启,所有的日期时间都会被重置为初始值。
手册原文描述如下:
3.6.3.2 Detailed Description of the Wireless Update Feature
To invoke the wireless update procedure, the main application must call the start of the wireless updater,
which is located at address 0x1000. Therefore, the sports watch and data logger projects contain an extra
menu item called "rFbSL". Once activated, it checks if the battery level of the watch is sufficient to start a
wireless update and then calls address 0x1000. At this point the user application is no longer running.
NOTE: Whenever the wireless update is activated on the watch, it returns to the main application
with a reset, regardless if an update was performed or not. Time, data, alarm and other
RAM-based data is lost.
After invoking the wireless update (rFbSL), the watch tries to link to a listening RF access point and start
the update procedure. If the link is successful, the watch downloads the RAM based updater into the RAM
of the CC430. Once finished, this software then tries to link again with the RF access point to download
the actual update image. If this link is successful, a mass flash erase is performed, which erases all the
main memory flash (0x8000 to 0xFFFF). It then start receiving all the data packets and writes them to
flash, checking if each word was written successfully. If the link is not successful, the watch generates a
reset to restart the user application. During the download of the update image, a percentage indicator
appears on the watch. "dOnE" appears and a reset is generated to start the new user application that has
just been written to flash.

i1mcu
3楼-- · 2019-08-05 22:10
【PC侧的流程:】

i1mcu
4楼-- · 2019-08-06 03:50
【手表侧的流程:】

一周热门 更多>