1、使用imxdownload燒寫?(針對nxp?6ULL 開發(fā)板)
將?imxdownload?拷貝到工程根目錄下,我們要將 imxdownload 拷貝到工程根目錄下,也就是和 led.bin 處于同一個文件夾下,要不然燒寫會失敗的,拷貝完成以后如圖
給予 imxdownload 可執(zhí)行權限 ,直接將軟件 imxdownload 從 Windows 下復制到 Ubuntu中以后, imxdownload 默認是沒有可執(zhí)行權限的。我們需要給予 imxdownload 可執(zhí)行權限,使用命令“chmod”,命令如下 :
當給予 imxdownload可執(zhí)行權限以后其名字變成了綠色的,如果沒有可執(zhí)行權限的話其名字顏色是白色的。
向 SD 卡燒寫 bin 文件?,使用 imxdownload 向 SD卡燒寫 led.bin 文件,命令格式如下:/imxdownload <.binfile> ?其中.bin 就是要燒寫的.bin 文件, SD Card 就是你要燒寫的 SD卡,比如我的電腦使用如下命令燒寫led.bin 到/dev/sd中:./imxdownload led.bin /dev/sdb燒寫的過程中可能會讓你輸入密碼,輸入你的Ubuntu 密碼即可完成燒寫,燒寫過程如圖?:
2、使用USB +DNW+Uboot燒寫(針對 三星?6410?、2440 系列)
_Writer.exe將mmc.bin燒寫到SD 卡中?,將開發(fā)板設置到SD卡啟動。(具體方法參見飛凌開發(fā)板linux3.0.1用戶手冊.pdf)
將SD卡安裝到開發(fā)板中并啟動,快速敲空格鍵讓開發(fā)板停留在uboot的啟動畫面,如下圖所示,出現(xiàn)菜單框,選擇5,即可輸入命令。
安裝、dnw?以及USB驅(qū)動(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ā)板設置為nand啟動,并重新啟動開發(fā)板。
3、使用?uboot?中網(wǎng)絡驗證裸機程序(通用板子,只要你的uboot 已經(jīng)移植好網(wǎng)絡功能)
在學習嵌入式 Linux 之前,還是有必要了解一下嵌入式處理器的裸機程序。但一些教程中提供的裸機程序燒寫方法都相對比較復雜,有些需要使用 sd 卡燒寫,燒寫前還要格式化SD 卡,然后再給裸機程序加入頭部信息(6ull,6410/2440?不需要),用專用的下載上位機燒寫。
其實裸機程序在我們學習嵌入式的過程中只是一個引導作用,用來了解這些處理器是如何工作的,因此編寫好裸機程序后其實沒必要真正地燒寫到系統(tǒng)里面,只需要等讓它運行,觀察實驗現(xiàn)象即可。
uboot 中一般都會提供多種文件傳輸?shù)姆椒?,?tftp,nfs,xmodem,ymodem 等方法,選擇一種板子上 uboot 支持的方式,如不清楚,可以使用 pri 命令查看,并選擇對應的命令查看幫助信息,如tftp help 等(不同的 uboot 命令會有所不同)。
把編譯好的裸機 bin 文件下載到對應的地址上,注意這個地址需要和裸機程序在鏈接時指定的地址一樣(在.lds 文件中描述,或者在執(zhí)行鏈接的時候指定),如指定到?0x87800000。那么就下載到?0x87800000?這個地址,完成后讓 uboot 直接跳轉(zhuǎn)到這個地址即可運行裸機程序:go0x87800000.需要注意,在板子復位或者重上電等情況,會運行默認的程序,而不是裸機程序,所以說這種方式并不是燒寫,只是拷貝到內(nèi)存中執(zhí)行,當中省略了很多燒寫裸機必要的步驟。
nfs 服務模式:
使用 nfs在 6ull上驗證裸機、uboot、kernel,虛擬機需要安裝 nfs服務,并開啟 nfs服務,具體操作參考開發(fā)環(huán)境搭建第二小節(jié)。開發(fā)板運行在 uboot界面,將其 ip、服務 ip、網(wǎng)關等進行修改,保證可以與服務器(虛擬機)ip正常 ping通即
準備好以后就可以使用nfs 命令來將 裸機下載到開發(fā)板 DDR 的 0X87800000 鏈接地址處,命令如下:?
nfs 87800000 192.168.0.104:/home/lumeng/linux/nfs/uart.bin
go 命令執(zhí)行跳轉(zhuǎn) 到 0x87800000 執(zhí)行串口打印結(jié)果:
不僅可以測試裸機程序,也可以加載 uboot 和內(nèi)核,來測試 uboot 和內(nèi)核哦!使用 nfs 傳輸uboot 和執(zhí)行如下:
使用 nfs 傳輸內(nèi)核+設備樹和啟動內(nèi)核如下,使用 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 命令啟啟動內(nèi)核 bootz 80800000 – 83000000
使用 tftp 在 6ull 上驗證裸機、uboot、kernel,虛擬機需要安裝 nfs 服務,并開啟 nfs 服務,具體操作參考開發(fā)環(huán)境搭建第二小節(jié)。開發(fā)板運行在 uboot 界面,將其 ip、服務 ip、網(wǎng)關等進行修改,保證可以與服務器(虛擬機)ip 正常 ping 通即可。
準備好以后就可以使用 tftp 命令來將 裸機程序 uart.bin下載到開發(fā)板 DDR 的0X87800000 鏈接地址處,命令如下:tftp 87800000 uart.bin ,并使用 go 87800000 執(zhí)行裸機。
使用tftp 測試 uboot和內(nèi)核如下,具體和 nfs 類似,不再贅述。
本文系21ic論壇藍V作者一路向北lm原創(chuàng)
國內(nèi)MCU能替代國外產(chǎn)品嗎?MCU的未來又將如何?
STM32價格瘋長下,盤點STM32的國產(chǎn)替代者
選微處理器MPU,還是單片機MCU?兩者區(qū)別詳解
免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!