我在使用LPC2294时的新发现:
在NXP的LPC21XX、LPC22XX中,规定“中断向量表中所有数据32位累加和为0,否则程序不能脱机运行。”我发现这个规则完全是没有用的。
中文规则是周立功公司翻译过来的,我不大相信,所以找到了英文的描述。
原文的在NXP的LPC英文用户手册(LPC2119/2129/2194/2292/2294 USER MANUAL 2004 May 03)
第263页这样写道:
Criterion for valid user code:
The reserved ARM interrupt vector location (0x0000 0014) should contain the 2’s complement of the check-sum of the remaining interrupt vectors. This causes the checksum of all of the vectors together to be 0. The boot loader code disables the overlaying of the interrupt vectors from the boot block, then calculates the checksum of the interrupt vectors in sector 0 of the flash. If the signatures match then the execution control is transferred to the user code by loading the program counter with 0x 0000 0000. Hence the user flash reset vector should contain a jump instruction to the entry point of the user application code.
这个描述的意思是在中断向量表