设为首页 加入收藏

TOP

系统移植——uboot常用命令
2018-12-18 22:09:27 】 浏览:132
Tags:系统 移植 uboot 常用 命令

flash的一般分区:

其它数据
环境变量
可执行程序。如bootloader

 

 

 

print(可缩写为:pri):打印查看uboot这个软件中集成的环境变量
setenv、saveenv:设置、保存环境变量

如:
设置环境变量:    setenv  abc 100
删除环境变量:    setenv  abc
保存环境变量到存储器:saveenv  abc 100
网络层的设置:

nand:
nand [动词] [内存地址] [nandflash的内部地址] [搬移大小]

  • nand中5M空间的数据读取到内存地址2100 0000

5M = 5* 1M ,1M = 2^20 = 0x100000

读数据:nand read 21000000  500000 1024

  • nand把内存地址2100 0000的值写到5M空间

初始化:nand erase 500000 1024
写数据:nand write 21000000  500000 1024

tftp:
设置、保存本机IP:
setenv    ipaddr 192.168.9.120
saveenv ipaddr 192.168.9.120
设置服务器ip:
setenv serverip 192.168.9.3
利用tftp传递文件a.txt 到内存地址 20008000上面:tftp   20008000  a.txt    

linux下安装tftp服务端:
32bit sudo apt-get install tftpd-hpa
64bit sudo apt-get install tftpf openbsc-xinetd

bootm:
bootm传递r0,r1,r2还有bootargs

bootm 加载linux镜像是加载uIamge,uIamge是由mkimage制作而来,和zIamge的差异是uIamge是zIamge压缩过的,bootm需要先对uIamge解压,解压地址为内核入口地址。当解压完成时uIamge和zIamge 几乎是相同的,具体差异可以论述。uboot目前只能支持uImage启动,不支持zImage启动
go:
go命令本质就是改变当前pc值

 

内核启动条件:启动参数、文件系统
启动参数:(bootargs)
root=      启动的根文件系统在哪个设备
init=       内核启动后第一个可执行文件init进程从哪里来
console=    内核启动时,使哪个设备作为控制台

文件系统:内核与用户交互的一个中介
文件系统的烧写:NFS、Ramdisk
Ramdisk:内存磁盘
配置的内容:
root=/dev/ram
initrd= 0x21000000,8M    (设备信息(文件系统的基地址,大小))
init=/linuxrc
console=ttySAC0


测试:

  内存:20008000 uImage
     21000000 initrd.img.gz

启动内核步骤:
第一步:安装并启动uboot

第二步:通过tftp服务将内核文件及文件系统分别下载到指定位置
tftp  20008000 uImage
tftp 21000000 initrd.img.gz
第三步:设置启动参数
setenv bootargs root=/dev/ram initrd=0x21000000,8M  init=/linuxrc console=ttySAC0,115200
第四步:bootm 20008000 至此内核启动完成。

 

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇abc sort 下一篇Linux下C语言编译的问题

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目