这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [讨论]bb40的bootloader的源程序代码

共14条 1/2 1 2 跳转至

[讨论]bb40的bootloader的源程序代码

菜鸟
2005-01-18 19:24:08     打赏

在有关堆栈的设置中,我不明白下段代码的意思

往高手指教:

sub sp,sp,#4 ;decrement sp(to store jump address) stmfd sp!,{r0} ;PUSH the work register to stack(lr does't push because it return to original address) ldr r0,=$HandleLabel;load the address of HandleXXX to r0 ldr r0,[r0] ;load the contents(service routine start address) of HandleXXX str r0,[sp,#4] ;store the contents(ISR) of HandleXXX to stack ldmfd sp!,{r0,pc} ;POP the work register and pc(jump to ISR)

多谢。有谁想要完整的源代码,我可以提供




关键词: 讨论     bootloader     源程序     代码    

菜鸟
2005-01-19 04:26:00     打赏
2楼
这是用于查找Exception Handler入口地址的,不是设置堆栈,虽然有堆栈操作。

菜鸟
2005-01-19 04:26:00     打赏
3楼

兄弟我想要源代码,发我邮箱好吗?luyoj@163.com

多谢~~~~~


菜鸟
2005-02-05 18:32:00     打赏
4楼
我想要源代码,发我邮箱好吗?chen_1001@163.com

谢谢!!!!!!!!!


菜鸟
2005-02-16 01:55:00     打赏
5楼

兄弟,给我发一份吧,邮箱:hszsp@sohu.com

谢谢!

[em07]

菜鸟
2005-02-17 17:10:00     打赏
6楼

我想要源代码,发我邮箱好吗?xyf1204@163.com

谢谢!!!


菜鸟
2005-02-21 03:12:00     打赏
7楼

我想要源代码,发我邮箱好吗?chen_1001@163.com


菜鸟
2005-03-02 22:30:00     打赏
8楼

代码的具体意思是,首先将SP-4,然后将R0保存在SP-4中保护起来,接下来两条指令将HandleLabel地址中的数保存在R0中,然后将此时的R0装入sp+4(即SP)中,然后数据出栈,即SP中的值赋给pc,SP-4中的值赋给R0,从而实现程序的跳转。(注意,源程序中有一段代码

ldr r0,=HandleIRQ ;This routine is needed ldr r1,=IsrIRQ ;if there isn't 'subs pc,lr,#4' at 0x18, 0x1c str r1,[r0] )

正好实现跳转到IsrIRQ中断处理程序中


菜鸟
2005-03-04 20:46:00     打赏
9楼

rt

[align=right][color=#000066][此贴子已经被作者于2005-3-4 12:48:50编辑过][/color][/align]

菜鸟
2005-03-04 20:47:00     打赏
10楼
[quote]以下是引用runnerrjg在2005-3-2 14:30:00的发言:

代码的具体意思是,首先将SP-4,然后将R0保存在SP-4中保护起来,接下来两条指令将HandleLabel地址中的数保存在R0中,然后将此时的R0装入sp+4(即SP)中,然后数据出栈,即SP中的值赋给pc,SP-4中的值赋给R0,从而实现程序的跳转。(注意,源程序中有一段代码

ldr r0,=HandleIRQ ;This routine is needed ldr r1,=IsrIRQ ;if there isn't 'subs pc,lr,#4' at 0x18, 0x1c str r1,[r0] )

正好实现跳转到IsrIRQ中断处理程序中

[/quote]

我想说的是: 通过 isrIRQ 这个非向量中断过程 最终就是要跳转到 最后那个中断向量表 :HandleADC # 4 HandleRTC # 4 HandleUTXD1 # 4

.......

那么你是怎样将你的中断程序, 比如ADC中断处理程序 放到 HandleADC 这个中断向量中的?

有几种方法呢?


共14条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]