2440sd初始化(存储器控制器寄存器的设置)


#define mem_contrl 0x48000000   //13个寄存器的基地址(看做一个内存块)
init_sdram:
ldr r0, =mem_contrl               //r0表示基地址
add r3, r0, #4*13                  //r13表示末尾地址
adrl r1, mem_data               //数据块,地址装载

0:                                       //循环语句
ldr r2, [r1], #4                  // r2从r1地址往下移动取数据,每次地址加4
str r2, [r0], #4                 //值写入,从r0到r13,(通过地址加4实现)
cmp r0, r3                      //比较,不等于时跳转到之前的0处
bne 0b
mov pc, lr

mem_data:                  //数据块
.long 0x22000000
.long 0x00000700
.long 0x00000700
.long 0x00000700
.long 0x00000700
.long 0x00000700
.long 0x00000700
.long 0x00018001
.long 0x00018001
.long 0x008c04f5
.long 0x000000b1
.long 0x00000030
.long 0x00000030

原文地址:https://www.cnblogs.com/1932238825qq/p/7120131.html