Tiny6410_Uboot移植步骤详解

合集下载

uboot移植到6410开发板的过程及环境变量的修改

uboot移植到6410开发板的过程及环境变量的修改

天涯海阁嵌入式linuxu boot移植到6410开发板的过程及环境变量的修改分类: uboot 2012-09-28 11:16 319人阅读 评论(0) 收藏举报一、通过U盘下载uboot.bin到开发板,U盘事先必须用飞凌光盘里的一个快速烧写工具,把mmc.bin烧写进U盘内,但是打开U盘后看不到这个文件。

然后将uboot.bin烧写进U盘。

(ps,如果要直接通过U盘将内核还有文件系统烧写进开发板里,可以直接将zImage跟cramfs文件系统拷进U盘)二、将U盘插入开发板,选择U盘启动模式,1 2 3 off ,其他on;打开终端,启动;之后就开始烧写,由于没有在U 盘内放zImage ,所以烧写的最后一行会提示not found zImage 等。

三、断开电源,选择nand flash启动:1 2 3 6 7 off,其他on;打开电源,在bootdelay计时的时候按下空格键;进入uboot的命令模式;四、查看环境变量:printenv五、修改环境变量:setenv,包括ip地址等,主要是修改bootcmd跟bootargs,我是用tftp下载uImage,用nfs挂载根文件系统:Setenv bootcmd 'tftp c0008000 uImage;bootm c0008000'(如果要设置多个,就要加上''号,如果有多个命令,在两个命令之间加;号)Setenv bootargs ‘console=ttySAC0 root=/dev/nfs nfsroot=172.22.17.20:/nfsroot/rootfsip=172.22.17.21’(consle是设置平台,nfsroot 是设置nfs的挂载地址,172.22.17.21是开发板的ip,172.22.17.20是主机的ip)都设置完再查看环境变量printenv ,如果没问题就保存:saveenv六、重启 ok**************************************************************************************************** 下面对bootargs的设置做一些介绍:bootargs是环境变量中的重中之重,甚至可以说整个环境变量都是围绕着bootargs来设置的。

07- Tiny6410 Ubuntu用户手册

07- Tiny6410 Ubuntu用户手册

(本手册正在不断更新中,建议您到网站下载最新版本) copyright@2010
更新说明:
Step4: 把开发板S2设置为SDBOOT,并插入SD卡,开机上电,即可运行Ubuntu Ubuntu系统开始启动,如下界面。

我们配置的Ubuntu系统,使用了XFCE窗口管理器,而不是
太庞大了,整个系统几乎无法运行。

进入系统之后,你可能看不到有趣的的应用程卡,并在桌面上显示出来。

这是它的一些设置菜单截图。

说明:通过SD卡运行Ubuntu系统,实际上只用到了
- uzImage : 内核文件,对于不同型号的LCD,分别有不同的内核文件(2)解压安装u-boot源代码
在工作目录/opt/FriendlyARM/mini6410/ubuntu中执行:
小一些,这样也可以烧写的更快一些。

S3C6410的u-boot移植

S3C6410的u-boot移植
在132行添加如下,目的是找到命令段
132 .global uboot_cmd_start
133 uboot_cmd_start:
134 .word __u_boot_cmd_start - _start
135 .global uboot_cmd_end
145 "ldr %0, [r0]\n"
146 "ldr r0, =uboot_cmd_end\n"
147 "ldr %1, [r0]\n"
148 "ldr %2, =_start\n"
88 #define DM9000_IO CONFIG_DM9000_BASE
89 #define DM9000_DATA (CONFIG_DM9000_BASE + 4)
90 #define CONFIG_DM9000_BUS16
在114行到117行添加如下,目的在于打开网络支持和ping命令
58 bic r1, r1, r2
59 orr Байду номын сангаас r1, r1, #0x11
60 orr r1, r1, #0x1100
61 str r1, [r0]
62 /* LED ALL ON */
sizeof(cmd_tbl_t));
154 // return find_cmd_tbl(cmd, &__u_boot_cmd_start, len);
155 }
八、修改u-boot-2012.04/include/configs/smdk6400.h
把81到83行注释掉,目的是取消CS8900网卡

tiny6410内核移植

tiny6410内核移植

