iMX6ULL基礎(chǔ)操作-系統(tǒng)燒寫指南
本文以飛凌嵌入式OKMX6ULL-S開發(fā)板為基礎(chǔ)講解,本文分為三個(gè)部分,主要講解了iMX6ULL SD卡燒寫系統(tǒng)及OTG燒寫系統(tǒng)的以及單步更新內(nèi)核的步驟。通過本文您可以快速實(shí)現(xiàn)飛凌iMX6ULL開發(fā)板系統(tǒng)燒寫。
一、 SD卡燒寫系統(tǒng)
以nand- sdburn為例,燒寫NAND進(jìn)行操作說明,飛凌iMX6ULL撥碼開關(guān)設(shè)置參考如下。
設(shè)置撥碼開關(guān):
燒寫/啟動(dòng) |
序號(hào)1 |
序號(hào)2 |
序號(hào)3 |
序號(hào)4 |
序號(hào)5 |
序號(hào)6 |
序號(hào)7 |
序號(hào)8 |
SD卡燒寫 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
EMMC啟動(dòng) |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
NAND啟動(dòng) |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
OTG燒寫 |
1 |
1 |
X |
X |
X |
X |
X |
X |
注意:上表中“1”代表ON,“0”代表OFF,“X”代表無關(guān)。
1、 制作SD卡
將文件nand-burnsd拷貝到Ubuntu 系統(tǒng)的任一目錄,假設(shè)為/home/neo/work。
用戶資料\Linux\燒錄工具\(yùn)nand-sdburn.zip 為256M NAND文件系統(tǒng)。
用戶資料\Linux\燒錄工具\(yùn) emmc-sdburn.zip 為4G EMMC文件系統(tǒng)。
步驟1:nand-burnsd.zip解壓后拷貝到/home/neo/work。
步驟2:使用 USB 讀卡器把SD 卡插入到電腦的USB 端口(VMware 虛擬機(jī)用戶如果U盤沒有被虛擬機(jī)識(shí)別,可以使用如下箭頭指向圖標(biāo)將優(yōu)盤連接到虛擬機(jī))。
步驟3:待虛擬機(jī)識(shí)別到SD卡后彈出目錄再進(jìn)行下邊燒寫操作。進(jìn)入/home/neo/work/nand-burnsd目錄,執(zhí)行腳本:
neo@ubuntu:~/work/nand-burnsd$ sudo ./6ullsdburn.sh
執(zhí)行上述命令后,終端會(huì)列出電腦的硬盤或U盤,對(duì)應(yīng)選擇自己的SD 卡,回車。
注意:判定自己的U盤是 sda/sdb/sdc 可以根據(jù)容量進(jìn)行判斷,比如自己的優(yōu)盤容量為4G,則其size 為3872256 KB≈ 4G,建議用戶執(zhí)行此操作時(shí)不要同時(shí)插入多個(gè)優(yōu)盤,以免混淆。
這里以我們的操作為例:
選擇 1 ,回車
選擇y,回車,等待至制卡完成。
若打印信息中沒有下圖紅框中標(biāo)識(shí)的信息,則SD卡掛載失敗,則需要使用Ubuntu重新卸載并掛載。
卡制作完成后可以看到boot 分區(qū)包含sdrun和target兩個(gè)目錄。sdrun 文件夾內(nèi)容用于引導(dǎo)系統(tǒng)燒寫,無需修改;target目錄內(nèi)容會(huì)燒寫到flash芯片。如果需要替換鏡像文件,只需將target目錄中的對(duì)應(yīng)文件替換掉,并保持同樣的命名,之后再重新進(jìn)行系統(tǒng)燒寫。
2、SD卡燒寫系統(tǒng)
將上一節(jié)中制作好的SD卡插入,同時(shí)將撥碼開關(guān)置于下圖所示。3、5、8 均為ON,1、2、4、6、7均為 OFF,如下圖。此時(shí)將SD卡中target的內(nèi)容燒寫到NAND中。
lib/modules/4.1.15-00026-g407ada6-dirty/modules.softdep lib/modules/4.1.15-00026-g407ada6-dirty/source lib/modules/4.1.15-00026-g407ada6-dirty/modules.dep.bin lib/modules/4.1.15-00026-g407ada6-dirty/modules.symbols Update Complete!!!!!!!
同時(shí)iMX6ULL底板上的LED閃爍。燒寫時(shí)間較長(zhǎng),等待系統(tǒng)燒寫完成之后,串口打印信息:
燒寫完成之后,斷電,將撥碼開關(guān)撥到4、5、8均為ON,1、2、3、6、7均為OFF,重新上電iMX6ULL開發(fā)板,NAND啟動(dòng)。
3、OTG燒寫系統(tǒng)
注意:使用OTG燒寫時(shí),iMX6ULL開發(fā)板不能插入SD卡。
mx6ull-4gemmc-512mddr-qt5.6.vbs 燒寫4GeMMC+512MDDR的系統(tǒng)
mx6ull-256mnand-256mddr-cmd.vbs 燒寫256MNAND+256MDDR系統(tǒng)
①、 首先將燒寫工具M(jìn)fg工具拷貝到 windows 下解壓,燒寫工具路徑如下所示:用戶資料\Linux\燒錄工具\(yùn) mfgtools.zip
②、5V電源供電如圖,開關(guān)撥到供電口端:
③、撥碼開關(guān)設(shè)置為 1、2為ON,其他狀態(tài)任意。如圖:
④、雙擊“ mx6ull-256mnand-256mddr-cmd.vbs ”(已寫好腳本,直接燒寫),如下圖:
⑤、插入U(xiǎn)SB OTG,如下圖:
自動(dòng)識(shí)別為HID,如圖:
⑥、點(diǎn)擊start,開始燒寫系統(tǒng),中間彈出格式化對(duì)話框,點(diǎn)擊“取消”格式化選項(xiàng),或者不管它,直到燒寫完成。如圖:
⑦、系統(tǒng)燒寫完成之后,出現(xiàn)“Done”,之后點(diǎn)擊“stop”,停止。再點(diǎn)擊“Exit”,關(guān)閉燒寫燒寫工具。斷電,將撥碼開關(guān)撥到4、5、8均為ON,1、2、3、6、7均為OFF,重新上電iMX6ULL開發(fā)板,NAND啟動(dòng)。
二、單步更新內(nèi)核
1、 eMMC單步更新內(nèi)核
系統(tǒng)啟動(dòng)后,將待替換設(shè)備樹放于u盤中,插入到iMX6ULL開發(fā)板上,在超級(jí)終端輸入命令:
root@fl-imx6ull:~# cp /run/media/sda1/imx6ull-S-gpmi-1024x600c7.dtb /run/media/mmcblk1p1/imx6ull-S-gpmi-1024x600c7.dtb root@fl-imx6ull:~# cp /run/media/sda1/zImage /run/media/mmcblk1p1/zImage root@fl-imx6ull:~# sync root@fl-imx6ull:~# reboot
重啟后,到uboot階段選擇對(duì)應(yīng)dtb即可。
2、 Nand單步更新內(nèi)核
更新dtb以及內(nèi)核,logo,可以使用nandwrite命令,該命令也已經(jīng)打包在文件系統(tǒng)中。使用時(shí),要將待燒寫的dtb、logo、 zImage文件復(fù)制到文件系統(tǒng)的某個(gè)目錄下(本文示例為/root),然后擦除掉對(duì)應(yīng)分區(qū)中的舊固件,再分別使用nandwrite命令將新的固件寫到對(duì)應(yīng)的分區(qū)中。參考命令如下所示:
root@fl-imx6ull:~# flash_erase /dev/mtd4 0 0 Erasing 128 Kibyte @ 7e0000 -- 100 % complete root@fl-imx6ull:~# nandwrite -p /dev/mtd4 /run/media/sda1/target/zImage Writing data to block 0 at offset 0x0 Writing data to block 1 at offset 0x20000 Writing data to block 2 at offset 0x40000 …
更新內(nèi)核:
更新dtb:
root@fl-imx6ull:~# flash_erase /dev/mtd3 0 0 Erasing 128 Kibyte @ 2e0000 -- 100 % complete root@fl-imx6ull:~# nandwrite -p /dev/mtd3 /run/media/sda1/target/imx6ull-S-gpmi-800x480c7.dtb Writing data to block 0 at offset 0x0
更新logo:
root@fl-imx6ull:~# flash_erase /dev/mtd1 0 0 Erasing 128 Kibyte @ 1e0000 -- 100 % complete root@fl-imx6ull:~# nandwrite -p /dev/mtd1 /run/media/sda1/target/logo.bmp Writing data to block 0 at offset 0x0 Writing data to block 1 at offset 0x20000 Writing data to block 2 at offset 0x40000
相關(guān)產(chǎn)品 >
-
OKMX6ULL-S開發(fā)板
iMX6ULL是飛凌新近推出的一款開發(fā)板,iMX6ULL與iMX6UL開發(fā)板相比,功能無區(qū)別完全兼容,配置升級(jí),性能高,價(jià)格低。根據(jù)介紹可看出i.MX6ULL參數(shù)豐富 ,采用NXP i.MX6ULL處理器芯片,郵票孔封裝,支持Linux系統(tǒng),i.MX6ULL開發(fā)板資料豐富,方便二次開發(fā)設(shè)計(jì)。
了解詳情 -
FETMX6ULL-S核心板
飛凌新出的一款采用NXP高性能、高效、低成本處理器的核心板—FETMX6ULL-S核心板,i.MX6ULL核心板采用郵票孔連接方式,ARM Cortex-A7內(nèi)核,原生兩路網(wǎng)口,兩路Can和八路串口,可以和多種設(shè)備同時(shí)通訊。i.MX6ULL核心板支持工業(yè)級(jí)和擴(kuò)展商業(yè)級(jí)兩種配置,并且經(jīng)過了高低溫測(cè)試的檢驗(yàn),iMX6ULL核心板采用Linux4.1.15+Qt5.6操作系統(tǒng),方便開發(fā)自己的應(yīng)用程序。 了解詳情 -
FETMX6ULL-C核心板
FETMX6ULL-C核心板采用NXP i.MX6ULL處理器開發(fā)設(shè)計(jì),是一款高性能Linux核心板,采用低功耗的ARM Cortex-A7架構(gòu),運(yùn)行速度高達(dá)800MHz。iMX6ULL核心板29*40mm ,iMX6ULL這款處理器功能接口資源豐富,供貨周期長(zhǎng)。
了解詳情 -
OKMX6ULL-C開發(fā)板
40*29mm,雙網(wǎng)雙CAN,8路串口| i.MX6ULL開發(fā)板是基于NXP i.MX6ULL設(shè)計(jì)開發(fā)的的一款Linux開發(fā)板 ,主頻800MHz,體積小,其核心板僅40*29mm,采用板對(duì)板連接器,適應(yīng)場(chǎng)景豐富。 了解詳情