公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

ModusToolbox™ hex 文件生成Checksum - KBA236086

lock attach
Attachments are accessible only for community members.

ModusToolbox™ hex 文件生成Checksum - KBA236086

LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked
Community Translation:Checksum-generation-for-ModusToolbox-hex-file-KBA236086

 

将代码烧写至PSoC™设备前,通常要求定制化编程器先检测hex文件是否被恶意篡改。在这种情况下,编程器程序最好能够计算hex文件的checksum,并将该值与hex文件中0x90300000处的checksum进行比较,如果匹配,则表明该文件没有被篡改。

使用python脚本可以在ModusToolbox™的hex文件中生成checksum ,也可以在0x90300000处加载新的checksum

具体步骤如下:

  1. hex 文件目录下解压缩并复制‘hexCheckSumScript.py’ 文件,以下步骤中以‘mtb-example.hex’为例计算checksum;
  2. 打开命令提示符窗口(快捷键“win+R”);
  3. 输入命令“cd <path to folder >”,输入包含‘hexCheckSumScript.py’ 和‘mtb-example.hex’的文件夹目录;
  4. 运行以下命令,生成hex文件的checksum
  •        python   hexCheckSumScript.py   <Name of hex file>

脚本运行完成后,会生成一个前缀为 "csout_"的新hex文件,存储于Python脚本和输入的hex文件所在的文件夹中。

例:

LinglingG_46_1-1679030473560.png

                                                                           Figure1  脚本运行界面和成功生成hex文件显示结果     

检查新生成的hex文件的末尾三行,查看是否如Figure 2所示,成功生成checksum.

LinglingG_46_2-1679030520776.png

                                                                                 Figure 2 新Hex文件中checksum的位置

使用定制化编程器软件计算、生成hex文件的checksum,并与原文倒数第二行中的值(示例中该值为0xD07C,如Figure 2所示)进行比较,验证hex文件是否遭到篡改/修改了。

Note: 示例中所用Python版本为 v3.10.4

 

 

 

 

 

附件
0 点赞
294 次查看