设为首页 加入收藏

TOP

内核驱动-U-Boot+内核制作+根文件系统制作
2014-11-24 01:01:07 来源: 作者: 【 】 浏览:1
Tags:内核 驱动 -U-Boot 制作 文件 系统

一、U-Boot入门


Uboot是业界老大,那如何编译uboot,烧写,和uboot命令的使用


1、编译uboot


进入uboot_tiny6410的文件夹,使用命令:make tiny6410_config (对uboot先进行配置,具体配置在Makefile文件中,感兴趣的话可以自己去看)。


编译uboot:make ARCH=arm CROSS_COMPILE=arm-linux-(使用交叉编译,cpu为arm,交叉编译链为arm-linux-)


2、uboot使用命令


使用dnw将uboot下载到nand_flash中,从nand_flash启动开发板,在倒计时的地方,回车就进入了uboot的命令行。


尽管uboot提供了丰富的命令集,但不同的开发板所支持的命令却不一样(可配置),help命令可用于查看当前单板所支持的命令。


#help 查看命令


#printenv或print:查看环境变量


#setenv name value...add/modify environment variable 'name' to 'value'


#setenv name delete environment variable 'name'


#saveenv 保存环境变量 将当前定义的所有变量及其值存入flash中。


下面配置一下tftp,目的是使用tftp将uImage内核下载到开发板中


注意:使用tftp首先要配置好网络


#setenv ipaddr 192.168.142.83


#setenv serverip 192.168.142.84


一定要配置在一个网段,不然会出现ping不通的现象,也就不能使用tftp下载文件了。


pring一下服务器,看有没有连通。


记得还要在服务器端启动tftp,如果没有安装的话,还要安装一个。


查看tftp是否安装:netstat -a | grep tftp


安装tftp:rpm -ivh 安装包名


在启动tftp之前要先配置:#vi /etc/xinetd.d/tftp



disable = no


server_args = -s /tftpboot tftp服务器共享文件夹


这个时候开发板作为客户端,linux _pc机作为服务端。就可以登录客户端从服务器下载资料了(uboot已经安装了tftp客户端)


客户端输入:


tftp 0xc0008000 uImage把tftp服务器上的uImage下载到0xc0008000处。


说明:编译内核会生产两个镜像文件zImag和uImag,uImag是有头说明的,共64个字节。


bootm 0xc0008000 执行固定格式的2进制程序


md:显示内存区的内容。


md采用十六进制和ASCII码两种形式来显示存储单元的内容。这条命令还可以采用长度标示符.l,.w和.b:


md [.b,.w,.l]address


mm修改内存,地址自动递增。


mm [.b,.w,.l] address


mm提供一种互动修改存储器内容的方法。它会显示地址和当前值,然后提示用户输入。如果你输入了一个合法的十六进制数,这个新的值就会被写入该地址。然后提示下一个地址。如果你没有输入任何值,只是按了一下回车,那么该地址的内容保存不变。如果想结束输入,则输入空格,然后回车


nand erase 起始地址start长度len


擦除start处开始的,长度为len的区域


范例:#nand erase 0x4000000 0x500000


写和读NAND_FLASH


nand write 内存起始地址 flash起始地址 长度len


将内存起始地址处,长度为len的数据,写入flash起始地址处。


#nand write c0008000 400000 500000


nand write 内存起始地址 flash起始地址 长度len


将flash起始地址处,长度为len的数据,读到内存起始地址处。


#nand read c0008000 400000 500000


设置自启动


1:设置从nand flash自动启动


#setenv bootcmd nand read c0008000 400000 500000 \; bootm c0008000


2:设置自动下载内核到内存后启动


#setenv bootcmd tftp c0008000 uImage.bin \;bootm c0008000




相关阅读


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++ 函数指针 函数名作为参数 下一篇OTL的使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: