我使用 sblAppEx_1_03_00_00源文件sblAppEx.cpp进行了检查,发现cc2652芯片组的流程步骤如下所示:
(1)收集一些变量(baudrate,deviceType,filename,devFlashBase,bEnableXosc),
(2) 创建SblDevice并连接。
(3) 打开FW文件(文件名大小为36.0448万字节)并计算文件校验和以具有fileCrc值。
(4) 擦除闪存(36.0448万字节)和写入闪存(36.0448万字节)。
(5)计算闪存内容的CRC校验和以具有devCrc值。
(6)比较fileCrc和devCrc以确保FW闪存是否正常。
(7)重置设备。
如果在固件与闪存内容相同时,在(3)和(4)之间添加额外的步骤(与(5)相同)以不刷新固件,如下所示:
(1)收集一些变量(baudrate,deviceType,filename,devFlashBase,bEnableXosc),
(2) 创建SblDevice并连接。
(3) 打开FW文件(文件名大小为36.0448万字节)并计算文件校验和以具有fileCrc值。
(4)计算闪存内容的CRC校验和,以具有devCrc值[值A]。 如果固件与闪存内容相同,请将fileCrc和devCrc & NOT与闪存固件进行比较。
(5) 擦除闪存(36.0448万字节)和写入闪存(36.0448万字节)。
(6)计算闪存内容的CRC校验和,以具有devCrc值[值B]。
(7)比较fileCrc和devCrc以确保FW闪存是否正常。
(8)重置设备。
我的问题是:[值A]是否与[值B]相同? 为什么?
(注意:我们已将sblAppEx移植到ARM平台,但我验证并发现[值A]在 每次再次运行时似乎有不同的值。 我从CCS工具构建固件)
彼得。