ZHCUAV7Z september 1995 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
Example8-5 定义了一个名为“.section_to_be_verified”的段,其中包含来自 a1.c.obj 文件的 .text 数据。crc_table() 运算符请求链接器计算 .text 数据的 CRC 值,并将该值存储在名为“my_crc_table_for_a1”的表中。此表将包含调用用户提供的 CRC 计算例程所需的所有信息,并验证在运行时计算的 CRC 是否与链接器生成的 CRC 匹配。可使用符号 my_crc_table_for_a1 从应用程序代码访问此表,该符号应声明为“extern CRC_TABLE”类型。该符号将由链接器定义。应用程序代码可能类似于以下代码。
#include "crc_tbl.h"
extern CRC_TABLE my_crc_table_for_a1;
verify_a1_text_contents()
{
...
/* Verify CRC value for .text sections of a1.c.obj.*/
if (my_check_CRC(&my_crc_table_for_a1)) puts("OK");
}
Example8-10 中详细显示了 my_check_CRC() 例程。