Uboot在S3C2440上的移植详解(一)
#gedit cpu/arm920t/s3c24x0/speed.c //根据设置的分频系数FCLK:HCLK:PCLK = 1:4:8修改获取时钟频率的函数 |
static ulong get_PLLCLK(int pllreg) if(pllreg == MPLL) m =((r & 0xFF000)>> 12)+ 8; #if defined(CONFIG_S3C2440) return((CONFIG_SYS_CLK_FREQ * m)/(p < s)); /* return HCLK frequency */ #if defined(CONFIG_S3C2440) return((clk_power->CLKdivN & 0x2)? get_FCLK()/2 : get_FCLK()); |
好了!修改完毕后我们再重新编译u-boot,然后再下载到RAM中运行测试。结果终端有输出信息并且出现类似Shell的命令行,这说明这一部分移植完成。示意图如下:
现在编译u-boot,在根目录下会生成一个u-boot.bin文件。然后我们利用mini2440原有的supervivi把u-boot.bin下载到RAM中运行测试(注意:我们使用supervivi进行下载时已经对CPU、RAM进行了初始化,所以我们在u-boot中要屏蔽掉对CPU、RAM的初始化),如下:
/*#ifndef CONFIG_SKIP_LOWLEVEL_INIT //在start.S文件中屏蔽u-boot对CPU、RAM的初始化 #make my2440_config #make |
下载运行后可以看到开发板上的LED灯第一了亮了,其他三个熄灭,测试结果符合上面的要求。终端运行结果如下:
#gedit cpu/arm920t/start.S |
.globl _start |
#gedit cpu/arm920t/u-boot.lds |
OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm","elf32-littlearm") SECTIONS .= ALIGN(4); |
UbootS3C2440移植详 相关文章:
- Uboot在S3C2440上的移植详解(二)(11-09)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)