嵌入式软件的层次:
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命令(左边是命令,右边是对该命令的解释)
<查看环境变量>
环境变量(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;">