共2条
1/1 1 跳转至页
44b0x 实在看不懂,所以还要劳烦各位大侠:关于44b0x的启动
问
前两次发帖,问题基本得以解决。可是往下看还是遇到不少问题,实在想不通,所以还请高手解惑。
谢了先,呵呵。
AREA Init,CODE,READONLY
ENTRY
b ResetHandler ;for debug
b HandlerUndef ;handlerUndef
b HandlerSWI ;SWI interrupt handler
b HandlerPabort ;handlerPAbort
b HandlerDabort ;handlerDAbort
b . ;handlerReserved //这里,b.是什么意思,跳转到哪里啊???
b HandlerIRQ
b HandlerFIQ
;***IMPORTANT NOTE***
;If the H/W vectored interrutp mode is enabled, The above two instructions should
;be changed like below, to work-around with H/W bug of S3C44B0X interrupt controller.
//上面这两句是什么意思啊,它说s3c44b0x的中断控制器有bug,这是怎么回事啊???
; b HandlerIRQ -> subs pc,lr,#4
; b HandlerIRQ -> subs pc,lr,#4
VECTOR_BRANCH //以下是中断向量表吗, 还有,这不是某条伪指令吧???
ldr pc,=HandlerEINT0 ;mGA H/W interrupt vector table
//如果是中断向量表的话,怎么用ldr指令啊?还有,"="表示什么意思,可以省略吗???
ldr pc,=HandlerEINT1 ;
ldr pc,=HandlerEINT2 ;
ldr pc,=HandlerEINT3 ;
ldr pc,=HandlerEINT4567 ;
ldr pc,=HandlerTICK ;mGA
b . //这句话是什么意思啊???
b .
ldr pc,=HandlerZDMA0 ;mGB
ldr pc,=HandlerZDMA1 ;
ldr pc,=HandlerBDMA0 ;
ldr pc,=HandlerBDMA1 ;
ldr pc,=HandlerWDT ;
ldr pc,=HandlerUERR01 ;mGB
b .
b .
ldr pc,=HandlerTIMER0 ;mGC
ldr pc,=HandlerTIMER1 ;
ldr pc,=HandlerTIMER2 ;
ldr pc,=HandlerTIMER3 ;
ldr pc,=HandlerTIMER4 ;
ldr pc,=HandlerTIMER5 ;mGC
b .
b .
ldr pc,=HandlerURXD0 ;mGD
ldr pc,=HandlerURXD1 ;
ldr pc,=HandlerIIC ;
ldr pc,=HandlerSIO ;
ldr pc,=HandlerUTXD0 ;
ldr pc,=HandlerUTXD1 ;mGD
b .
b .
ldr pc,=HandlerRTC ;mGKA
b . ;
b . ;
b . ;
b . ;
b . ;mGKA
b .
b .
ldr pc,=HandlerADC ;mGKB
b . ;
b . ;
b . ;
b . ;
b . ;mGKB
b .
b .
;0xe0=EnterPWDN
ldr pc,=EnterPWDN//还有这句话,也不太懂
LTORG //这是什么指令???
HandlerFIQ HANDLER HandleFIQ //这句话是什么意思,HANDLER在这里不是一个指令吧???
HandlerIRQ HANDLER HandleIRQ
HandlerUndef HANDLER HandleUndef
HandlerSWI HANDLER HandleSWI
HandlerDabort HANDLER HandleDabort
HandlerPabort HANDLER HandlePabort
HandlerADC HANDLER HandleADC
HandlerRTC HANDLER HandleRTC
HandlerUTXD1 HANDLER HandleUTXD1
HandlerUTXD0 HANDLER HandleUTXD0
HandlerSIO HANDLER HandleSIO
HandlerIIC HANDLER HandleIIC
HandlerURXD1 HANDLER HandleURXD1
HandlerURXD0 HANDLER HandleURXD0
HandlerTIMER5 HANDLER HandleTIMER5
HandlerTIMER4 HANDLER HandleTIMER4
HandlerTIMER3 HANDLER HandleTIMER3
HandlerTIMER2 HANDLER HandleTIMER2
HandlerTIMER1 HANDLER HandleTIMER1
HandlerTIMER0 HANDLER HandleTIMER0
HandlerUERR01 HANDLER HandleUERR01
HandlerWDT HANDLER HandleWDT
HandlerBDMA1 HANDLER HandleBDMA1
HandlerBDMA0 HANDLER HandleBDMA0
HandlerZDMA1 HANDLER HandleZDMA1
HandlerZDMA0 HANDLER HandleZDMA0
HandlerTICK HANDLER HandleTICK
HandlerEINT4567 HANDLER HandleEINT4567
HandlerEINT3 HANDLER HandleEINT3
HandlerEINT2 HANDLER HandleEINT2
HandlerEINT1 HANDLER HandleEINT1
HandlerEINT0 HANDLER HandleEINT0
;One of the following two routines CAN be used for non-vectored interrupt.//什么叫non-vectored interrupt???
IsrIRQ ;using I_ISPR register.
sub sp,sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
;IMPORTANT CAUTION
;if I_ISPC isn't used properly, I_ISPR CAN be 0 in this routine.
ldr r9,=I_ISPR
ldr r9,[r9]
mov r8,#0x0
0 //这是什么意思???
movs r9,r9,lsr #1
bcs %F1
add r8,r8,#4
b %B0
1 //同上
ldr r9,=HandleADC
add r9,r9,r8
ldr r9,[r9]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
刚学ARM,很多问题不懂,见笑了哈! 答 1: re到我的主页上下载“ADS使用手册之ADS_COMPILERGUIDE_D”,
看了就知道了。你问的问题都在里面。
http://www.efw520.com/download.html
希望对你有帮助。 答 2: 刚才快写完了,结果关机了,郁闷! 答 3: 舍得花点时间看看ARM汇编和编译器连接器手册就少了许多问题1.b . ;handlerReserved //这里,b.是什么意思,跳转到哪里啊???
保留位置0x00000014,跳转到当前位置 JMP $
2.//上面这两句是什么意思啊,它说s3c44b0x的中断控制器有bug,这是怎么回事啊???
有bug是很正常的事,按照所说改就就行了,这里使能了硬件中断向量,出现相应中断会跳到响应地址.
3.//以下是中断向量表吗, 还有,这不是某条伪指令吧???
是,不是,内部中向量从0x20开始,VECTOR_BRANCH只是一个标号,起到助记符的作用.看44B0手册,这里很多代码全是手册上的,没有手册的话把mail留下,我给你发一份.
4.//如果是中断向量表的话,怎么用ldr指令啊?还有,"="表示什么意思,可以省略吗???
将PC赋值,到HandleXXX执行.因为不是立即数或即存器所以,不能使用MOV.=就是其值也就标号所在位置的地址.
5.ldr pc,=EnterPWDN//还有这句话,也不太懂
我不知道你没看懂是指什么?这是中断向量的最后一个.
6.HandlerFIQ HANDLER HandleFIQ //这句话是什么意思,HANDLER在这里不是一个指令吧???
HANDLER是一个宏名,在你前面发的贴子里有定义.宏的格式查资料去吧.
7.;One of the following two routines CAN be used for non-vectored interrupt.//什么叫non-vectored interrupt???就是没使能硬件中断向量表,
使能硬件中断向量表后发生IRQ中断则ARM内核自动跳到相应地址执行,比如0x00000020,没使能则跳到0x18执行。
8.0 //这是什么意思???
使用数字做标号
详细的不是一句话能说明白的,还得靠你自己看了。
到hero415老兄的个人主页上看看吧,资料很多。
珊瑚虫这个名我很熟的。以前潜水总看到。
答 4: 谢谢各位
To hero415 :
你主页上资料很多啊,对我这样的入门者很有帮助。谢谢啊。
To weiganglnu:
每次都是你帮我解决问题,真的很麻烦你了,谢谢啦。像你这样热心的高手,现在不是很多了,呵呵!
“珊瑚虫这个名我很熟的”,谢谢啦,谢谢你还注意到珊瑚虫这样一个菜鸟,呵呵。
我从去年5月份开始学习嵌入式,中间做了一段时间8位单片机的开发,现在转做ARM,作为我的毕业设计。我狂爱嵌入式,经常到这里来潜水或者问问题,这里很多人对我帮助很大。所以再次深表感谢。 答 5: to weiganglnu
weiganglnu兄:
还得麻烦你给我发一份44b0x的手册,我们学校上三星网站要用代理,不太方便,谢了先。
我的邮箱:chenye_cau@163.com 答 6: 手册给你发过去了.还没毕业呀?就学ARM还研究Bootloader,暴强,佩服.
我去年毕业的.就只会51而已.学校较差,大公司不要,小公司工资太少.搞得我只能不做了.好好学习吧,别错过机会.一路走好. 答 7: 手册给你发过去了前两次发帖,问题基本得以解决。可是往下看还是遇到不少问题,实在想不通,所以还请高手解惑。
谢了先,呵呵。
AREA Init,CODE,READONLY
ENTRY
b ResetHandler ;for debug
b HandlerUndef ;handlerUndef
b HandlerSWI ;SWI interrupt handler
b HandlerPabort ;handlerPAbort
b HandlerDabort ;handlerDAbort
b . ;handlerReserved //这里,b.是什么意思,跳转到哪里啊???
b HandlerIRQ
b HandlerFIQ
;***IMPORTANT NOTE***
;If the H/W vectored interrutp mode is enabled, The above two instructions should
;be changed like below, to work-around with H/W bug of S3C44B0X interrupt controller.
//上面这两句是什么意思啊,它说s3c44b0x的中断控制器有bug,这是怎么回事啊???
; b HandlerIRQ -> subs pc,lr,#4
; b HandlerIRQ -> subs pc,lr,#4
VECTOR_BRANCH //以下是中断向量表吗, 还有,这不是某条伪指令吧???
ldr pc,=HandlerEINT0 ;mGA H/W interrupt vector table
//如果是中断向量表的话,怎么用ldr指令啊?还有,"="表示什么意思,可以省略吗???
ldr pc,=HandlerEINT1 ;
ldr pc,=HandlerEINT2 ;
ldr pc,=HandlerEINT3 ;
ldr pc,=HandlerEINT4567 ;
ldr pc,=HandlerTICK ;mGA
b . //这句话是什么意思啊???
b .
ldr pc,=HandlerZDMA0 ;mGB
ldr pc,=HandlerZDMA1 ;
ldr pc,=HandlerBDMA0 ;
ldr pc,=HandlerBDMA1 ;
ldr pc,=HandlerWDT ;
ldr pc,=HandlerUERR01 ;mGB
b .
b .
ldr pc,=HandlerTIMER0 ;mGC
ldr pc,=HandlerTIMER1 ;
ldr pc,=HandlerTIMER2 ;
ldr pc,=HandlerTIMER3 ;
ldr pc,=HandlerTIMER4 ;
ldr pc,=HandlerTIMER5 ;mGC
b .
b .
ldr pc,=HandlerURXD0 ;mGD
ldr pc,=HandlerURXD1 ;
ldr pc,=HandlerIIC ;
ldr pc,=HandlerSIO ;
ldr pc,=HandlerUTXD0 ;
ldr pc,=HandlerUTXD1 ;mGD
b .
b .
ldr pc,=HandlerRTC ;mGKA
b . ;
b . ;
b . ;
b . ;
b . ;mGKA
b .
b .
ldr pc,=HandlerADC ;mGKB
b . ;
b . ;
b . ;
b . ;
b . ;mGKB
b .
b .
;0xe0=EnterPWDN
ldr pc,=EnterPWDN//还有这句话,也不太懂
LTORG //这是什么指令???
HandlerFIQ HANDLER HandleFIQ //这句话是什么意思,HANDLER在这里不是一个指令吧???
HandlerIRQ HANDLER HandleIRQ
HandlerUndef HANDLER HandleUndef
HandlerSWI HANDLER HandleSWI
HandlerDabort HANDLER HandleDabort
HandlerPabort HANDLER HandlePabort
HandlerADC HANDLER HandleADC
HandlerRTC HANDLER HandleRTC
HandlerUTXD1 HANDLER HandleUTXD1
HandlerUTXD0 HANDLER HandleUTXD0
HandlerSIO HANDLER HandleSIO
HandlerIIC HANDLER HandleIIC
HandlerURXD1 HANDLER HandleURXD1
HandlerURXD0 HANDLER HandleURXD0
HandlerTIMER5 HANDLER HandleTIMER5
HandlerTIMER4 HANDLER HandleTIMER4
HandlerTIMER3 HANDLER HandleTIMER3
HandlerTIMER2 HANDLER HandleTIMER2
HandlerTIMER1 HANDLER HandleTIMER1
HandlerTIMER0 HANDLER HandleTIMER0
HandlerUERR01 HANDLER HandleUERR01
HandlerWDT HANDLER HandleWDT
HandlerBDMA1 HANDLER HandleBDMA1
HandlerBDMA0 HANDLER HandleBDMA0
HandlerZDMA1 HANDLER HandleZDMA1
HandlerZDMA0 HANDLER HandleZDMA0
HandlerTICK HANDLER HandleTICK
HandlerEINT4567 HANDLER HandleEINT4567
HandlerEINT3 HANDLER HandleEINT3
HandlerEINT2 HANDLER HandleEINT2
HandlerEINT1 HANDLER HandleEINT1
HandlerEINT0 HANDLER HandleEINT0
;One of the following two routines CAN be used for non-vectored interrupt.//什么叫non-vectored interrupt???
IsrIRQ ;using I_ISPR register.
sub sp,sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
;IMPORTANT CAUTION
;if I_ISPC isn't used properly, I_ISPR CAN be 0 in this routine.
ldr r9,=I_ISPR
ldr r9,[r9]
mov r8,#0x0
0 //这是什么意思???
movs r9,r9,lsr #1
bcs %F1
add r8,r8,#4
b %B0
1 //同上
ldr r9,=HandleADC
add r9,r9,r8
ldr r9,[r9]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
刚学ARM,很多问题不懂,见笑了哈!
* - 本贴最后修改时间:2005-5-26 20:29:38 修改者:珊瑚虫
* - 修改原因:添加内容
·---
谢了先,呵呵。
AREA Init,CODE,READONLY
ENTRY
b ResetHandler ;for debug
b HandlerUndef ;handlerUndef
b HandlerSWI ;SWI interrupt handler
b HandlerPabort ;handlerPAbort
b HandlerDabort ;handlerDAbort
b . ;handlerReserved //这里,b.是什么意思,跳转到哪里啊???
b HandlerIRQ
b HandlerFIQ
;***IMPORTANT NOTE***
;If the H/W vectored interrutp mode is enabled, The above two instructions should
;be changed like below, to work-around with H/W bug of S3C44B0X interrupt controller.
//上面这两句是什么意思啊,它说s3c44b0x的中断控制器有bug,这是怎么回事啊???
; b HandlerIRQ -> subs pc,lr,#4
; b HandlerIRQ -> subs pc,lr,#4
VECTOR_BRANCH //以下是中断向量表吗, 还有,这不是某条伪指令吧???
ldr pc,=HandlerEINT0 ;mGA H/W interrupt vector table
//如果是中断向量表的话,怎么用ldr指令啊?还有,"="表示什么意思,可以省略吗???
ldr pc,=HandlerEINT1 ;
ldr pc,=HandlerEINT2 ;
ldr pc,=HandlerEINT3 ;
ldr pc,=HandlerEINT4567 ;
ldr pc,=HandlerTICK ;mGA
b . //这句话是什么意思啊???
b .
ldr pc,=HandlerZDMA0 ;mGB
ldr pc,=HandlerZDMA1 ;
ldr pc,=HandlerBDMA0 ;
ldr pc,=HandlerBDMA1 ;
ldr pc,=HandlerWDT ;
ldr pc,=HandlerUERR01 ;mGB
b .
b .
ldr pc,=HandlerTIMER0 ;mGC
ldr pc,=HandlerTIMER1 ;
ldr pc,=HandlerTIMER2 ;
ldr pc,=HandlerTIMER3 ;
ldr pc,=HandlerTIMER4 ;
ldr pc,=HandlerTIMER5 ;mGC
b .
b .
ldr pc,=HandlerURXD0 ;mGD
ldr pc,=HandlerURXD1 ;
ldr pc,=HandlerIIC ;
ldr pc,=HandlerSIO ;
ldr pc,=HandlerUTXD0 ;
ldr pc,=HandlerUTXD1 ;mGD
b .
b .
ldr pc,=HandlerRTC ;mGKA
b . ;
b . ;
b . ;
b . ;
b . ;mGKA
b .
b .
ldr pc,=HandlerADC ;mGKB
b . ;
b . ;
b . ;
b . ;
b . ;mGKB
b .
b .
;0xe0=EnterPWDN
ldr pc,=EnterPWDN//还有这句话,也不太懂
LTORG //这是什么指令???
HandlerFIQ HANDLER HandleFIQ //这句话是什么意思,HANDLER在这里不是一个指令吧???
HandlerIRQ HANDLER HandleIRQ
HandlerUndef HANDLER HandleUndef
HandlerSWI HANDLER HandleSWI
HandlerDabort HANDLER HandleDabort
HandlerPabort HANDLER HandlePabort
HandlerADC HANDLER HandleADC
HandlerRTC HANDLER HandleRTC
HandlerUTXD1 HANDLER HandleUTXD1
HandlerUTXD0 HANDLER HandleUTXD0
HandlerSIO HANDLER HandleSIO
HandlerIIC HANDLER HandleIIC
HandlerURXD1 HANDLER HandleURXD1
HandlerURXD0 HANDLER HandleURXD0
HandlerTIMER5 HANDLER HandleTIMER5
HandlerTIMER4 HANDLER HandleTIMER4
HandlerTIMER3 HANDLER HandleTIMER3
HandlerTIMER2 HANDLER HandleTIMER2
HandlerTIMER1 HANDLER HandleTIMER1
HandlerTIMER0 HANDLER HandleTIMER0
HandlerUERR01 HANDLER HandleUERR01
HandlerWDT HANDLER HandleWDT
HandlerBDMA1 HANDLER HandleBDMA1
HandlerBDMA0 HANDLER HandleBDMA0
HandlerZDMA1 HANDLER HandleZDMA1
HandlerZDMA0 HANDLER HandleZDMA0
HandlerTICK HANDLER HandleTICK
HandlerEINT4567 HANDLER HandleEINT4567
HandlerEINT3 HANDLER HandleEINT3
HandlerEINT2 HANDLER HandleEINT2
HandlerEINT1 HANDLER HandleEINT1
HandlerEINT0 HANDLER HandleEINT0
;One of the following two routines CAN be used for non-vectored interrupt.//什么叫non-vectored interrupt???
IsrIRQ ;using I_ISPR register.
sub sp,sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
;IMPORTANT CAUTION
;if I_ISPC isn't used properly, I_ISPR CAN be 0 in this routine.
ldr r9,=I_ISPR
ldr r9,[r9]
mov r8,#0x0
0 //这是什么意思???
movs r9,r9,lsr #1
bcs %F1
add r8,r8,#4
b %B0
1 //同上
ldr r9,=HandleADC
add r9,r9,r8
ldr r9,[r9]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
刚学ARM,很多问题不懂,见笑了哈! 答 1: re到我的主页上下载“ADS使用手册之ADS_COMPILERGUIDE_D”,
看了就知道了。你问的问题都在里面。
http://www.efw520.com/download.html
希望对你有帮助。 答 2: 刚才快写完了,结果关机了,郁闷! 答 3: 舍得花点时间看看ARM汇编和编译器连接器手册就少了许多问题1.b . ;handlerReserved //这里,b.是什么意思,跳转到哪里啊???
保留位置0x00000014,跳转到当前位置 JMP $
2.//上面这两句是什么意思啊,它说s3c44b0x的中断控制器有bug,这是怎么回事啊???
有bug是很正常的事,按照所说改就就行了,这里使能了硬件中断向量,出现相应中断会跳到响应地址.
3.//以下是中断向量表吗, 还有,这不是某条伪指令吧???
是,不是,内部中向量从0x20开始,VECTOR_BRANCH只是一个标号,起到助记符的作用.看44B0手册,这里很多代码全是手册上的,没有手册的话把mail留下,我给你发一份.
4.//如果是中断向量表的话,怎么用ldr指令啊?还有,"="表示什么意思,可以省略吗???
将PC赋值,到HandleXXX执行.因为不是立即数或即存器所以,不能使用MOV.=就是其值也就标号所在位置的地址.
5.ldr pc,=EnterPWDN//还有这句话,也不太懂
我不知道你没看懂是指什么?这是中断向量的最后一个.
6.HandlerFIQ HANDLER HandleFIQ //这句话是什么意思,HANDLER在这里不是一个指令吧???
HANDLER是一个宏名,在你前面发的贴子里有定义.宏的格式查资料去吧.
7.;One of the following two routines CAN be used for non-vectored interrupt.//什么叫non-vectored interrupt???就是没使能硬件中断向量表,
使能硬件中断向量表后发生IRQ中断则ARM内核自动跳到相应地址执行,比如0x00000020,没使能则跳到0x18执行。
8.0 //这是什么意思???
使用数字做标号
详细的不是一句话能说明白的,还得靠你自己看了。
到hero415老兄的个人主页上看看吧,资料很多。
珊瑚虫这个名我很熟的。以前潜水总看到。
答 4: 谢谢各位
To hero415 :
你主页上资料很多啊,对我这样的入门者很有帮助。谢谢啊。
To weiganglnu:
每次都是你帮我解决问题,真的很麻烦你了,谢谢啦。像你这样热心的高手,现在不是很多了,呵呵!
“珊瑚虫这个名我很熟的”,谢谢啦,谢谢你还注意到珊瑚虫这样一个菜鸟,呵呵。
我从去年5月份开始学习嵌入式,中间做了一段时间8位单片机的开发,现在转做ARM,作为我的毕业设计。我狂爱嵌入式,经常到这里来潜水或者问问题,这里很多人对我帮助很大。所以再次深表感谢。 答 5: to weiganglnu
weiganglnu兄:
还得麻烦你给我发一份44b0x的手册,我们学校上三星网站要用代理,不太方便,谢了先。
我的邮箱:chenye_cau@163.com 答 6: 手册给你发过去了.还没毕业呀?就学ARM还研究Bootloader,暴强,佩服.
我去年毕业的.就只会51而已.学校较差,大公司不要,小公司工资太少.搞得我只能不做了.好好学习吧,别错过机会.一路走好. 答 7: 手册给你发过去了前两次发帖,问题基本得以解决。可是往下看还是遇到不少问题,实在想不通,所以还请高手解惑。
谢了先,呵呵。
AREA Init,CODE,READONLY
ENTRY
b ResetHandler ;for debug
b HandlerUndef ;handlerUndef
b HandlerSWI ;SWI interrupt handler
b HandlerPabort ;handlerPAbort
b HandlerDabort ;handlerDAbort
b . ;handlerReserved //这里,b.是什么意思,跳转到哪里啊???
b HandlerIRQ
b HandlerFIQ
;***IMPORTANT NOTE***
;If the H/W vectored interrutp mode is enabled, The above two instructions should
;be changed like below, to work-around with H/W bug of S3C44B0X interrupt controller.
//上面这两句是什么意思啊,它说s3c44b0x的中断控制器有bug,这是怎么回事啊???
; b HandlerIRQ -> subs pc,lr,#4
; b HandlerIRQ -> subs pc,lr,#4
VECTOR_BRANCH //以下是中断向量表吗, 还有,这不是某条伪指令吧???
ldr pc,=HandlerEINT0 ;mGA H/W interrupt vector table
//如果是中断向量表的话,怎么用ldr指令啊?还有,"="表示什么意思,可以省略吗???
ldr pc,=HandlerEINT1 ;
ldr pc,=HandlerEINT2 ;
ldr pc,=HandlerEINT3 ;
ldr pc,=HandlerEINT4567 ;
ldr pc,=HandlerTICK ;mGA
b . //这句话是什么意思啊???
b .
ldr pc,=HandlerZDMA0 ;mGB
ldr pc,=HandlerZDMA1 ;
ldr pc,=HandlerBDMA0 ;
ldr pc,=HandlerBDMA1 ;
ldr pc,=HandlerWDT ;
ldr pc,=HandlerUERR01 ;mGB
b .
b .
ldr pc,=HandlerTIMER0 ;mGC
ldr pc,=HandlerTIMER1 ;
ldr pc,=HandlerTIMER2 ;
ldr pc,=HandlerTIMER3 ;
ldr pc,=HandlerTIMER4 ;
ldr pc,=HandlerTIMER5 ;mGC
b .
b .
ldr pc,=HandlerURXD0 ;mGD
ldr pc,=HandlerURXD1 ;
ldr pc,=HandlerIIC ;
ldr pc,=HandlerSIO ;
ldr pc,=HandlerUTXD0 ;
ldr pc,=HandlerUTXD1 ;mGD
b .
b .
ldr pc,=HandlerRTC ;mGKA
b . ;
b . ;
b . ;
b . ;
b . ;mGKA
b .
b .
ldr pc,=HandlerADC ;mGKB
b . ;
b . ;
b . ;
b . ;
b . ;mGKB
b .
b .
;0xe0=EnterPWDN
ldr pc,=EnterPWDN//还有这句话,也不太懂
LTORG //这是什么指令???
HandlerFIQ HANDLER HandleFIQ //这句话是什么意思,HANDLER在这里不是一个指令吧???
HandlerIRQ HANDLER HandleIRQ
HandlerUndef HANDLER HandleUndef
HandlerSWI HANDLER HandleSWI
HandlerDabort HANDLER HandleDabort
HandlerPabort HANDLER HandlePabort
HandlerADC HANDLER HandleADC
HandlerRTC HANDLER HandleRTC
HandlerUTXD1 HANDLER HandleUTXD1
HandlerUTXD0 HANDLER HandleUTXD0
HandlerSIO HANDLER HandleSIO
HandlerIIC HANDLER HandleIIC
HandlerURXD1 HANDLER HandleURXD1
HandlerURXD0 HANDLER HandleURXD0
HandlerTIMER5 HANDLER HandleTIMER5
HandlerTIMER4 HANDLER HandleTIMER4
HandlerTIMER3 HANDLER HandleTIMER3
HandlerTIMER2 HANDLER HandleTIMER2
HandlerTIMER1 HANDLER HandleTIMER1
HandlerTIMER0 HANDLER HandleTIMER0
HandlerUERR01 HANDLER HandleUERR01
HandlerWDT HANDLER HandleWDT
HandlerBDMA1 HANDLER HandleBDMA1
HandlerBDMA0 HANDLER HandleBDMA0
HandlerZDMA1 HANDLER HandleZDMA1
HandlerZDMA0 HANDLER HandleZDMA0
HandlerTICK HANDLER HandleTICK
HandlerEINT4567 HANDLER HandleEINT4567
HandlerEINT3 HANDLER HandleEINT3
HandlerEINT2 HANDLER HandleEINT2
HandlerEINT1 HANDLER HandleEINT1
HandlerEINT0 HANDLER HandleEINT0
;One of the following two routines CAN be used for non-vectored interrupt.//什么叫non-vectored interrupt???
IsrIRQ ;using I_ISPR register.
sub sp,sp,#4 ;reserved for PC
stmfd sp!,{r8-r9}
;IMPORTANT CAUTION
;if I_ISPC isn't used properly, I_ISPR CAN be 0 in this routine.
ldr r9,=I_ISPR
ldr r9,[r9]
mov r8,#0x0
0 //这是什么意思???
movs r9,r9,lsr #1
bcs %F1
add r8,r8,#4
b %B0
1 //同上
ldr r9,=HandleADC
add r9,r9,r8
ldr r9,[r9]
str r9,[sp,#8]
ldmfd sp!,{r8-r9,pc}
刚学ARM,很多问题不懂,见笑了哈!
* - 本贴最后修改时间:2005-5-26 20:29:38 修改者:珊瑚虫
* - 修改原因:添加内容
·---
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |