这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 下载专区 » [原创]4510 bootloader的实现与分析 (附源代码)

共108条 8/11 |‹ 6 7 8 9 10 11 跳转至
菜鸟
2005-12-30 22:28:00     打赏
71楼
好文章啊,对me这样的新手启发很大

菜鸟
2005-12-31 04:10:00     打赏
72楼
hao ren na

菜鸟
2006-01-01 01:46:00     打赏
73楼

谢谢大家 看了受益匪浅


菜鸟
2006-01-06 17:02:00     打赏
74楼

各位大侠大家好,我是一个ARM的初学者,现在刚从S3C44B0X开始学习ARM,有个问题向请教大家,

;Part 3
;***************************************************************
; Import some important variables for later use

IMPORT |Image$$RO$$Base|
IMPORT |Image$$RO$$Limit|
IMPORT |Image$$RW$$Base|
IMPORT |Image$$RW$$Limit|
IMPORT |Image$$ZI$$Base|
IMPORT |Image$$ZI$$Limit|

IMPORT表示声明一个已经存在的外部符号,但是我在外部并没有找到上面的这四个符号啊,而且为什么要在符号两边加|呢?不明白。

另外:

;Part 4
;****************************************************************
;Initalize the memory as followa:
; FLASH @ 0 ~ 2 M
; SDRAM @ 2 ~ 18M

LDR r1, =rEXTDBWTH ;EXTDBWTH
LDR r2, =rROMCON0 ;ROMCON0 @ 0M ~ 2M
LDR r3, =rROMCON1 ;ROMCON1 @ DISABLED
LDR r4, =rROMCON2 ;ROMCON1 @ DISABLED
LDR r5, =rROMCON3 ;ROMCON1 @ DISABLED
LDR r6, =rROMCON4 ;ROMCON1 @ DISABLED
LDR r7, =rROMCON5 ;ROMCON1 @ DISABLED
LDR r8, =rSDRAMCON0 ;SDRAMCON0 @ 2M ~ 18M
LDR r9, =rSDRAMCON1 ;SDRAMCON1 @ DISABLED
LDR r10,=rSDRAMCON2 ;SDRAMCON2 @ DISABLED
LDR r11,=rSDRAMCON3 ;SDRAMCON3 @ DISABLED
LDR r12,=rSREFEXTCON

LDR r0, =ARM7_EXTDBWTH
STMIA r0, {r1-r12}

这些语句是什么意思啊?我不明白。

;Part 7
;*****************************************************************
; Copy RW & ZI to SDRAM

LDR r0, =|Image$$RO$$Limit|
LDR r1, =|Image$$RW$$Base|
LDR r3, =|Image$$ZI$$Base|

CMP r0, r1
BEQ %1

0 CMP r1, r3 ; Copy init data
LDRCC r2, [r0], #4
STRCC r2, [r1], #4
BCC %0

1 LDR r1, =|Image$$ZI$$Limit| ; Top of zero init segment
MOV r2, #0

2 CMP r3, r1 ; Zero init
STRCC r2, [r3], #4
BCC %2
这几句话前面的数字1,2是标号吗?为什么用数字呢?用其他的字母可以吗?另外为什么要在数字前面加%啊?而且有时还加B或F.

恳请各位高手能给我讲解一下,我将万分感谢。


菜鸟
2006-01-06 19:46:00     打赏
75楼

1. 下面这些变量都是链接器定义的内部变量,详细信息你可以参考ADS LINKER GUIDE
IMPORT |Image$$RO$$Base|
IMPORT |Image$$RO$$Limit|
IMPORT |Image$$RW$$Base|
IMPORT |Image$$RW$$Limit|
IMPORT |Image$$ZI$$Base|
IMPORT |Image$$ZI$$Limit|

2.下面的这些指令是用来初始化S3C4510的存储空间的,如果你想了解具体的意思,建议看4510的手册
LDR r1, =rEXTDBWTH ;EXTDBWTH
LDR r2, =rROMCON0 ;ROMCON0 @ 0M ~ 2M
LDR r3, =rROMCON1 ;ROMCON1 @ DISABLED
LDR r4, =rROMCON2 ;ROMCON1 @ DISABLED
LDR r5, =rROMCON3 ;ROMCON1 @ DISABLED
LDR r6, =rROMCON4 ;ROMCON1 @ DISABLED
LDR r7, =rROMCON5 ;ROMCON1 @ DISABLED
LDR r8, =rSDRAMCON0 ;SDRAMCON0 @ 2M ~ 18M
LDR r9, =rSDRAMCON1 ;SDRAMCON1 @ DISABLED
LDR r10,=rSDRAMCON2 ;SDRAMCON2 @ DISABLED
LDR r11,=rSDRAMCON3 ;SDRAMCON3 @ DISABLED
LDR r12,=rSREFEXTCON

LDR r0, =ARM7_EXTDBWTH
STMIA r0, {r1-r12}

3. 数字定义的是局部标号,可以重复定义,所以可以用B,F来表示跳转的时候是向前搜索还是向后搜索标号。


菜鸟
2006-01-19 23:31:00     打赏
76楼

3Q


菜鸟
2006-02-17 00:27:00     打赏
77楼
答谢twentyone:你的精神在感动着我们!

菜鸟
2006-03-11 21:21:00     打赏
78楼

绝对经典好东西

获益匪浅!!!!!!!!!

谢谢21.

[align=right][color=#000066][此贴子已经被作者于2006-3-11 13:59:24编辑过][/color][/align]

菜鸟
2006-04-02 02:31:00     打赏
79楼
xiexie[em01]

菜鸟
2006-04-13 07:48:00     打赏
80楼

首先感谢twentyone这位大虾,写的实在是太好了!

我在看part7这段代码的时候,没有发现拷贝RW段到sdram的过程啊,请高手指点!

谢谢!


共108条 8/11 |‹ 6 7 8 9 10 11 跳转至

回复

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