新手常用uboot命令操作


一、nandflash分區信息

OpenJTAG> mtdpart

device nand0 <nandflash0>, # parts = 4

 #: name                size            offset         

 0: bootloader          0x00040000      0x00000000     //256k

 1: params             0x00020000      0x00040000     //128k

 2: kernel              0x00200000      0x00060000     //2m 

 3: root                0x0fba0000      0x00460000       //余下全部

二、設置機器ID

set machid 16a   // jz2440,也可以用setenv machid 16a 
set machid 7CF   // mini2440

三、設置環境變量

print                              //打印環境變量
save                                //保存環境變量
setenv bootdelay 5                   //設置bootcmd延時為5
setenv ipaddr     192.168.1.226         //設置開發板IP
setenv serverip     192.168.1.200       //設置服務器ip(Windows)
setenv gatewayip     192.168.1.254      //設置網關
setenv netmask       255.255.255.0 //設置子網掩碼
(
setenv bootargs=noinitrd root=/dev/nfs nfsroot=172.18.2.166:/work/nfs_root/tmp/first_fs  ip=172.18.2.196:172.18.2.166:172.18.2.1:255.255.255.0::eth0:off init=/linuxrc  console=ttySAC0

setenv bootargs noinitrd root=/dev/nfs console=ttySAC0 nfsroot=192.168.1.2:/work/nfs_root/xxxx ip=192.168.1.3:192.168.1.2:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc

)
//由於是兩條指令,因此需要用''引起來
//讀取jffs2 文件系統並啟動
setenv bootcmd 'nand read.jffs2 0x30007FC0 kernel ; bootm 0x30007FC0'    

//讀取yaffs2文件系統並啟動
setenv bootcmd 'nand read.yaffs 0x30007FC0 kernel ; bootm 0x30007FC0'    

//使用flash中的文件系統啟動,默認為yaffs2文件系統,如果是jffs2文件系統,添加 rootfstype=jffs2
//yaffs2
setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200

//jffs2            




setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200 rootfstype=jffs2    
 




//使用nfs網絡文件系統啟動,默認為yaffs2文件系統,如果是jffs2文件系統,添加 rootfstype=jffs2

舉例:
虛擬機ip     :192.168.1.2
網關         :192.168.1.1
開發板ip     : 192.168.1.3
子網掩碼     :255.255.255.0
文件系統目錄:/work/nfs_root/xxxx

//yaffs2 ,注意是一行
setenv bootargs noinitrd root=/dev/nfs console=ttySAC0 nfsroot=192.168.1.2:/work/nfs_root/xxxx ip=192.168.1.3:192.168.1.2:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc

//jffs2 ,注意是一行
setenv bootargs noinitrd root=/dev/nfs console=ttySAC0 nfsroot=192.168.1.2:/work/nfs_root/xxxx ip=192.168.1.3:192.168.1.2:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc rootfstype=jffs2

//清除某個環境變量
   //以bootargs為例
set
bootargs
//保存
Save

//清除全部的環境變量
nand erase params

四、tftp燒寫

四、tftp燒寫
//通過tftp燒寫u-boot.bin到nand Flash步驟:
打開 tftpd32.exe 軟件, 將u-boot.bin 拷貝至工作目錄
在SecureCRT中依次輸入:
tftp 0x30008000 u-boot.bin            //將uboot.bin 下載到sdram 0x30008000
nand erase bootloader                //擦除bootloader區域
nand write 0x30008000 bootloader    //燒寫到bootloader

 


//通過tftp燒寫uImage到nand Flash步驟:
打開 tftpd32.exe 軟件, 將 uImage 拷貝至工作目錄
在SecureCRT中依次輸入:
tftp 0x30008000 uImage
nand erase kernel
nand write 0x30008000 kernel

//燒寫YAFFS至NandFlash
打開 tftpd32.exe 軟件, 將 fs_mini.yaffs2 拷貝至工作目錄
在SecureCRT中依次輸入:
tftp 0x30008000 fs_mini.yaffs2
nand erase root 
nand write.yaffs 0x30008000 root $(filesize)    // $(filesieze) 是 fs_mini.yaffs2 的大小

//燒寫JFFS至NandFlash
打開 tftpd32.exe 軟件,將 fs_mini.jffs2 拷貝至工作目錄
在SecureCRT中依次輸入:
tftp 0x30008000 fs_mini.jffs2
nand erase root 
nand write.jffs2 0x30008000 root $(filesize)    // $(filesieze) 是 fs_mini.yaffs2 的大小

//使用 jffs2 文件系統啟動時記得修改 bootargs 添加 rootfstype=jffs2

當然之前的所有下載也可以換成 nfs ,假設虛擬機 ip 為 192.168.1.123
nfs 0x30008000 192.168.1.123:/work/nfs_root/u-boot.bin
nfs 0x30008000 192.168.1.123:/work/nfs_root/uImage
nfs 0x30008000 192.168.1.123:/work/nfs_root/fs_mini.yaffs2
nfs 0x30008000 192.168.1.123:/work/nfs_root/fs_mini.jffs2

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM