openwrt 之设置uboot中tftp烧写证书变量

在flash中有一个专门存放uboot-env的block, 在发布uboot时可预置一些特定的bian变量,如此我们可以修改文件:qca/src/qca-legacy-uboot/include/configs/board953x.h (专项项目),如下图该文件一部分相关code

openwrt 之设置uboot中tftp烧写证书变量

writeCert=tftp 0x80060000 ${DeviceUuid}.cert;cp.b 0x80060000 0x9f061000 $filesize;crc32 0x9f061000 $filesize
writeKey=tftp 0x80060000 ${DeviceUuid}.pem;cp.b 0x80060000 0x9f060000 $filesize;crc32 0x9f060000 $filesize
writeCertFile=erase 0x9f060000 +0x10000;run writeKey;run writeCert

将文件通过tftp转存到0x80060000该内存地下,而后通过cp.b复制到0x9f060000为基址norflash中,并进行crc32校验,用于验证文件!

其中:

1,  DeviceUuid 设备标示符,使用该变量值作为索引获取需通过tftp传送的证书文件。

2,  filesize 通过tftp传送的文件大小 , 该变量自动更新,无需人维护!