Tiny6410 的内核移植(拿来主义)一、开发环境宿主机: vista+VMware+ fedoral13(win7下虚拟机)编译器: 友善自带arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz开发板: tiny6410,核心板号1106 NAND 2G RAM 256M注意:移植内核时,确保引导文件为u-boot类型,否则到后面下载到开发板使会出现乱码以及不必要的错误二、移植nand_flash1 下载linux-2.6.38的源码ftp:///pub/linux/kernel/v2.6/linux-2.6.38.tar.bz22 解压#tar xvfj /mnt/ubuntu/linux-2.6.38.tar.bz2 -C .3 修改根下的Makefile#vi Makefile191行改为ARCH ?= armCROSS_COMPILE ?= arm-linux- (找到其交叉编译环境)4 生成默认配置文件#cp arch/arm/configs/s3c6400_defconfig .config(如果省略的话,后面会找不到System Type)5 修改配置项(基本配置)#make menuconfigGeneral setup->(/usr/4.5.1/bin/arm-linux-) Cross-compiler tool prefix 我将编译器解压到了/opt/Friendly/toolschain/4.5.1/bin目录(如果第三步中以修改“plier ? = arm-linux- ”此项,这步可以不作)System Type->[*] MINI6410 选上,其他的可以去掉,不确定的可以参考友善之臂的(这样编译出来的内核是可以被uboot引导的,然后是增加nand flash支持)vi arch/arm/mach-s3c64xx/mach-mini6410.c第117行struct mtd_partition mini6410_nand_part[] = {{.name = "Bootloader",.offset = 0,.size = (4 * 128 *SZ_1K),.mask_flags = MTD_CAP_NANDFLASH,},{.name = "Kernel",.offset = (4 * 128 *SZ_1K),.size = (5*SZ_1M) ,.mask_flags = MTD_CAP_NANDFLASH,},{.name = "File System",.offset = MTDPART_OFS_APPEND,.size = MTDPART_SIZ_FULL,}}; //update at 2011-8-26 经过测试发现,这里改完后根本不起作用,甚至将整个注释也无妨,估计分区已经固死在后面的s3c_nand_mlc.fo 中6 拷贝NAND FLASH驱动(将6410内核中的如下文件拷到相应的目录下)需拷贝文件:drivers/mtd/nand/s3c_nand.carch/arm/plat-samsung/include/plat/regs-nand.h 覆盖掉drivers/mtd/nand/s3c_nand_mlc.fo《s3c_nand_mlc.fo友善没有开源的一个驱动之一,所以不用研究了,拷过来就是了。

tiny6410烧写环境

tiny6410烧写环境

1、准备SD卡uboot需要SD卡烧写器和uboot镜像下载地址为:SD卡烧写器:/detail/songlan0012/7297353sd卡uboot镜像:/detail/songlan0012/73033692、将串口转usb线硬件连接好,串口接到tiny6410开发板,usb口接到电脑,会检查到新usb硬件图一这个是串口转USB驱动没有安装,点击取消,下载安装文件:PL2303_Prolific_DriverInstaller_v110.zip(我使用的是这个硬件)。

usb转串口驱动下载地址:/detail/songlan0012/7303905安装完后在设备管理器其中查看如图(可能需要重新拔掉再插上usb接口)图二图中COM3就是了。

打开dnw(串口界面工具),下载地址:/detail/songlan0012/7297327初始状态如图:图三点击Serial Port 菜单中的Connect选项,状态如下图:图四如果如上图出现COM3,115200bps (COM3是设备管理器中的COM3可能是其他COM口编号)恭喜,至此tiny6410串口驱动安装成功。

2、制作sd卡uboot资源:需要一个大于等于4G的SD卡,格式化成FAT32格式工具:SD-Flasher.exe (SD卡烧写器)工具下载地址:/detail/songlan0012/7297353这个工具不需要安装,直接运行使用。

直接打开界面为下图:图五点击Image file to fuse输入框后面的按钮选择要烧写的superuboot镜像,镜像下载地址为:/detail/songlan0012/7303369然后点击Scan按钮,按钮左侧的显示区会显示sd卡信息,例如下图:图六这说明已经检测到了正确检测到了SD卡点击Fuse按钮烧写会出现如下图信息:图七这说明sd卡uboot烧写成功。

将sd卡插入tiny6410的sd卡插槽内,将选择sd卡或者nand启动的开关拨到SD卡启动,连接好usb转串口线,插上开发板电源线,打开DNW至图四状态,上电,DNW会显示如下图信息:图八恭喜您,sd卡中的Uboot已经启动了。

