质疑:“中断向量表中所有数据32位累加和为0”,lpc芯片真的做校验了吗?

博主对NXP LPC2294芯片手册中关于中断向量表32位累加和为0的规定提出质疑。通过实验,即使改变中断向量表的特定位置导致累加和不为0,程序仍能正常脱机运行。初步认为可能是NXP手册的误导,但后续发现是H-JTAG下载软件在下载过程中自动校正了值。将进一步通过ISP下载验证。
摘要由CSDN通过智能技术生成

我在使用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.

这个描述的意思是在中断向量表

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值