FS2410 开发板上的内存搬移实验
2)或011(CL=3)
/* 文件 sdram.c */
/* 作用 循环点亮开发板上的 D9、D10、D11、D12 四个发光二极管 */
#define GPFCON (*(volatile unsigned long *)0x56000050) /* GPFCON 端口地址为0x56000050 */
#define GPFDAT (*(volatile unsigned long *)0x56000054) /* GPFDAT 端口地址为0x56000054 */
int main()
{
int i,j;
while(1) {
for (i = 0; i <4; ++i) {
GPFCON = 0x1<(8+i*2); /* 如何设置此二寄存器使二极管发光,前一*/
GPFDAT = 0x0;/* 篇随笔(FS2401 发光二极管循环点亮) */
/* 里有介绍*/
// for delay
for(j=0;j<50000;++j) ;
}
}
}
# Makefile
# 编译上述三个代码文件, 并链接生成的目标文件,
# 再将目标文件(ELF格式)转换成二进制格式文件
sdram:head.s memory.s sdram.c
arm-linux-gcc -c -o head.o head.s
arm-linux-gcc -c -o memory.o memory.s
arm-linux-gcc -c -o sdram.o sdram.c
# -Ttext 0x30000000 会使目标文件里 ldr pc, =main 指令里的 pc 加上
# 0x30000000 这个基地址,而 #0x30000000 正是我们要将代码搬到 SDRAM 的
# 起始地址, 更多细节请参考 arm-linux-ld -Ttext 的用法
arm-linux-ld -Ttext 0x30000000 head.o memory.o sdram.o -o sdram_tmp.o
arm-linux-objcopy -O binary -S sdram_tmp.o sdram
clean:
rm -f *.o
rm -f sdram
三、编译、烧写、测试
Make 一下就会生成我们要的文件 sdram, 将其通过 JTAG 烧入 Nand Flash 即可,Reset
一下开发板, 欣赏您的实验成果吧
FS2410内存搬 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)