一、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