zcww 发表于 2016-6-5 14:25:02

关于cortex m3 的向量表偏移量寄存器

NVIC中的向量表偏移寄存器这里有疑问:
已有的程序里设定了APP_VEC_ADDR 为0x00008000, 把它赋给VTOR, 计算和观测到偏移量都是0x100,
但是我把中断向量实际是放在了0x00008000开始的一段,这是怎么一回事? 如果偏移量是0x100.不应该把向量表放在0x100开始的一段吗?看糊涂了

ZY71 发表于 2016-6-5 14:42:46

不太明白你的APP_VEC_ADDR是指CM3内的偏移还是做IAP里软件设置的偏移,也就是说你设置和读取的值是否是真实的VTOR的地址,即0xE000ED08这个地址

zcww 发表于 2016-6-5 14:43:46

又想了下,应该是VTOR的0-28作为偏移量,低6位没用到,是因为偏移至少是128个字节起(4*32,32个中断,包括16个系统中断)

zcww 发表于 2016-6-5 14:47:45

ZY71 发表于 2016-6-5 14:42
不太明白你的APP_VEC_ADDR是指CM3内的偏移还是做IAP里软件设置的偏移,也就是说你设置和读取的值是否是真实 ...

有联系方式吗,刚开始弄m3,有问题请教.

ZY71 发表于 2016-6-5 14:52:40

zcww 发表于 2016-6-5 14:47
有联系方式吗,刚开始弄m3,有问题请教.

可以直接这里提出来的,这样也会有更多的坛友可以回答你的问题

ZY71 发表于 2016-6-5 17:59:00

zcww 发表于 2016-6-5 14:43
又想了下,应该是VTOR的0-28作为偏移量,低6位没用到,是因为偏移至少是128个字节起(4*32,32个中断,包括16个系 ...

如果内核版本是r2p1的话,这个寄存器比r2p0扩展了两位,也就是bit30和bit31也是有效的
页: [1]
查看完整版本: 关于cortex m3 的向量表偏移量寄存器