u-boot & dnw & linux & tiny210
来源:互联网 发布:映射网络驱动器命令 编辑:程序博客网 时间:2024/05/18 09:30
这里只简单介绍一些过程(经过实地验证,可以保证在tiny210开发板上运行), 并不介绍过多的理论。
总结起来是: 首先用mkimage制做uimage, 然后在开发板上设置bootargs和bootcmd环境变量并保存,再重启开发板并根据提示在下载代码,最后系统自动运行系统。
一、修改uboot & linux代码,以保证支持tiny210开发板
1. 修改uboot的代码, include\config\tiny210.h文件,保证 #define MACH_TYPE_TINY2103466, 保证机器码与内核的设置一致。
2. 修改arch/arm/mach-s5pv210/include/mach/memory.h, 将
#define SECTION_SIZE_BITS 28
#define NODE_MEM_SIZE_BITS 28
修改为
#define SECTION_SIZE_BITS 29
#define NODE_MEM_SIZE_BITS 29
以支持512M内存。
完成上述修改,分别编译uboot和kernel.
二、 制作u image (以下命令在PC上执行)
1. 从linux工程中拷贝来 zImage和ramdiskimg
2. 编译u-boot,在out\tools目录下找到mkimage这个工具软件。该软件用来生成uImage。
3. 用mkimage制作uzimage和uramdiskimg。方法如下:
$./mkimage -n "Kernel 2.6.35" -A arm -O linux -T kernel -C none -a 20a07fc0 -e 20a08000 -d zImage uzImage
$mkimage -n "RAMFS" -A arm -O linux -T ramdisk -C none -a 21A00000 -e 21A00040 -d ramdisk.img uramdiskimg
注: 20a07fc0表示uzImage下载到内存中的地址。
三、设置 uboot环境变量,供开机自动运行(以下命令在开发板上执行,通过串口终端等)
在uboot启动后,通过 setenv来设置环境变量,并用saveenv来保存(保存到boot media中)
setenv bootargs root=0x20A00040 console=ttySAC0,115200 init=/linuxrc androidboot.console=s3c2410_serial0
setenv bootcmd 'dnw 0x20a07fc0; dnw 0x21a00000; bootm 0x20a07fc0'
save env
注: bootargs 表示启动参数
bootcmd包含了三个过程, 下载uzImage, 下载uramdiskimg, 最后执行bootm 0x20a07fc0
四、重启开发板(保持开发板用USB线与PC连接)
uboot会让用户有3秒钟(可定制)的时间来退出自动boot,否则自动执行bootcmd
根据提示,在pc上执行$dnw uzImage
再根据提示,在pc上执行$dnw uramdiskimg
接下来系统将自动执行bootm
linux开始启动.....
注: 本文介绍的是用USB来下载镜像,不同于tftp。 这只是个传输手段不同而已,要想让u-boot支持usb dnw, 需要在u-boot中移植usb dnw相关代码。
同时在pc上需要一个dnw工具,笔者是在linux系统下运行,所以需要编译linux下的dnw工具。
- u-boot & dnw & linux & tiny210
- u-boot-2012-07 for tiny210, 支持USB DNW, 支持YAFFS2烧写, 彻底抛弃superboot
- Tiny210(S5PV210) U-BOOT(一)----启动过程
- Tiny210(S5PV210) U-BOOT(一)----启动过程
- Tiny210(S5PV210) U-BOOT(一)----启动过程
- Tiny210(S5PV210) U-BOOT(一)----启动过程
- Tiny210(S5PV210) U-BOOT(十二)----编译出u-boot.bin
- U-boot中添加DNW的支持
- u-boot for tiny210 ver1.0(by liukun321咕唧咕唧)
- u-boot for tiny210 version2.0(by liukun321咕唧咕唧)
- u-boot for tiny210 ver2.1(by liukun321咕唧咕唧)
- u-boot for tiny210 ver2.2(by liukun321咕唧咕唧)
- u-boot for tiny210 ver2.2.1(by liukun321咕唧咕唧)
- u-boot for tiny210 ver2.2.2(by liukun321咕唧咕唧)
- u-boot for tiny210 ver3.0 (by liukun321咕唧咕唧)
- u-boot for tiny210 ver3.1 (by liukun321咕唧咕唧)
- u-boot for tiny210 ver1.0(by liukun321咕唧咕唧)
- u-boot for tiny210 version2.0(by liukun321咕唧咕唧)
- 说说瀑布流式网站里那些可人的小细节
- CHM文件(已编译的 HTML 帮助文件)打开不显示的解决办法
- c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明
- DLL初学者指南
- Excel2007以上版本的导入方法
- u-boot & dnw & linux & tiny210
- C/C++数组的大小最大能有多大?
- 一种你不知道的解决窗体闪烁的方法
- sql server 2008 R2 express使用命令行模式设置混合登模式
- rails authentication session & cookie
- htaccess文件使用
- Android中Toast重复显示问题解决
- 使用easyUI 动态改变datagrid的columns
- 使用ajaxFileUpload.js插件实现ajax无刷新上传文件