我的嵌入式项目有一个后处理步骤,它会将可执行文件中的某个值替换为(某些部分)flash 的 CRC。由于这是第一次计算图像的 CRC,因此此步骤只能在链接后完成。过去文件格式为 COFF,并且我创建了一个自定义工具来进行修补。
开发工具已经转换为 ELF,因此我需要重新实现 CRC 修补程序。在此之前,我想寻找一个现有的工具来完成此任务。编译器基于 gcc,但我看不到任何组合的 ld、nm 和 readelf 可以完成此任务。谷歌搜索也没有结果。
我的现有工具使用 nm 查找要修补的地址,并使用该地址、期望值(以防止覆盖错误数据)和新的 CRC 值调用修补程序。CRC 是在“hex”格式的可执行文件上计算的(我也进行了修补),所以幸运的是我不必重做这部分。
我可以再次使用 libelf 和自定义代码实现这一点,但在此之前,是否已经存在这样的工具?
有更好的方法来实现我的目标吗?即将可执行文件的 CRC 放入可执行文件中,以便应用程序可以使用它?
开发工具已经转换为 ELF,因此我需要重新实现 CRC 修补程序。在此之前,我想寻找一个现有的工具来完成此任务。编译器基于 gcc,但我看不到任何组合的 ld、nm 和 readelf 可以完成此任务。谷歌搜索也没有结果。
我的现有工具使用 nm 查找要修补的地址,并使用该地址、期望值(以防止覆盖错误数据)和新的 CRC 值调用修补程序。CRC 是在“hex”格式的可执行文件上计算的(我也进行了修补),所以幸运的是我不必重做这部分。
我可以再次使用 libelf 和自定义代码实现这一点,但在此之前,是否已经存在这样的工具?
有更好的方法来实现我的目标吗?即将可执行文件的 CRC 放入可执行文件中,以便应用程序可以使用它?