1、使用imxdownload燒寫(針對nxp6ULL 開發板) 將imxdownload拷貝到工程根目錄下,我們要將 imxdownload 拷貝到工程根目錄下,也就是和 led.bin 處于同一個文件夾下,要不然燒寫會失敗的,拷貝完成以后如圖
給予 imxdownload 可執行權限 ,直接將軟件 imxdownload 從 Windows 下復制到 Ubuntu中以后, imxdownload 默認是沒有可執行權限的。我們需要給予 imxdownload 可執行權限,使用命令“chmod”,命令如下 :
當給予 imxdownload可執行權限以后其名字變成了綠色的,如果沒有可執行權限的話其名字顏色是白色的。 向 SD 卡燒寫 bin 文件,使用 imxdownload 向 SD卡燒寫 led.bin 文件,命令格式如下:/imxdownload <.binfile>
2、使用USB +DNW+Uboot燒寫(針對 三星6410、2440 系列) _Writer.exe將mmc.bin燒寫到SD 卡中,將開發板設置到SD卡啟動。(具體方法參見飛凌開發板linux3.0.1用戶手冊.pdf)
將SD卡安裝到開發板中并啟動,快速敲空格鍵讓開發板停留在uboot的啟動畫面,如下圖所示,出現菜單框,選擇5,即可輸入命令。
安裝、dnw 以及USB驅動(xp環境) 執行以下命令可以燒寫,燒寫原理是用Linux的uboot命令 nand燒寫程序到開發板。
01. 輸入:dnw 50008000 下載你要燒寫的程序。
02. 然后從dnw的usbport-》Transmit-》Transmit發送你要下載的.bin文件。
03. 輸入:nand erase 0 100000 擦除nandflash前1M的空間。
04. 輸入:nand write.uboot 50008000 0 1000000 將內存地址50008000中的1M數據寫到nandflash的0 ~ 100000空間中(即前1M字節)。
05. 將開發板設置為nand啟動,并重新啟動開發板。
3、使用 uboot 中網絡驗證裸機程序(通用板子,只要你的uboot 已經移植好網絡功能) 在學習嵌入式 Linux 之前,還是有必要了解一下嵌入式處理器的裸機程序。但一些教程中提供的裸機程序燒寫方法都相對比較復雜,有些需要使用 sd 卡燒寫,燒寫前還要格式化SD 卡,然后再給裸機程序加入頭部信息(6ull,6410/2440 不需要),用專用的下載上位機燒寫。
其實裸機程序在我們學習嵌入式的過程中只是一個引導作用,用來了解這些處理器是如何工作的,因此編寫好裸機程序后其實沒必要真正地燒寫到系統里面,只需要等讓它運行,觀察實驗現象即可。 uboot 中一般都會提供多種文件傳輸的方法,如 tftp,nfs,xmodem,ymodem 等方法,選擇一種板子上 uboot 支持的方式,如不清楚,可以使用 pri 命令查看,并選擇對應的命令查看幫助信息,如tftp help 等(不同的 uboot 命令會有所不同)。
把編譯好的裸機 bin 文件下載到對應的地址上,注意這個地址需要和裸機程序在鏈接時指定的地址一樣(在.lds 文件中描述,或者在執行鏈接的時候指定),如指定到 0x87800000。那么就下載到 0x87800000 這個地址,完成后讓 uboot 直接跳轉到這個地址即可運行裸機程序:go0x87800000.需要注意,在板子復位或者重上電等情況,會運行默認的程序,而不是裸機程序,所以說這種方式并不是燒寫,只是拷貝到內存中執行,當中省略了很多燒寫裸機必要的步驟。
nfs 服務模式:
使用 nfs在 6ull上驗證裸機、uboot、kernel,虛擬機需要安裝 nfs服務,并開啟 nfs服務,具體操作參考開發環境搭建第二小節。開發板運行在 uboot界面,將其 ip、服務 ip、網關等進行修改,保證可以與服務器(虛擬機)ip正常 ping通即 可。
準備好以后就可以使用nfs 命令來將 裸機下載到開發板 DDR 的 0X87800000 鏈接地址處,命令如下: nfs 87800000 192.168.0.104:/home/lumeng/linux/nfs/uart.bin
go 命令執行跳轉 到 0x87800000 執行串口打印結果:
不僅可以測試裸機程序,也可以加載 uboot 和內核,來測試 uboot 和內核哦!使用 nfs 傳輸uboot 和執行如下:
使用 nfs 傳輸內核+設備樹和啟動內核如下,使用 nfs 命令從服務器下載 kernel 和設備樹到DDR。
nfs 80800000192.168.0.104:/home/lumeng/linux/nfs/zImage
nfs 83000000 192.168.0.104:/home/lumeng/linux/nfs/6ull.dtb
使用bootz 命令啟啟動內核 bootz 80800000 – 83000000
tftp 服務模式:
使用 tftp 在 6ull 上驗證裸機、uboot、kernel,虛擬機需要安裝 nfs 服務,并開啟 nfs 服務,具體操作參考開發環境搭建第二小節。開發板運行在 uboot 界面,將其 ip、服務 ip、網關等進行修改,保證可以與服務器(虛擬機)ip 正常 ping 通即可。
準備好以后就可以使用 tftp 命令來將 裸機程序 uart.bin下載到開發板 DDR 的0X87800000 鏈接地址處,命令如下:tftp 87800000 uart.bin ,并使用 go 87800000 執行裸機。
責任編輯:xj
原文標題:嵌入式Linux開發板裸機程序燒寫方法總結
文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。
-
嵌入式
+關注
關注
5089文章
19169瀏覽量
306754 -
Linux
+關注
關注
87文章
11335瀏覽量
210086 -
開發板
+關注
關注
25文章
5116瀏覽量
97917
原文標題:嵌入式Linux開發板裸機程序燒寫方法總結
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論