【嵌入式Linux+ARM】存储控制器(操作SDRAM)

1.存储控制器介绍

s3c2440中的“存储管理器”提供了访问外部设备所需要的信号,有如下特性:

1.支持小字节序、大字节序(通过软件选择)

2.每个BANK为128M,一共有8个BANK,共1G

3.BANK0~BANK5可以支持外接ROM、SRAM等,BANK6~BANK7除可以支持ROM、SRAM外 还支持SDRAM

4.BANK0~BANK7的起始地址是固定的

5.外接SDRAM时,支持自刷新和省电模式

s3c2440上有ADDR0~ADDR26访问范围只有128M,如何达到上面的1G,通过对外引出的8跟片选信号nGCS0-nGCS7,,对应于BANK0~BANK7。片选信号输出低电平可以选中相应的外接设备。

2.实验代码

本实验流程:

禁止看门狗—>nand flash中前4k字节复制到芯片内部SRAM中执行—>通过存储控制器初始化外接的SDRAM—>复制代码到SDRAM中—>跳转到SDRAM中执行。

下面是需要配置存储控制器的相关寄存器,需要看手册:

0x22011110,//BWSCON0x00000700,//BANKCON00x00000700,//BANKCON10x00000700,//BANKCON20x00000700,//BANKCON3 0x00000700,//BANKCON40x00000700,//BANKCON50x00018005,//BANKCON60x00018005,//BANKCON70x008C07A3,//REFRESH0x000000B1,//BANKSIZE0x00000030,//MRSRB60x00000030,//MRSRB7

head.S

.equ MEM_CTL_BASE, 0x48000000//.euq A B 就是A=B 等价于c语言的宏定义.equ SDRAM_BASE, 0x30000000.text.global _start_start:bl disable_watch_dogbl memsetup//设置存储控制器bl copy_steppingstone_to_sdram //复制代码到SDRAM中ldr pc, =on_sdram//跳到SDRAM中执行on_sdram:ldr sp, =0x34000000//设置栈bl mainhalt_loop:b halt_loopdisable_watch_dog:mov r1, #0x53000000mov r2, #0x0str r2, [r1]//关闭看门狗mov pc, lr//返回copy_steppingstone_to_sdram:mov r1, #0x0ldr r2, =SDRAM_BASEmov r3, #4*10241:ldr r4, [r1], #4str r4, [r2], #4cmp r1, r3bne 1b//bne b跳转 ne是not equal 表示如果不相等,跳到1出继续执行 注意1不是l。。。mov pc, lrmemsetup:mov r1, #MEM_CTL_BASEadrl r2, mem_cfg_valadd r3, r1, #521:ldr r4, [r2], #4str r4, [r1], #4cmp r1, r3bne 1bmov pc, lr.align 4mem_cfg_val://存储控制器中13个寄存器的值.long 0x22011110.long 0x00000700.long 0x00000700 .long 0x00000700.long 0x00000700.long 0x00000700.long 0x00000700.long 0x00018005.long 0x00018005.long 0x008C07A3.long 0x000000B1.long 0x00000030.long 0x00000030Makefilesdram.bin:head.S led.carm-linux-gcc -c head.S -o head.oarm-linux-gcc -c led.c -o led.oarm-linux-ld -Ttext 0x30000000 head.o led.o -o sdram_elfarm-linux-objcopy -O binary -S sdram_elf sdram.binarm-linux-objdump -D -m arm sdram_elf > sdram.disclean:rm -rf *.o *.bin *.dis *elf

测试时用的led.c,随意选择前面文章中的led点灯程序即可。

注:原创文章,转载请著名出处:

有一些穿高跟鞋走不到的路,

【嵌入式Linux+ARM】存储控制器(操作SDRAM)

相关文章:

你感兴趣的文章:

标签云: