加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 1、SD 卡燒寫(xiě)系統(tǒng)
    • 2、單步更新內(nèi)核 1 eMMC 單步更新內(nèi)核
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

干貨丨OKMX6ULL-S開(kāi)發(fā)板基礎(chǔ)操作-系統(tǒng)燒寫(xiě)指南

2021/01/08
451
閱讀需 12 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

本文以飛凌嵌入式 OKMX6ULL-S 開(kāi)發(fā)板為基礎(chǔ)講解,本文分為三個(gè)部分,主要講解了 iMX6ULL SD 卡燒寫(xiě)系統(tǒng)及 OTG 燒寫(xiě)系統(tǒng)的以及單步更新內(nèi)核的步驟。通過(guò)本文您可以快速實(shí)現(xiàn)飛凌 iMX6ULL 開(kāi)發(fā)板系統(tǒng)燒寫(xiě)。

1、SD 卡燒寫(xiě)系統(tǒng)

以 nand- sdburn 為例,燒寫(xiě) NAND 進(jìn)行操作說(shuō)明,飛凌 iMX6ULL 撥碼開(kāi)關(guān)設(shè)置參考如下。G 設(shè)置撥碼開(kāi)關(guān):

燒寫(xiě) / 啟動(dòng) 序號(hào) 1 序號(hào) 2 序號(hào) 3 序號(hào) 4 序號(hào) 5 序號(hào) 6 序號(hào) 7
SD 卡燒寫(xiě) 0 0 1 0 1 0 0
SD 卡燒寫(xiě) 0 0 1 0 0 0 0
SD 卡燒寫(xiě) 0 0 0 1 1 0 0
SD 卡燒寫(xiě) 1 1 X X X X X

注意:上表中“1”代表 ON,“0”代表 OFF,“X”代表無(wú)關(guān)。

1、制作 SD 卡

將文件 nand-burnsd 拷貝到 Ubuntu 系統(tǒng)的任一目錄,假設(shè)為 /home/neo/work。

用戶(hù)資料 Linux 燒錄工具 nand-sdburn.zip 為 256M NAND 文件系統(tǒng)。

用戶(hù)資料 Linux 燒錄工具 emmc-sdburn.zip 為 4G EMMC 文件系統(tǒng)。

步驟 1:nand-burnsd.zip 解壓后拷貝到 /home/neo/work。

