ZHCAAO2E February 2015 – August 2024 CC1310 , CC1352R , CC2538 , CC2620 , CC2630 , CC2640 , CC2640R2F , CC2640R2F-Q1 , CC2642R , CC2642R-Q1 , CC2650 , CC2650MODA , CC2652R , CC2652R7 , CC2652RB , CC2652RSIP
为了验证固件是否已成功编程到闪存存储器中,使用 SBL 函数 calculateCrc32
从引导加载程序中获取闪存存储器指定部分的 CRC32 校验和。calculateCrc32
函数使用命令 CMD_CRC32 以及会包含在 CRC32 校验和中的起始地址和字节数。
对于 CC13xx 和 CC26xx,引导加载程序还需要读取重复计数。将此项设置为 0x00000000 可确保仅读取一次数据位置。
CC2538、CC13xx 和 CC26xx 引导加载程序使用 CRC-32-IEEE 802.3 通过以下多项式来计算 CRC 校验和。
CRC32poly = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
在 SBL 示例工程中包含了有关如何使用 CRC32poly 来计算校验和的示例。图 4-8 展示了 calculateCrc32
函数的序列图表。