2010年7月29日 星期四

U-boot的一些指令

來源:welkin的小窩 U-boot的一些指令

U-boot的一些指令

Printenv 列印環境變數
--------------------
Uboot> printenv
baudrate=115200
ipaddr=192.168.1.1
ethaddr=12:34:56:78:9A:BC
serverip=192.168.1.5
Environment size: 80/8188 bytes

Setenv 設定新的變數
--------------------
Uboot> setenv myboard AT91RM9200DK
Uboot> printenv
baudrate=115200
ipaddr=192.168.1.1
ethaddr=12:34:56:78:9A:BC
serverip=192.168.1.5
myboard=AT91RM9200DK
Environment size: 102/8188 bytes

Saveenv 儲存變數
--------------------
命令將當前定義的所有的變數及其值存入flash中。用來存儲變數及其值的空間只有8k位元組,應不要超過。

Tftp 透過網路下載程式,需要先設定好網路配置
--------------------
Uboot> setenv ethaddr 12:34:56:78:9A:BC
Uboot> setenv ipaddr 192.168.1.1
Uboot> setenv serverip 192.168.1.254 (tftp伺服器的位址)

Uboot> tftp 20000000 application.bin (application.bin應位於tftp服務程式的目錄)
下載bin檔案到位址0x20000000處。

Uboot> tftp 32000000 vmlinux
把server(IP=環境變數中設定的serverip)中/tftpdroot/下的vmlinux透過TFTP讀入到物理內存32000000處。

Loadb 透過串口Kermit協議下載二進製數據。
--------------------

Bootm 執行Memory 中的二進製代碼
--------------------
要求二進製代碼為製定格式的。通常為mkimage處理過的二進製檔案。
起動UBOOT TOOLS製作的壓縮LINUX內核, bootm 3200000

Bootp 透過網路啟動,需要提前設定好硬體位址。
--------------------

run 執行設定好的腳本
--------------------
Uboot> setenv flashit tftp 20000000 mycode.bin\; erase 10020000 1002FFFF\;
cp.b 20000000 10020000 8000
Uboot> saveenv
Uboot> run flashit

bootcmd 保留的環境變數,也是一種腳本(如果定義了該變數,在autoboot模式下,將會執行該腳本的內容。)
--------------------

Protect 寫保護操作
--------------------
protect on 1:0-3(就是對第一塊FLASH的0-3扇區進行保護)
protect off 1:0-3取消寫保護

Erase 清除扇區
--------------------
erase: 刪除FLASH的扇區
erase 1:0-2(就是對每一塊FLASH的0-2扇區進行刪除)

對DataFlash的操作
--------------------
U-Boot在引導時如果發現NPCS0和NPCS3上連有DataFlash,就會分發虛擬的位址給它,具體為 ︰
0xC0000000---NPCS0
0xD0000000---NPCS3

Go 執行Memory中的二進製代碼,一個簡單的跳轉到指定位址
--------------------

? 得到所有命令清單
--------------------

help help usb, 列出USB功能的使用說明
--------------------

ping 注︰只能在開發板上去PING別的機器
--------------------

Cp 拷貝一塊Memory到另一塊
--------------------

Cmp 比較兩塊Memory區
--------------------
這些Memory 操作命令後都可加一個後綴表示操作數據的大小,比如cp.b表示按位元組拷貝。

Md 顯示Memory的內容。
--------------------

Mm 修改Memory,位址自動遞增。
--------------------

Nm 修改Memory,位址不自動遞增。
--------------------

Mw 用模型填充Memory
--------------------
mw 32000000 ff 10000(把Memory 0x32000000開始的0x10000位元組設為0xFF)

usb
--------------------
usb start: 起動usb 功能
usb info: 列出設備
usb scan: 掃描usb storage(usb碟)設備

kgo 起動沒有壓縮的linux內核
--------------------
kgo 32000000

fatls 列出DOS FAT檔案系統
--------------------
fatls usb 0列出第一塊U盤中的檔案

fatload 讀入FAT中的一個檔案
--------------------
fatload usb 0:0 32000000 aa.txt 把USB中的aa.txt 讀到物理Memory 0x32000000處﹗

flinfo 列出flash的訊息
--------------------

nfs
--------------------
nfs 32000000 192.168.0.2:aa.txt
把192.168.0.2(LINUX 的NFS檔案系統)中的NFS檔案系統中的aa.txt 讀入Memory 0x32000000處。

沒有留言:

張貼留言