步驟 2:使用 USB 讀卡器把 SD 卡插入到電腦的 USB 端口(VMware 虛擬機(jī)用戶(hù)如果 U 盤(pán)沒(méi)有被虛擬

步驟 3:待虛擬機(jī)識(shí)別到 SD 卡后彈出目錄再進(jìn)行下邊燒寫(xiě)操作。進(jìn)入 /home/neo/work/nand-burnsd 目錄,執(zhí)行腳本:


 

neo@ubuntu:~/work/nand-burnsd$ sudo ./6ullsdburn.sh

執(zhí)行上述命令后,終端會(huì)列出電腦的硬盤(pán)或 U 盤(pán),對(duì)應(yīng)選擇自己的 SD 卡,回車(chē)。

注意:判定自己的 U 盤(pán)是 sda/sdb/sdc 可以根據(jù)容量進(jìn)行判斷,比如自己的優(yōu)盤(pán)容量為 4G,則其 size 為 3872256 KB≈ 4G,建議用戶(hù)執(zhí)行此操作時(shí)不要同時(shí)插入多個(gè)優(yōu)盤(pán),以免混淆。

這里以我們的操作為例:

選擇 1 ,回車(chē)

選擇 y,回車(chē),等待至制卡完成。

若打印信息中沒(méi)有下圖紅框中標(biāo)識(shí)的信息,則 SD 卡掛載失敗,則需要使用 Ubuntu 重新卸載并掛載。

卡制作完成后可以看到 boot 分區(qū)包含 sdrun 和 target 兩個(gè)目錄。sdrun 文件夾內(nèi)容用于引導(dǎo)系統(tǒng)燒寫(xiě),無(wú)需修改;target 目錄內(nèi)容會(huì)燒寫(xiě)到 flash 芯片。如果需要替換鏡像文件,只需將 target 目錄中的對(duì)應(yīng)文件替換掉,并保持同樣的命名,之后再重新進(jìn)行系統(tǒng)燒寫(xiě)。

2、SD 卡燒寫(xiě)系統(tǒng)

將上一節(jié)中制作好的 SD 卡插入,同時(shí)將撥碼開(kāi)關(guān)置于下圖所示。3、5、8 均為 ON,1、2、4、6、7 均為 OFF,如下圖。此時(shí)將 SD 卡中 target 的內(nèi)容燒寫(xiě)到 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 閃爍。燒寫(xiě)時(shí)間較長(zhǎng),等待系統(tǒng)燒寫(xiě)完成之后,串口打印信息:

燒寫(xiě)完成之后,斷電,將撥碼開(kāi)關(guān)撥到 4、5、8 均為 ON,1、2、3、6、7 均為 OFF,重新上電 iMX6ULL 開(kāi)發(fā)板,NAND 啟動(dòng)。

3、OTG 燒寫(xiě)系統(tǒng)

注意:使用 OTG 燒寫(xiě)時(shí),iMX6ULL 開(kāi)發(fā)板不能插入 SD 卡。

mx6ull-4gemmc-512mddr-qt5.6.vbs    

    

燒寫(xiě) 4GeMMC+512MDDR 的系統(tǒng)

mx6ull-256mnand-256mddr-cmd.vbs       

燒寫(xiě) 256MNAND+256MDDR 系統(tǒng)

① 首先將燒寫(xiě)工具 Mfg 工具拷貝到 windows 下解壓,燒寫(xiě)工具路徑如下所示:用戶(hù)資料 Linux 燒錄工具 mfgtools.zip

② 5V 電源供電如圖,開(kāi)關(guān)撥到供電口端:

③ 撥碼開(kāi)關(guān)設(shè)置為 1、2 為 ON,其他狀態(tài)任意。如圖:

④ 雙擊“ mx6ull-256mnand-256mddr-cmd.vbs ”(已寫(xiě)好腳本,直接燒寫(xiě)),如下圖:

⑤ 插入 USB OTG,如下圖:

自動(dòng)識(shí)別為 HID,如圖:

⑥ 點(diǎn)擊 start,開(kāi)始燒寫(xiě)系統(tǒng),中間彈出格式化對(duì)話(huà)框,點(diǎn)擊“取消”格式化選項(xiàng),或者不管它,直到燒寫(xiě)完成。如圖:

⑦ 系統(tǒng)燒寫(xiě)完成之后,出現(xiàn)“Done”,之后點(diǎn)擊“stop”,停止。再點(diǎn)擊“Exit”,關(guān)閉燒寫(xiě)燒寫(xiě)工具。斷電,將撥碼開(kāi)關(guān)撥到 4、5、8 均為 ON,1、2、3、6、7 均為 OFF,重新上電 iMX6ULL 開(kāi)發(fā)板,NAND 啟動(dòng)。

2、單步更新內(nèi)核 1 eMMC 單步更新內(nèi)核

系統(tǒng)啟動(dòng)后,將待替換設(shè)備樹(shù)放于 u 盤(pán)中,插入到開(kāi)發(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í),要將待燒寫(xiě)的 dtb、logo、 zImage 文件復(fù)制到文件系統(tǒng)的某個(gè)目錄下(本文示例為 /root),然后擦除掉對(duì)應(yīng)分區(qū)中的舊固件,再分別使用 nandwrite 命令將新的固件寫(xiě)到對(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)核:


 

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

更新 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)業(yè)圖譜

秉承專(zhuān)業(yè)態(tài)度,專(zhuān)注智能設(shè)備核心平臺(tái)研發(fā)與制造,以技術(shù)研發(fā)創(chuàng)新為主導(dǎo),以客戶(hù)實(shí)用化,產(chǎn)品化為目標(biāo),把握嵌入式行業(yè)的前沿發(fā)展需求,利用核心技術(shù)為客戶(hù)提供穩(wěn)定、可靠、功能優(yōu)異的高品質(zhì)產(chǎn)品。合作聯(lián)系:17713286011