一.編譯U-boot
1.通過smb伺服器将uboot_tiny6410拷貝到linux下 2.解壓縮 tar xvzf uboot_tiny6410.tar.gz 3.配置打開頂層makefile 搜尋6410可以找到tiny6410_config.然後make tiny6410_config 4.編譯 make ARCH=arm CROSS_COMPILE=arm-linux-(不需要填gcc) 5.檢視是否生成uboot.bin檔案 6燒寫 二.U-Boot指令 1.幫助指令 help -- 檢視目前單闆所支援的指令 2環境變量 printenv -- 檢視目前環境變量 setenv -- 添加、修改、删除環境變量 使用:添加、修改 setenv + 變量名 + 值 删除 setenv 變量名 saveenv -- 儲存環境變量到nandflash中 3.檔案下載下傳 tftp -- 通過網絡下載下傳檔案 配置 : setenv ipaddr 192.168.0.3 (開發闆的IP) setenv serverip 192.168.0.2 (tftp伺服器的IP即Linux IP) setenv ethaddr 12:34:56:78:9A:BC (開發闆實體位址) ping 192.168.0.2 (檢查開發闆網絡是否設定好) 下載下傳: 這裡的是通過MMU虛拟後的位址 TQ210: tftp 0xc0008000 uImage Smart210: tftp 0x20000000 uImage OK210: tftp 0xc0008000 uImage OK6410: tftp 0xc0008000 uImage Tiny6410: tftp 0xc0008000 uImage TQ2440: tftp 0x31000000 uImage Mini2440: tftp 0x31000000 uImage 4.執行程式 bootm {addr} {arg} 執行固定格式的2進制程式 5.記憶體操作 md --顯示記憶體内容 mm -- 修改記憶體内容 使用: mm addr 6.nand flash操作 nand erase {start addr} {len} -- 擦出nand flash start addr -- 要擦出的起始位址 len --擦出的長度 在往記憶體寫之前必須先擦出。 nand write {memory addr} {flash addr} {len} --向nand flash 寫入内容 memory addr -- 内容的源位址 flash addr -- 内容的目的位址 len -- 寫的長度 nand read {memory addr} {flash addr} {len} --從nand flash 讀取内容 memory addr -- 内容的目的位址 flash addr -- 内容的源位址 len -- 寫的長度 7.設定自啟動 設定從nand flash 自啟動: setenv bootcmd nand read c0008000(虛拟記憶體位址) 400000 (映像檔案的起始位址) 500000(讀取長度為5M) \; (\;前後都必須有空格)bootm c0008000 saveenv; 設定自動下載下傳核心到記憶體後啟動 setenv bootcmd tftp c0008000(儲存下載下傳的核心的起始位址) uImage.bin(要下載下傳的核心檔案名) \; bootm c0008000 saveenv;
轉載于:https://www.cnblogs.com/czy478475977/p/5011666.html