微控制器内部的 Hex 文件验证

Hex file verification inside microcontroller

众所周知,hex文件是我们应用程序代码的核心,将被编程到微控制器的闪存中执行。我的疑问是在执行这个 hex 文件之前,它会被微控制器验证还是在所有启动过程完成后才执行?

免责声明:因为我不知道所有的微控制器,所以这不是一个完整的答案。*

闪现的二进制可执行文件将被执行。

一些微控制器检查固定地址的特定值,以决定是启动 built-in 引导加载程序还是闪存的用户程序。

如果需要检查用户程序,需要自己实现。我曾使用过这样的系统,它很常见,尤其是在 safety-related 环境中。


关于hex文件的格式:

Intelhex as well as other format like SREC 是二进制数据的人类可读文本表示。这些格式的校验和的常见原因是为了确保传输过程中的数据一致性,这是在发明格式时通过不可靠的渠道完成的。

另一个优点是可以通过旧互联网协议无损传输的 7 位 ASCII 字符的限制。

然而,“真正的”内容,即二进制数据,直接存储在微控制器的闪存中。当要刷新用户程序时,微控制器中的接收软件(例如引导加载程序)可能会使用校验和。但是一闪就没了