共2条
1/1 1 跳转至页
UCOS 请教移植UCOS,异常向量表的问题!
问
LDR PC, ResetAddr
LDR PC, UndefinedAddr
LDR PC, SWI_Addr
LDR PC, PrefetchAddr
LDR PC, DataAbortAddr
DCD 0xb9205f80
LDR PC, [PC, #-0xff0]
LDR PC, FIQ_Addr
ResetAddr DCD ResetInit
UndefinedAddr DCD Undefined
SWI_Addr DCD SoftwareInterrupt
PrefetchAddr DCD PrefetchAbort
DataAbortAddr DCD DataAbort
Nouse DCD 0
IRQ_Addr DCD 0
FIQ_Addr DCD FIQ_Handler
"至于在保留的异常向量位置填数据0xb9205f80"是为了使向量表中所有的数据32位累加和为0."
不知道这里所指的"数据32位"指的是哪些数据?
答 1: re LDR PC, ResetAddr
LDR PC, UndefinedAddr
LDR PC, SWI_Addr
LDR PC, PrefetchAddr
LDR PC, DataAbortAddr
DCD 0xb9205f80
LDR PC, [PC, #-0xff0]
LDR PC, FIQ_Addr
这8个语句对应的机器码的累加和为0(每个语句的机器码都为32位)
答 2: 多谢指教! 答 3: 关于异常向量在保留的异常向量位置填数据0xb9205f80是为了使向量表中多有的数据32位累加和位0。这个向量在ARM文件中标识为保留,该位置被boot装载程序用作有效的用户程序关键字。当向量表中所有的数据累加和为0,且ISP外部硬件条件不满足时,boot装载程序将执行用户程序。 答 4: 为什么要其垒加和为0呢?为什么要其垒加和为0呢?
LDR PC, UndefinedAddr
LDR PC, SWI_Addr
LDR PC, PrefetchAddr
LDR PC, DataAbortAddr
DCD 0xb9205f80
LDR PC, [PC, #-0xff0]
LDR PC, FIQ_Addr
ResetAddr DCD ResetInit
UndefinedAddr DCD Undefined
SWI_Addr DCD SoftwareInterrupt
PrefetchAddr DCD PrefetchAbort
DataAbortAddr DCD DataAbort
Nouse DCD 0
IRQ_Addr DCD 0
FIQ_Addr DCD FIQ_Handler
"至于在保留的异常向量位置填数据0xb9205f80"是为了使向量表中所有的数据32位累加和为0."
不知道这里所指的"数据32位"指的是哪些数据?
答 1: re LDR PC, ResetAddr
LDR PC, UndefinedAddr
LDR PC, SWI_Addr
LDR PC, PrefetchAddr
LDR PC, DataAbortAddr
DCD 0xb9205f80
LDR PC, [PC, #-0xff0]
LDR PC, FIQ_Addr
这8个语句对应的机器码的累加和为0(每个语句的机器码都为32位)
答 2: 多谢指教! 答 3: 关于异常向量在保留的异常向量位置填数据0xb9205f80是为了使向量表中多有的数据32位累加和位0。这个向量在ARM文件中标识为保留,该位置被boot装载程序用作有效的用户程序关键字。当向量表中所有的数据累加和为0,且ISP外部硬件条件不满足时,boot装载程序将执行用户程序。 答 4: 为什么要其垒加和为0呢?为什么要其垒加和为0呢?
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |