在可执行文件中添加代码的哈希值

Add the hash of the code in executable file

我有一个使用两个内存块的 STM32 应用程序。在第 0 个块中,我有一个引导代码(在开机后 运行s),在第 7 个块中,我有一个应用程序代码(可能 运行 取决于给定的授权决定通过启动代码)。

这两个代码是由两个独立的项目开发的。它们使用 openocd 工具通过给定 offset openocd 的 write_image 命令的值。

我基本上想在启动代码中做的是计算应用程序代码的哈希值并将其与参考摘要进行比较。如果它们相等,我将把手交给应用程序代码。为此,在生成应用程序代码的可执行文件(可以是 elf、hex 或 bin 格式)后,我想:

您认为可行、可行吗?如果是:

最后,您认为这样做是否有意义,或者是否有其他更标准的方法可以达到此目的?

非常感谢。

您只需要在构建序列中添加一个额外的步骤。链接后从 elf 中提取二进制文件 然后用你最喜欢的编程语言编写一个程序,它会计算一些东西并将结果附加到那个 bin 文件