Embedded 版 (精华区)

发信人: snows (花自飘零水自流), 信区: Embedded
标  题: 长篇连载--arm linux演艺---第一回  
发信站: 哈工大紫丁香 (2004年03月16日12:45:10 星期二), 站内信件

ZZ
长篇连载--arm linux演艺---第一回
-------------------------------------------------------------------------------
-

话说。。。(嘘声,“入正题把!“)

好好:

首先,porting linux的时候要规划内存影像,如小弟的系统有64m SDRAM,
地址从0x 0800 0000 -0x0bff ffff,32m flash,地址从0x0c00 0000-0x0dff ffff.
规划如下:bootloader, linux kernel, rootdisk放在flash里。
具体从 0x0c00 0000开始的第一个1M放bootloader,
0x0c10 0000开始的2m放linux kernel,从 0x0c30 0000开始都给rootdisk。

启动:
首先,启动后arm920T将地址0x0c00 0000映射到0(可通过跳线设置),
实际上从0x0c00 0000启动,进入我们的bootloader,但由于flash速度慢,
所以bootloader前面有一小段程序把bootloader拷贝到SDRAM 中的0x0AFE0100,
再从0x 0800 0000 运行bootloader,我们叫这段小程序为flashloader,


.equ SOURCE, 0x0C000100 bootloader的存放地址
.equ TARGET, 0x0AFE0100 目标地址
.equ SDCTL0, 0x221000 SDRAM控制器寄存器
// size is stored in location 0x0C0000FC

.global _start
_start: //入口点

//;***************************************
//;* Init SDRAM
//;***************************************


// ;***************
// ;* SDRAM
// ;***************

LDR r1, =SDCTL0 //

// ; Set Precharge Command
LDR r3, =0x92120200
//ldr r3,=0x92120251
STR r3, [r1]

// ; Issue Precharge All Commad
LDR r3, =0x8200000
LDR r2, [r3]

// ; Set AutoRefresh Command
LDR r3, =0xA2120200
STR r3, [r1]

// ; Issue AutoRefresh Command
LDR r3, =0x8000000
LDR r2, [r3]
LDR r2, [r3]
LDR r2, [r3]
LDR r2, [r3]
LDR r2, [r3]
LDR r2, [r3]
LDR r2, [r3]

// ; Set Mode Register
LDR r3, =0xB2120200
STR r3, [r1]

// ; Issue Mode Register Command
LDR r3, =0x08111800 //; Mode Register value
LDR r2, [r3]

// ; Set Normal Mode
LDR r3, =0x82124200
STR r3, [r1]

//;***************************************
//;* End of SDRAM and SyncFlash Init *
//;***************************************


// copy code from FLASH to SRAM

_CopyCodes:
ldr r0,=SOURCE
ldr r1,=TARGET
sub r3,r0,#4
ldr r2,[r3]

_CopyLoop:
ldr r3,[r0]
str r3,[r1]
add r0,r0,#4
add r1,r1,#4
sub r2,r2,#4
teq r2,#0
beq _EndCopy
b _CopyLoop

_EndCopy:
ldr r0,=TARGET
mov pc,r0

欲知后事如何,下回分解: 
--
-
 ╭────────────────────────────╮
 │   风萧传瑟声,叶落根深处,青阶入野无归途,他乡不知顾   │
 │   泣下问和谁,叹者行已暮,寒眉傲骨今尚在,奈何入凡土   │
 ╰────────────────────────────╯
                                                                             

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.154]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.876毫秒