uboot2010.06移植中一点感想
来源:互联网 发布:2016中美贸易数据 编辑:程序博客网 时间:2024/06/06 03:36
一、如何设置环境变量
bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 mem=64M
bootcmd=nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0
bootdelay=3
baudrate=115200
ethaddr=1a:2b:3c:4d:5e:6f
ipaddr=192.168.88.124
serverip=192.168.88.123
netmask=255.255.255.0
ethact=dm9000
mtdids=nand0=nandflash0
mtdparts=mtdparts=nandflash0:1m@(bootloader),128k(params),4m(kernel),-(root)
filesize=2DC98
stdin=serial
stdout=serial
stderr=serial
partition=nand0,0
mtddevnum=0
mtddevname=bootloader
对于环境变量的修改可以用在bootloader启动后利用setenv [变量名] [参数] 例如:setenv bootdelay 6 ,但是如果是bootcmd这个参数有分号,的设置应该是
setenv bootcmd 'nand read.jffs2 0x30007FC0;bootm 0x30007FC0' 设置完后记得运行saveenv 保存环境变量,另外在程序中的FL2440.H配置文件中修改了环境变量,下载u-boot 到nandflash启动,这时运行的环境的变量还是以前的,必须nand erase 参数分区,然后saveenv 下次启动的时候,就是你设置的新的环境变量了。
二、启动uImage和zImage内核镜像
u-boot-2010.06默认能启动uImage, uImage的头部包含加载地址和入口地址 uImage中的Linux内核加载地址是0x30008000,如果环境变量bootcmd中设置的地址是0x30008000,则Linux实际的入口地址就是0x30008004(64个字节是uImage头部),入口地址不等于加载地址所以要把内核移到0x300080000,如果环境变量bootcmd中设置的地址是0x30007FC0,则内核入口地址正好等于加载地址不需要移动内核就可以直接引导Linux内核。(这和代码要被执行必须要在它的链接地址一个道理)
如果是zImage内核镜像必须要在uboot加入的代码boot-Zimage.C中的代码
…………………………………………………………
if (bootdelay >= 0 && s && !abortboot (bootdelay)) {
# ifdef CONFIG_AUTOBOOT_KEYED
int prev = disable_ctrlc(1);/* disable Control C checking */
# endif
//boot_zImage(0x120000,0x400000);
//如果下载的是zImage,这句话加上同时修改环境变量中的加载地址为0x30008000
# ifndef CONFIG_SYS_HUSH_PARSER
run_command (s, 0);
# else
parse_string_outer(s, FLAG_PARSE_SEMICOLON |
FLAG_EXIT_FROM_LOOP);
…………………………………………………………………………
- uboot2010.06移植中一点感想
- uboot2010-03移植步骤
- Uboot2010.03移植笔记
- uboot2010.3移植tiny6410
- 六、uboot2010.09移植
- 移植uboot2010.06到TQ2440开发板详解之一
- 移植uboot2010.06到TQ2440开发板详解之二
- uboot2010.06移植之从nor flash启动分析
- 移植uboot2010.06到TQ2440开发板详解之一
- 移植uboot2010.06到TQ2440开发板详解之二
- 移植uboot2010.12到飞凌6410
- JavaScript开发中规范性的一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- xshell编码为utf-8设置
- web前端性能优化指南
- Java 解析java程序的过程图
- Word插入目录&页面编辑Tips
- 【BLE】CC2541之连接时广播
- uboot2010.06移植中一点感想
- 准备更换git托管,如何迁移原git仓库
- curl header设置参数
- 如何更新同一张表的两个以上的字段
- <转> color颜色十六进制编码大全~
- 用户/组管理(1)——Linux管理用户/组相关的文件详解
- VirtualBox安装Ubuntu如何实现全屏
- 说说JSON和JSONP,也许你会豁然开朗
- UVA_10305: Ordering Tasks