本帖最后由 IFXVison 于 2023-9-27 14:14 编辑
将代码烧写至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文件所在的文件夹中。
例:
Figure1 脚本运行界面和成功生成hex文件显示结果
检查新生成的hex文件的末尾三行,查看是否如Figure 2所示,成功生成checksum.
Figure 2 新Hex文件中checksum的位置
使用定制化编程器软件计算、生成hex文件的checksum,并与原文倒数第二行中的值(示例中该值为0xD07C,如Figure 2所示)进行比较,验证hex文件是否遭到篡改/修改了。
Note: 示例中所用Python版本为 v3.10.4
|