1. 编译U-Boot
1.1 把相关代码文件夹里面的uboot.tar拷进Linux进行解压1.2 配置U-Boot的顶层Makefile,找到目标开发板config,参考UBoot操作手册。
/210
找到TQ210_config :.......
回到终端,输入make TQ210_config
1.3 编译U-Boot(学习资料文件夹已经给出了uboot.bin)
输入:make ARCH=arm CROSS_COMPILE=arm-linux-
编译完成后,生成“u-boot.bin”的二进制镜像
1.4 把二进制镜像烧写进开发板的Nandflash里面。
格式化Nandflash
下载u-boot.bin到下载版Nandflash
1.5 进入原生态菜单(按q)
2. U-Boot命令详解
2.1 帮助命令(help)
尽管U-Boot提供了丰富的命令集,但不同开发板所支持的命令却不一样,可通过使用help命令来查看。
2.2环境变量相关命令
2.2.1查看环境变量(printenv或者print)
#printenv
ipaddr=192.168.0.1
ethaddr=12:34:56:78:9A:BC
serverip=192.168.1.5
........
也可以只查看某一个环境变量
#print ipaddr
2.2.2 修改环境变量(setenv)
添加或修改环境变量(setenv name value)
删除环境变量(setenv name)
2.2.3 保存环境变量(savenv)
#setenv name value
#saveenv
2.3 文件下载(tftp)
通过tftp网络服务器下载文件前,先配置好网络
(Linux服务器端的配置请参看第一季Lesson11)
设置开发板网卡MAC地址
#setenv ethaddr 12:34:56:78:9A:BC
设置开发板网卡IP地址
#setenv ipaddr 192.168.0.3
设置对应Linux服务器的IP地址
#setenv serverip 192.168.0.2
测试开发板到服务器之间的链路畅通
(先关闭windows和Linux防火墙)
#ping 192.168.0.2
通过tftp从服务器端下载uImage.bin到开发板指定内存地址(查看操作手册)
#tftp 0x31000000 uImage
2.4 执行“固定格式”的二进制程序(bootm)
#bootm 0x31000000
2.5 内存操作指令
2.5.1 显示内存内容(md)
md采用十六进制和ASCII码两种形式来显示存储单元的内容,该命令采用长度标识符(.l,.w,.b),格式为md[.b,.w,.l] address
.w:每两个字节显示
.b:每一个字节显示
#md .w 100000
00100000:2705 1956 5050 4342 6f6f 7420 312e 312e
00100010:3520 284d 6172 2032 3120 3230 3032 202d
#md .b 100000
00100000:27 05 19 56 50 50 43 42 6f 6f 74 20 31 2e 31 2e
00100010:35 20 28 4d 61 72 20 32 31 20 32 30 30 32 20 2d
2.5.2修改内存内容(mm)
#mm ? 100000
00100000:27051956 ? 01201010
00100004:50504342 ? ab101010
00100008:6f6f7420 ? (空格,回车,结束输入)
2.6 Nandflash操作指令
2.6.1 擦除Nandflash(nand erase)
格式:nand erase nand_start len
擦除nand_start Flash起始地址开头,长度为len的区域
#nand erase 0x400000 0x500000
2.6.2 写入Nandflash内容(nand write)
格式:nand write mm_start nand_start len
写入mm_start内存起始地址,nand_start Flash起始地址开头,长度为len的区域
#nand write 0x31000000 0x400000 0x500000
2.6.3 读出Nandflash内容(nand read)
格式:nand read mm_start nand_start len
写入mm_start内存起始地址,nand_start Flash起始地址开头,长度为len的区域
#nand read 0x31000000 0x400000 0x500000
(测试写入的数据)
#bootm 0x31000000
2.7 设置自动启动(设置bootcmd环境变量)
2.7.1 设置从Nandflash自动启动
#setenv bootcmd nand read 31000000 400000 500000 \; bootm 0x31000000
2.7.2 设置自动下载内核到内存后启动
#setenv bootcmd tftp 0x31000000 uImage \; bootm 0x31000000