嵌入式软件的层次:

bootloader +boot_parameter+kernel+ boot filesystem

<uboot的编译>

1)将uboot压缩文件拷贝到 linux系统中并解压

2)解压后会得到一个uboot文件

3)进入uboot文件

4)vim Makefile 找到需要配置的uboot文件以便和自己的开发板相适应

5)执行make *_config 指令,系统自行进行配置

6)执行指令make ARCH=arm CROSS_COMPILER=arm-linux- 指令,对uboot进行编译,编译完成后会得到一个文件uboot.bin

7)通过以前烧写到norflash 中的软件中的命令行来进行uboot的烧写,选择命令download uboot 命令

8)切换到linux系统中,通过之前安装的驱动,/common/dnw uboot.bin 30008000 将uboot烧写到内存中去(注意:这里的uboot.bin 必学和dnw 在同一个文件下)

9)切换回windows 系统中,启动uboot,通过串口调试串口。可以看到uboot 中的命令行输入指令q.退出到原生态的uboot中)

<帮助命令>

通过help 指令可以查看所有的uboot命令(左边是命令,右边是对该命令的解释)

uboot的使用-LMLPHP

<查看环境变量>

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,主要是各路径,各种宏

命令:printenv(pirnt)

查看打个环境变量:

printevn  环境变量名

<修改环境变量>

命令:setenv

添加:

setenv filenane  文件名

修改:

setenv filename 待修改文件名

删除:

setenv filename

<保存环境变量>

以上命令的对环境变量的修改都是保存在内存中的,seveenv 命令将数据写入nandfkash

命令:saveenv

<内核下载>

1)网络下载(速度较快)

2)串口下载(速度太慢)

3)usb下载(驱动太复杂)

使用uboot中的tftp 命令下载

1)首先在linux中搭建好tftp服务器

2)配置好tftp 服务器

配置好与网络相关的环境变量

/etc/xint.d/tftp

3)将要下载的文件放在tftp的下载访问目录下

命令:tftp

tftp  地址  文件名

<执行程序>

命令:bootm

bootm  地址

注意:执行程序时,可执行程序前面要加上一个头,这个头包含了该执行程序的相关信息,如果没有回报错

<查看内存中的内容>

命令:md(memery didplay)

md   地址

<修改内存中的内容>

命令:mm(memmery modify)

mm 地址

<nand flash 擦除>

命令:nand flash erase 开始地址  终止地址

<nand flash 写入>

命名:nand flash write  内存起始地址  nand flahsh起始地址  写入长度

<nand flash 读出>

命令: nand flash read 内存起始地址 nand flash起始地址  读取长度

<设置自动启动>

修改环境变量中的 bootcmd

setenv bootcmd  命令一\;命令2.。。。。。。。。。。。

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 
05-11 21:43