Uboot_for_mini6410_移植步骤详解

Uboot_for_mini6410_移植步骤详解

这是u-boot-2010.09 针对友善之臂MINI6410移植的最基础版本,只包含了就基本的系统引导,NAND读写,DM9000网卡等等。

但是这个足够开发的方便使用。

今后会陆续添加原先我为mini2440添加的所有功能。

但是此次移植并非我的功劳,首先基本的移植是由Alex Ling <kasimling at >完成的,你可以在这里看到他提交的补丁,但是编译后无法使用,可能是因为host系统不同,对脚本的解析不同,使得spl部分的生成出现问题,只需修改一下nand_spl目录下目标板目录的中config.mk中的PAD_TO := $(shell expr $$[$(TEXT_BASE) + 4096])即可。

DM9000的驱动没有太大的问题(修改了一点可能出现问题的地方,感谢肖工指教),但是原本的u-boot并没有调整所有SROM控制器的配置(其中包括连接DM9000所使用的bank1的总线),我使用了友善带的u-boot的参数配置了一下就好了。

一:/batch.viewlink.php?itemid=1694ftp://ftp.denx.de/pub/u-boot/去这2个网站随便下载都可以下载得到最新或者你想要的u-boot。

现在我将下载u-boot-2010-09,这个也就是最新的版本啦。

下载后把它解压,然后得到u-boot-2010-09的文件夹,然后进去,并且做下面几件事情:1:进入arch这个文件夹,把出arm外的前部文件夹删掉2:进入board这个文件夹,把除samsung外前部文件夹删掉3:进入include/configs,把除smdk6400.h外的所有文件删除。

4: 把顶层目录下有一个叫onenand_ipl的文件夹删除掉,因为没有用到。

5:进入nand_spl/board,把除samsung外全部文件删除掉。

6:再进入arch/arm/cpu文件夹,把除arm1176外其他文件夹删除掉。

03- Tiny6410刷机指南-20110810

03- Tiny6410刷机指南-20110810

Tiny6410 刷机指南版本:2011-08-09(本手册正在不断更新中,建议您到网站下载最新版本)copyright@2010版权声明本手册版权归属广州友善之臂计算机科技有限公司(以下简称“友善之臂”)所有, 并保留一切权力。

非经友善之臂同意(书面形式),任何单位及个人不得擅自摘录本手册部分或全部,违者我们将追究其法律责任。

敬告:在售开发板的手册会经常更新,请在网站查看最近更新,并下载最新手册,不再另行通知。

更新说明:日期说明2011-08-09 增加了低级格式NAND Flash的说明(1.3.3)2011-07-21 提供全新的Superboot,支持进度显示,无需PC实现多系统烧写。

2011-05-19 SD-Flasher工具增加了Re-format功能,可以把Re-layout重新分区过的SD卡恢复成普通卡。

