crc() 运算符只能应用于 MEMORY 指令中的 GROUP。它无法应用于 MEMORY 指令中的个别存储器范围或 SECTIONS 指令中的组。
除了 节 8.9.1.1中所述的限制外,还适用以下限制:
- 存储器范围组在各个范围之间不能包含任何间隙。
- 所有存储器范围都必须位于同一页。
- 如果存储器范围所含的段不符合 CRC 表生成条件,那么该存储器范围不能进行 CRC 计算。也就是说,生成 CRC 值的存储器范围必须仅对应于已初始化段的加载地址。
- .TI.memcrc 段不能置于本身要计算 CRC 值的范围内。这样会导致循环引用;CRC 结果将取决于 CRC 的结果。请参阅 节 8.9.2.3,了解为大多数或所有闪存生成 CRC 而不违反此限制的方式。