本页列出了当前可用的 OpenBLT 加载项模块。这些模块包含我们从通常请求的启动加载器自定义项派生出来的所有功能。请注意,这些加载项模块并非根据 GNU GPL 许可证发布,因此只能与商业许可版本的 OpenBLT 结合使用。
通过使用 OpenBLT,您的用户可以在您的产品上更新固件。根据您的应用情况,这可能会产生潜在的不良副作用,例如:
固件加密模块消除了这些令人讨厌的副作用。您的固件文件中的程序代码使用唯一的 256 位 AES 加密密钥进行了加密。在固件更新期间启动加载器收到程序代码之后,会先对程序代码进行解密,然后立即在微控制器的非易失存储器中为其编程。
实际加密由命令行程序执行。在编译并链接软件程序的源代码之后,可手动调用它,作为一个自动化构建后步骤。
此加载项模块的交付包含:
我们提供一种经过改进的校验和模块,该模块对整个程序代码使用 CRC-16 校验和。有了此模块,您可以确定启动加载器仅在闪存中程序代码的所有位都正确时才启动用户程序,从而防止用户程序在以下情况下对您的系统造成潜在危害:有人篡改您的微控制器、发生闪存故障,或者闪存内容被意外更改。
其中包括一个命令行程序,用于计算固件整个程序代码的校验和信息。然后将校验和信息嵌入固件文件中。在编译并链接软件程序的源代码之后,可手动调用它,作为一个自动化构建后步骤。
此加载项模块的交付包含:
在包含一个主微控制器以及一个或多个从微控制器的系统中,通常只有主微控制器有一条连接外界的开放通信线路。在主微控制器上运行 OpenBLT 启动加载器时,可以在主微控制器上进行固件更新,但如何在从微控制器上执行固件更新呢?主/从网关加载项模块能够完美地解决这个问题。此加载项模块将一个网关添加到在主微控制器上运行的 OpenBLT 启动加载器,即可通过此网关在从微控制器上进行固件更新。
使用 MicroBoot 或 BootCommander 启动固件更新时,您可以配置一个连接模式参数。这是一个 8 位值,其在连接到启动加载器时发送。当主微控制器上的 OpenBLT 启动加载器收到连接请求时,就会计算连接模式参数的值。如果该值为零,那么将照常继续在主微控制器上进行固件更新。如果该值大于零,那么将激活网关,并将连接请求传递到主/从网络,然后在从微控制器上运行的 OpenBLT 启动加载器将在网络中检测到该请求。使用此解决方案,可以选择最多 255 个单独的从微控制器进行固件更新。
主/从网关模块在高级网关功能和低级通信之间有一个分离层。这样网关就能用于任何主/从网络。它已成功通过 RS232、CAN、SPI、I2C 和 RS485 测试。
此加载项模块的交付包含: