将本页加入收藏夹

Gecko Bootloader的介绍(Silicon Labs)【一】

Gecko Bootloader的介绍(Silicon Labs)

关键字: ZigBee,Thread, Bluetooth, EFR32, EFM32,EmberZnet, Bootloader, Gecko, Silicon labs, ARM , Cortex-M4, Cortex-M33

 

摘要:

       在使用Silicon labs的MCU和无线芯片进行开发时,都会使用Bootloader, 包括zigbee, thread, Bluetooth, efm32,还有其他私有协议。Boot+应用的设计是目前主流平台都采用的固件组合方式,即能够快速完成启动,可以进行固件的直接替换或者更新,即使产品已经布署或者销售,在使用过程仍然可以实现维护,比如功能升级或者bug修复等。

 

 

正文:

---------------------------

       产品中bootloader存在的前提下,可以通过UART, SPI,USB,或者空中无线传输,将新的应用固件传输到设备中,重启后由Bootloader进行固件的完整性检查,切换或者擦除旧固件再更新等操作,这是完成设备更新的基本原理。

 

       在silicon的产品中,由于历史原因,存在gecko bootloader和 ember bootloader两种,后者仅在EM35X等芯片上还有使用,逐步停止使用,因此我们在这里只介绍Gecko bootloader。Gecko Bootloader本身也有多种类型, 这里就简称为boot,在设计产品时可以根据维护设备的需要,选择适合的类型。

 

两大类不同工作原理的Bootloader

 

独立引导

Standalone Bootloader

设备开始升级后,运行Boot,通过UART, SPI或者空中传输等方式将新的固件直接写到原有固件所存在的区域。

过程不可逆,升级一旦开始,必须要完成升级,如果出错,可能要从新开始。Boot和app之间很少交互。

应用交互型引导

Application Bootloader

设备的应用程序工作状态下,运行app, 将新的固件通过UART,SPI,USB或者空中传输等方式将新版固件完整地传输的设备上。并存储于外部存储器(如EEPROM,DATAFLASH)中,然后交boot来验证新版app,通过后再将新固件复制到Flash之中,升级完成。

升级过程可以中断或者取消。升级过程中出错可以继点续传输或者重来。Boot要在app完成新版固件传输之后才会被调用。

设备的应用程序工作状态下,运行app, 将新的固件通过UART,SPI,USB或者空中传输等方式将新版固件完整地传输的设备上。并存储于片上存储器,即事先分配好的一段FLASH,然后交boot来验证新版app,通过后由boot切换启动固件或者将用新固件覆盖旧固件,升级完成。

升级过程可以中断或者取消。升级过程中出错可以继点续传输或者重来。Boot要在app完成新版固件传输之后才会被调用。

 

       在应用中有一个特例, 使用Silicon labs提供的ZigBee/Thread  NCP固件,只能使用独立引导(Standalone Bootloader)。

 

       有关Silicon Labs bootloader更多的细节,可以阅读官方文档 ug103.6, ug266, an772。

 

       Bootloader自身的架构

       Gecko bootloader是可以配置的代码库,用gbl文件作为升级镜像,也就是升级的文件通常以gbl后辍名提供给网关或者云端。适用于EFM32 或者 EFR32系列的芯片。但在EFR32 Series 1和Series 2上是不同的。前者分为两个阶段,第一段加载引导用于更新第二段(也称为主引导程序)。在Series2芯片上第一阶段的引导程序被等效的硬件代替(Secure Element), 所以整个引导程序仅有主引导程序部分。第一阶段的引导程序或者Secure Element允许对第二阶段的引导程序进行现场更新,这样就可能对bootloader的整体功能进行修改,比如新增功能,更改通信协议,添加新的安全功能,修复程序等。

 

后面补充一些其他信息。

https://www.cnblogs.com/newbit/p/boot2.html

 https://www.cnblogs.com/newbit/p/boot3.html

https://www.cnblogs.com/newbit/p/boot4.html

 

posted on 2019-11-12 16:22  Newbit  阅读(1404)  评论(0编辑  收藏  举报

< p> Copyright ©2015 Newbit