S5PV210的u-boot移植

2019-01-12 13:20

移植u-boot到GEC210

一、 编译u-boot

国内嵌入式厂商研发的S5PV210开发板大都基于SMDKV210评估板做了调整,所以三星提供的u-boot、内核、文件系统大都适用于这些S5PV210开发板,在项目开发中一般利用三星提供的u-boot移植到目标开发板。

1. 解压:

tar jxvf android_uboot_smdkv210.tar.bz2

进入目录:

cd u-boot-samsung-dev

2. 安装交叉编译器: vi Makefile

在147行,我们发现u-boot使用arm-2009q3编译器: 143 ifeq ($(ARCH),arm)

144 #CROSS_COMPILE = arm-linux-

145 #CROSS_COMPILE = /usr/local/arm/4.4.1-eabi-cortex-a8/usr/bin/arm-linux- 146 #CROSS_COMPILE = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-

147 CROSS_COMPILE = /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-

148 endif

现在我们安装arm-2009q3编译器: tar jxvf arm-2009q3.tar.bz2 -C /usr/local/arm/

3. 修改配置文件:

vim include/configs/smdkv210single.h

将:

#define CONFIG_SERIAL3 1 /* we use UART1 on SMDKC110 */

修改为:

#define CONFIG_SERIAL1 1 /* we use UART1 on SMDKC110 */

4. 配置:

make smdkv210single_config

5. 编译: make

编译完毕后可以得到u-boot.bin。 6. 下载运行:

将GEC210开发板的启动方式开关打到SD--BOOT一侧,连接好USB下载线,打开DNW.exe,然后复位开发板。几秒后窗口上方的USB:X应该会变成USB:OK,如下:

下载gec210_usb.bin到0xd0020010地址:

下载完毕后,USB连接会自动断开并再次自动连接上,再下载u-boot.bin到0x23e00000地址,下面是串口的输出:

U-Boot 1.3.4 (Jan 17 2013 - 10:51:36) for SMDKV210

CPU: S5PV210@1000MHz(OK)

APLL = 1000MHz, HclkMsys = 200MHz, PclkMsys = 100MHz MPLL = 667MHz, EPLL = 96MHz

HclkDsys = 166MHz, PclkDsys = 83MHz HclkPsys = 133MHz, PclkPsys = 66MHz SCLKA2M = 200MHz Serial = CLKUART Board: SMDKV210 DRAM: 1 GB Flash: 8 MB

SD/MMC: Card init fail! 0 MB

NAND: 256 MB

*** Warning - using default environment

In: serial Out: serial Err: serial

checking mode for fastboot ... Hit any key to stop autoboot: 0 SMDKV210 #

可以成功运行,S5PV210运行在1GHz,但认出来的DRAM大小(内存总数)有误。

二、 修改内存

我们的GEC210核心板有四块DDR2内存芯片,每块128MB,总共512MB:

我们再来看看S5PV210的地址映射图,S5PV210有两个DRAM区域:0x20000000-0x3FFFFFFF与0x40000000-0x7FFFFFFF:

由GEC210核心板的原理图可以看出,两块DDR芯片按高低16位数据线模式挂在DRAM0区域,另外两块DDR芯片按高低16位数据线模式挂在DRAM1区域。

1. 修改配置文件:

vim include/configs/smdkv210single.h

加入:

Start 0x20000000 size 0x10000000 Hole 0x10000000

Start 0x40000000 size 0x10000000

32 #define MEMORY_BASE_ADDRESS1 0x40000000 33 #define DMC0_MEMCONTROL 0x00202400

修改:

410 #define DMC0_MEMCONFIG_0 0x20F00313 411 #define DMC0_MEMCONFIG_1 0x00F00313

417 #define DMC1_MEMCONTROL 0x00202400 418 #define DMC1_MEMCONFIG_0 0x40F00313 419 #define DMC1_MEMCONFIG_1 0x00F00313

471 #define SDRAM_BANK_SIZE 0x10000000 /* 256 MB */

474 #define PHYS_SDRAM_2 (MEMORY_BASE_ADDRESS1) /* SDRAM Bank #2 */

2. 修改CPU初始化文件: vim cpu/s5pc11x/s5pc110/cpu_init.S

将122行: ldr r1, =0x00212400

修改为:

ldr r1, =DMC0_MEMCONTROL 重新编译下载运行,可以看出DRAM的大小已经正确认出:

U-Boot 1.3.4 (Jan 17 2013 - 10:51:36) for SMDKV210

CPU: S5PV210@1000MHz(OK)

APLL = 1000MHz, HclkMsys = 200MHz, PclkMsys = 100MHz MPLL = 667MHz, EPLL = 96MHz

HclkDsys = 166MHz, PclkDsys = 83MHz HclkPsys = 133MHz, PclkPsys = 66MHz SCLKA2M = 200MHz Serial = CLKUART Board: SMDKV210 DRAM: 512 MB Flash: 8 MB

SD/MMC: Card init fail! 0 MB

NAND: 256 MB

*** Warning - using default environment

In: serial Out: serial Err: serial

checking mode for fastboot ... Hit any key to stop autoboot: 0 SMDKV210 #


S5PV210的u-boot移植.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2011届高考数学临考练兵测试题38 文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: