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