当前位置:文档之家› Tiny6410_Uboot移植步骤详解

Tiny6410_Uboot移植步骤详解


#include <config.h> #include <asm/arch/s3c6400.h>
.globl mem_ctrl_asm_init mem_ctrl_asm_init:
/* DMC1 base address 0x7e001000 */ ldr r0, =ELFIN_DMC1_BASE
#tar xzvf u-boot-gxb.tar.gz
二:在顶层的目录下找到 Makefile 文件,并用 gedit
打开
在 Makefile 中找到下面代码进行修改
########################################################################
else
\
echo
"RAM_TEXT
=
0xc7e00000"
$(obj)board/samsung/tiny6410/config.tmp;\
fi
@$(MKCONFIG) tiny6410 arm arm1176 tiny6410 samsung s3c64xx
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
ldr r1, =DMC_DDR_t_RFC ldr r2, =DMC_DDR_schedule_RFC orr r1, r1, r2 str r1, [r0, #INDEX_DMC_T_RFC]
ldr r1, =DMC_DDR_t_RP ldr r2, =DMC_DDR_schedule_RP orr r1, r1, r2 str r1, [r0, #INDEX_DMC_T_RP]
## ARM1176 Systems
#########################################################################
smdk6400_noUSB_config \
smdk6400_config : unconfig
@mkdir -p $(obj)include $(obj)board/samsung/smdk6400
#==================================================================
then >>
>>
三: arch/arm/cpu/arm1176/s3c64xx/cpu_init.S
#gedit arch/arm/cpu/arm1176/s3c64xx/cpu_init.S
二、 设计方案 1. 硬件资源 1) ARM 处 理 器 : ARM11 芯 片 (Samsung S3C6410A) , 基 于 ARM1176JZF-S 核 设 计 , 运 行 频 率 533Mhz, 最 高 可 达 667Mhz 2) 存储器: 128M DDR RAM ,可升级至 256M;MLC NAND Flash(2GB) 3) 其他资源:具有三 LCD 接口、 4 线电阻 触摸屏接口、100M 标准网络接口、标准 DB9 五线串口、Mini USB 2.0 接口、USB Host 1.1、3.5mm 音频输入输出口、标准 TV-OUT
ldr r1, =DMC_DDR_32_CFG str r1, [r0, #INDEX_DMC_USER_CONFIG]
/* DMC0 DDR Chip 0 configuration direct command reg */ ldr r1, =DMC_NOP0 str r1, [r0, #INDEX_DMC_DIRECT_CMD]
/* MRS */ ldr r1, =DMC_mDDR_EMR0 str r1, [r0, #INDEX_DMC_DIRECT_CMD]
/* Mode Reg */ ldr r1, =DMC_mDDR_MR0 str r1, [r0, #INDEX_DMC_DIRECT_CMD]
/* Enable DMC1 */ mov r1, #0x0 str r1, [r0, #INDEX_DMC_MEMC_CMD]
ldr r1, =DMC_DDR_t_RC str r1, [r0, #INDEX_DMC_T_RC]
ldr r1, =DMC_DDR_t_RCD ldr r2, =DMC_DDR_schedule_RCD orr r1, r1, r2 str r1, [r0, #INDEX_DMC_T_RCD]
tiny6410_noUSB_config \
tiny6410_config :
unconfig
@mkdir -p $(obj)include $(obj)board/samsung/tiny6410
@mkdir -p $(obj)nand_spl/board/samsung/tiny6410
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
// 4clk
address holding time
// 6clk
page mode access cycle
// normal(1data)page mode configuration
接口、SD 卡座、红外接收等常用接口;另外 还引出 4 路 TTL 串口,另 1 路 TV-OUT、 SDIO2 接口(可接 SD WiFi)接口等;在板的 还有蜂鸣器、I2C-EEPROM、备份电池、AD 可调电阻、8 个中断式按键等。 2. 软件资源 1) arm-linux-gcc-4.5.1(交叉编译) 2) u-boot-2010.09.tar.gz arm-linux-gcc-4.5.1-v6-vfp-20101103.t gz 三、 移植过程 1. 环境搭建 1) 建立交叉编译环境 2)去这 2 个网站随便下载都可以下载得到最
ldr r1, =DMC_DDR_t_XP str r1, [r0, #INDEX_DMC_T_XP]
ldr r1, =DMC_DDR_t_XSR str r1, [r0, #INDEX_DMC_T_XSR]
ldr r1, =DMC_DDR_t_ESR str r1, [r0, #INDEX_DMC_T_ESR]
#define SROM_BC1_REG_Tacs #define SROM_BC1_REG_Tcos #define SROM_BC1_REG_Tacc
(0x0) (0x4) (0xE)
// 0clk // 4clk // 14clk
address set-up chip selection set-up access cycle
ldr r1, =DMC_DDR_t_RRD str r1, [r0, #INDEX_DMC_T_RRD]
ldr r1, =DMC_DDR_t_WR str r1, [r0, #INDEX_DMC_T_WR]
ldr r1, =DMC_DDR_t_WTR str r1, [r0, #INDEX_DMC_T_WTR]
新 或 者 你 想 要 的 u-boot 。 ( /batch.viewl ink.php?itemid=1694 ftp://ftp.denx.de/pub/u-boot/ )
下面是具体的对 u-boot…的修改
一: 下载并解压 u-boot-gxb.tar.gz。
ldr r1, =0x4 str r1, [r0, #INDEX_DMC_MEMC_CMD]
ldr r1, =DMC_DDR_REFRESH_PRD str r1, [r0, #INDEX_DMC_REFRESH_PRD]
ldr r1, =DMC_DDR_CAS_LATENCY str r1, [r0, #INDEX_DMC_CAS_LATENCY]
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
@if [ -z "$(findstring tiny6410_noUSB_config,$@)" ];
\
echo
"RAM_TEXT
=
0x57e00000"
$(obj)board/samsung/tiny6410/config.tmp;\
Uboot_for_Tiny6410_移植步骤详解 一、 设计要求
1. 目的 1) 掌握 U-boot 剪裁编写 2) 掌握交叉编译环境的配置 3) 掌握 U-boot 的移植
2. 实现的功能 1) U-boot 编译成功 2) 移 植 U-boot , 使 系 统 支 持 从 NAND FLASH 启动
ldr r1, =DMC1_MEM_CFG str r1, [r0, #INDEX_DMC_MEMORY_CFG]
ldr r1, =DMC1_MEM_CFG2 str r1, [r0, #INDEX_DMC_MEMORY_CFG2]
ldr r1, =DMC1_CHIP0_CFG str r1, [r0, #INDEX_DMC_CHIP_0_CFG]
check_dmc1_ready: ldr r1, [r0, #INDEX_DMC_MEMC_STATUS] mov r2, #0x3 and r1, r1, r2 cmp r1, #0x1 bne check_dmc1_ready
nop 添加下面红色的代码 /*===========================更改部分=============================*/ #if defined(COj)nand_spl/board/samsung/smdk6400
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
相关主题