2011-04-08 1.Superboot增加了对三星2代MLC Nand Flash(以下简称MLC2)的支持a)通过SD卡脱机快速烧写Linux/WinCE/Android/Ubuntu系统b)通过USB下载烧写Linux/WinCE/Android/Ubuntu系统c)自动识别SLC/MLC2 Nand Flash2.U-boot升级:增加了读取MLC2的支持(型号:K9GAG08U0E)2011-1-4 Superboot增加了“Download & Run”功能,也就是把裸机程序下载到内存中运行,示例见“2.4”章节2010-11-26 本手册第一次发布,任何问题请反馈至capbily@目录Tiny6410 刷机指南.........................................................................................................................................- 1 - 第一章 制作SD卡启动盘....................................................................................................................................- 5 -1.1 烧写BIOS到SD卡.................................................................................................................................- 6 -1.1.1 BIOS简介.....................................................................................................................................- 6 -1.1.1 基于WindowsXP烧写BIOS........................................................................................................- 7 -1.1.2 基于Windows7烧写BIOS........................................................................................................- 10 -1.1.2恢复SD卡到原始状态...............................................................................................................- 14 -1.2 体验快速安装、更新、恢复和运行系统...........................................................................................- 15 -1.2.1 通过交互式图形界面安装系统...............................................................................................- 16 -1.2.2 快速安装WindowsCE系统.......................................................................................................- 19 -1.2.3 快速更新为Android系统..........................................................................................................- 20 -1.2.4 快速恢复为Linux系统..............................................................................................................- 21 -1.2.5 在SD卡中直接运行Ubuntu系统(500M)..................................................................................- 21 -1.2.6 关于配置文件FriendlyARM.ini................................................................................................- 22 -1.3 Superboot菜单功能介绍.......................................................................................................................- 26 -1.3.1 安装USB下载驱动....................................................................................................................- 27 -1.3.2 功能主菜单说明.......................................................................................................................- 33 -1.3.3低级格式化NAND Flash...........................................................................................................- 34 - 第二章 安装和更新或运行系统.......................................................................................................................- 36 -2.1 使用USB一键安装系统.......................................................................................................................- 36 -2.1.1一键安装Linux系统(yaffs2或UBIFS格式).............................................................................- 37 -2.1.2 一键安装WinCE系统................................................................................................................- 43 -2.1.3 一键安装Android(yaffs2或UBIFS格式).................................................................................- 48 -2.2 使用SD卡脱机快速安装系统.............................................................................................................- 54 -2.2.1快速安装Linux(UBIFS格式).....................................................................................................- 54 -2.2.2 快速安装WindowsCE6.............................................................................................................- 55 -2.2.3 快速安装Android(UBIFS格式)...............................................................................................- 56 -2.2.4 快速安装Ubuntu(UBIFS格式).................................................................................................- 56 -2.3 从SD卡直接运行各个系统.................................................................................................................- 57 -2.3.1 直接运行SD卡中的Linux.........................................................................................................- 57 -2.3.2 直接运行SD卡中的WindowsCE..............................................................................................- 57 -2.3.3 直接运行SD卡中的Android.....................................................................................................- 58 -2.3.4 直接运行SD卡中的Ubuntu......................................................................................................- 58 -2.4 使用USB下载并运行裸机程序...........................................................................................................- 59 -第一章 制作SD卡启动盘完全空白的SD卡是不能直接启动6410开发板的,必须先在PC上使用特殊的烧写软件把BIOS(也可以称为bootloader)写入SD卡才可以,并且写入的这个BIOS是无法在电脑上直接看到的。

uuboot 移植流程

uuboot 移植流程

uuboot 移植流程U-Boot 移植流程介绍U-Boot是一个开源的引导加载程序,常用于嵌入式系统中。

移植U-Boot可以将其适配到不同的硬件平台上,以满足特定需求。

本文将详细说明U-Boot移植的流程。

准备工作1.硬件选型:根据项目需求,选择适合的硬件平台。

2.获取源代码:从U-Boot官方网站或仓库下载最新版本的源代码。

3.安装交叉编译工具链:根据目标硬件平台的指令集架构,选择合适的交叉编译工具链,并进行安装。

4.了解目标硬件平台:熟悉目标硬件平台的架构、引导方式、存储器布局等相关信息。

移植流程1.配置编译环境:设置交叉编译工具链的环境变量,以确保正确编译U-Boot源代码。

2.配置U-Boot:修改U-Boot源代码中的配置文件,根据目标硬件平台的特性和需求进行相应配置。

–配置目标硬件平台的处理器类型、存储器布局等基本信息。

–配置启动方式,如通过网络(TFTP)或存储介质(SD卡、NAND Flash)等进行启动。

–配置启动流程,如引导加载程序的加载顺序、启动脚本等。

3.添加适配代码:根据目标硬件平台的需求,编写适配代码,包括引导加载程序和设备驱动等。

–引导加载程序:为目标硬件平台选择合适的程序入口点,配置启动参数,加载适配的设备驱动等。

–设备驱动:根据目标硬件平台的外设,编写相应的设备驱动代码,以支持外设的初始化和操作。

4.编译U-Boot:使用交叉编译工具链,编译修改后的U-Boot源代码。

–执行make clean清除之前的编译结果。

–执行make命令编译U-Boot源代码。

5.烧录和运行:将编译生成的U-Boot镜像烧录到目标硬件平台,并进行测试。

–根据目标硬件平台的烧录方式(串口、JTAG等),将U-Boot镜像烧录到目标设备。

–启动目标设备,观察U-Boot的启动信息是否正常输出,检查设备驱动是否正常加载。

6.调试和优化:根据实际情况,进行U-Boot的调试和性能优化。

–使用调试工具进行调试,如调试器、串口打印信息等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#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
相关文档
最新文档