轉自:https://blog.csdn.net/jklinux/article/details/72638830
https://blog.csdn.net/dagefeijiqumeiguo/article/details/51314856
uboot是bootloader的一種,主要是用於引導內核啟動.
uboot除此功能外, 還帶有很多其它功能. 功能是通過命令來調用.
uboot的命令:
help //列出當前uboot所有支持的命令 help 命令 //查看指定命令的幫助 reset //重啟uboot bootm //用於啟動內核 用法: bootm 0x42000000 //從內存地址0x42000000啟動內核, 啟動前需把內核鏡像uImage存放到指定的內存地址 printenv //打印所有環境變量的值 printenv 環境變量名 //查看指定的環境變量值 常用環境變量: bootdelay // uboot啟動后, 倒計時多少秒后自動執行環境變量bootcmd的語句 bootcmd // 倒計時到0后,自動執行里面的語句 bootargs // 是用於提供給內核的啟動參數語句 setenv //設置/修改/刪除環境變量的值 用法: setenv 環境變量名 //刪除指定的環境變量 setenv myargs "hello" //設置環境變量myargs=hello, 如果環境變量沒有會創建出來,如果已存則會修改它的值 saveenv //保存環境變量,環境變量修改過后必須執行此命令才可以保存起來,否則重啟后環境變量就恢復了. loady //用於從uart線下載文件到板上內存里(loadb, loads, loadx基本一樣) 用法: loady 0x40008000 //把下載的文件從內存地址0x40008000開始存放 執行"loady 0x40008000"后, uboot就會進入等待狀態,等着接收數據 minicom具有通過uart傳輸文件的功能. 按"ctrl+a", 松手后再按"s", 選擇"ymodem", 在彈出的界面里按空格鍵選中要傳的文件. md 內存地址 //用於查看內存地址上的值 用法: md.b 0x40008000 100 //從內存地址0x40008000開始,查看0x100個字節並輸出值 md.w 0x40008000 100 //從內存地址0x40008000開始,查看0x100個16位值並輸出值 md.l 0x40008000 100 //從內存地址0x40008000開始,查看0x100個32位值並輸出值 mw //用於修改內存地址上的值 用法: mw.b 0x40008000 0xab 100 //從內存地址0x40008000開始的0x100字節空間,設值為0xab mw.w 0x40008000 0xabcd 100 //從內存地址0x40008000開始的0x200字節空間,每16位值設為0xabcd mw.l 0x40008000 0xabcdef88 100 //從內存地址0x40008000開始的0x400字節空間,每32位值設為0xabcdef88 go //執行指定內存地址上的指令 用法: go 0x40008000 mmc // sd/mmc接口設備(sd卡, emmc)操作命令, 按扇區操作(每扇區512字節) 用法: mmc read addr blk cnt //從mmc設備上的第blk個扇區開始,共讀出cnt個扇區到內存地址addr上 mmc write addr blk cnt //把內存地址addr上的數據寫入mmc設備的第blk個扇區,共cnt個扇區大小 mmc dev //用於當看當前的mmc設備是第幾個 mmc erase blk cnt //把mmc設備的第blk個扇區開始清零,共清除cnt個扇區大小 mmc part //列出當前mmc設備的分區信息 mmc list //列出所有的mmc設備信息 ext4ls //查看存儲設備的ext2/3/4分區里的內容 用法: ext4ls mmc 0:2 //查看第0個存儲設備的第二個分區 ext4load //從ext2/3/4分區里讀出文件到指定的內存地址 用法: ext4load mmc 0:2 0x40008000 /uImage //從第0個存儲設備的第2個分區的根目錄讀出uImage文件到內存地址0x40008000 fatls //查看存儲設備的fat分區里的內容 用法: fatls mmc 0:1 //查看第0個存儲設備的第1個分區(fat分區) fatload //從fat分區里讀出文件到指定的內存地址 用法: fatload mmc 0:1 0x40008000 /uImage //從第0個存儲設備的第1個分區的根目錄讀出uImage文件到內存地址0x40008000 fatwrite //把內存上的數據存儲到fat分區的一個文件里 用法: fatwrite mmc 0:1 0x40008000 /my.txt 0x35 //把內存地址0x40008000開始的0x35個字節數據寫入到第0個設備的第1個分區里,文件名為my.txt run //執行指定的環境變量里的語句 用法: run bootcmd //執行環境變量bootcmd里的語句 //如uboot上已驅動好網絡設備並環境變設好IP及PC端IP,還可以使用以下命令: tftpboot 0x40008000 文件名 // 通過網絡下載文件到內存地址0x40008000, PC端需配置好tftp服務器 nfs 0x40008000 pc端IP:/帶路徑的文件名 //pc端需配置好nfs服務器 ping ip //檢測網絡是否通