您好!
我的应用代码中有一个函数、用于计算芯片的整个 FRAM 区域的哈希值。 它在附加的代码中实现。 如果我要对 BSL 使用相同的参数(即起始地址为0xf100、长度为1920 16位字)、这是否与我在下面的操作等效?
还使用了什么16位多项式? 我将 0x1021用于 CRC16 CCITT、但我似乎没有得到相同的结果。
//第一个和最后一个字 的地址#define firmware_start_address FRAM_start #define firmware_FRAM_SIZE 1920 静态空 CrcFirmware (void) { uint16_t i; uint16_t* flash_ptr =(uint16_t*) firmware_start_address; //输入第一个字以初始化 CRC 硬件 CRCINIRES = FLASH_PTR[0]; 对于(i = 1;i < firmware_FRAM_SIZE;i++) { CRCDI = FLASH_PTR[i]; } //保存结果 firmware_crc = CRCINIRES; }