SD系統(tǒng)啟動卡+網(wǎng)絡(luò)方式啟動
基于TFTP和NFS啟動開發(fā)板,是一種很便捷網(wǎng)絡(luò)啟動和調(diào)試方式,避免用戶在開發(fā)過程中,使用SD系統(tǒng)啟動卡等方式拷貝啟動文件到開發(fā)板而造成的繁瑣工作。
本小節(jié)介紹從SD系統(tǒng)啟動卡啟動U-Boot,再通過TFTP加載設(shè)備樹文件、Linux內(nèi)核鏡像文件,最后使用NFS掛載遠程文件系統(tǒng)。進行以下操作前,請參照《TFTP開發(fā)環(huán)境搭建》、《NFS開發(fā)環(huán)境搭建》文檔搭建好TFTP和NFS開發(fā)環(huán)境。
1.1 啟動文件準備
將AM57x開發(fā)板對應(yīng)的設(shè)備樹文件和內(nèi)核鏡像文件,拷貝到Ubuntu搭建好的TFTP服務(wù)器工作目錄中。
本文以廣州創(chuàng)龍TL5728-EasyEVM開發(fā)板為例,其對應(yīng)設(shè)備樹文件為am57xx-evm-reva3.dtb;網(wǎng)絡(luò)啟動連接網(wǎng)口為RGMII ETH0.
平臺介紹:
AM5728是TI Sitara系列高性能SOC,得益于異構(gòu)多核處理架構(gòu),CPU內(nèi)集成了多核DSP、多核PRU、IVA-HD、GPU等協(xié)處理單元,通過硬件加速的方式極大增強CPU的數(shù)據(jù)、多媒體處理能力,可滿足工業(yè)協(xié)議支持、大數(shù)據(jù)計算、實時控制等應(yīng)用需求,同時采用先進的28納米生產(chǎn)工藝,極大降低處理器的功耗,能耗比更加突出。
TL5728-EasyEVM 是一款廣州創(chuàng)龍基于 TI AM5728(浮點雙 DSP C66 x +雙 ARM Cortex-A15)SOM-TL5728 核心板設(shè)計的開發(fā)板,它為用戶提供了 SOM-TL5728 核心板的測試平臺,用于快速評估 SOM-TL5728 核心板的整體性能。底板采用沉金無鉛工藝的 4 層板設(shè)計,為客戶提供豐富的AM5728 入門教程,協(xié)助客戶進行底板的開發(fā),提供長期、全面的技術(shù)支持,幫助客戶以最快的速度進行產(chǎn)品的二次開發(fā),實現(xiàn)產(chǎn)品的快速上市。
? 基于TI AM5728浮點雙DSPC66x+雙ARMCortex-A15工業(yè)控制及高性能音視頻處理器;
? 強勁的視頻編解碼能力,支持1路1080P60或2路720P60或4路720P30視頻硬件編解碼,支持H.265視頻軟解碼;
? 支持高達1路1080P60全高清視頻輸入和1路LCD + 1路HDMI 1.4a輸出;
? 雙核PRU-ICSS工業(yè)實時控制子系統(tǒng),支持EtherCAT、EtherNet/IP、PROFIBUS等工業(yè)協(xié)議;
? 外設(shè)接口豐富,集成雙千兆網(wǎng)、PCIe、GPMC、USB 2.0、UART、SPI、QSPI、SATA 2.0、I2C、DCAN等工業(yè)控制總線和接口,支持極速接口USB 3.0;
拷貝完成后,Ubuntu下TFTP服務(wù)器工作目錄包含的設(shè)備樹文件、內(nèi)核鏡像文件如下圖所示:
在Ubuntu的NFS共享目錄下,新建開發(fā)板文件系統(tǒng)存放文件夾rootfs,并將光盤“ShellLinux-4.4.19-mksdbootfilesystem”目錄下的開發(fā)板文件系統(tǒng)壓縮包拷貝到Ubuntu。
進入文件系統(tǒng)壓縮所在路徑,執(zhí)行如下指令解壓到此壓縮文件到NFS共享目錄rootfs文件夾:
Host# sudo tar -vxf rootfs-03.01_v1.1.tar.gz -C /home/tronlong/nfs_share/rootfs
解壓完成后,NFS共享目錄下的rootfs文件夾內(nèi)容如下圖所示:
1.2 設(shè)置網(wǎng)絡(luò)啟動環(huán)境變量
根據(jù)“表1”所示,將開發(fā)板對應(yīng)網(wǎng)口和PC通過路由器或者交換機互聯(lián)。開發(fā)板撥碼開關(guān)選擇MMC1啟動:01000(1~5),開發(fā)板上電后快速點擊任意鍵進入U-Boot命令行。執(zhí)行如下命令,恢復(fù)系統(tǒng)默認U-Boot環(huán)境變量,設(shè)置NFS服務(wù)器上的文件系統(tǒng)路徑:
U-Boot》 env default -f -a
U-Boot》 setenv rootpath /home/tronlong/nfs_share/rootfs/
繼續(xù)執(zhí)行如下命令,設(shè)置網(wǎng)絡(luò)啟動環(huán)境變量:
U-Boot》 setenv netboot ‘echo Booting from network 。..; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}’
U-Boot》 setenv autoload no
U-Boot》 dhcp //自動獲取IP地址
U-Boot》 setenv serverip 192.168.1.157
U-Boot》 setenv fdtfile am57xx-evm-reva3.dtb
U-Boot》 setenv bootcmd ‘run netboot’
U-Boot》 saveenv
U-Boot》 run netboot
192.168.1.157為TFTP與NFS服務(wù)器IP地址,am57xx-evm-reva3.dtb為AM57x平臺開發(fā)板使用的設(shè)備樹文件,請根據(jù)實際情況修改。設(shè)置成功后,執(zhí)行如下指令將從網(wǎng)絡(luò)啟動內(nèi)核并掛載文件系統(tǒng),啟動時開發(fā)板會自動獲取IP地址,如下圖所示:
開發(fā)板啟動成功,進入文件系統(tǒng)執(zhí)行如下指令,可以查看到已經(jīng)成功掛載上遠程NFS共享目錄rootfs文件夾下的文件系統(tǒng):
Target# df
SD系統(tǒng)啟動卡+USB系統(tǒng)啟動盤啟動
本小節(jié)介紹從SD系統(tǒng)啟動卡啟動U-Boot,再通過USB系統(tǒng)啟動盤啟動Linux內(nèi)核并掛載文件系統(tǒng)。進行以下操作前,請參照《Linux SD系統(tǒng)啟動卡制作方法》文檔,制作好USB系統(tǒng)啟動盤。
將制作好的USB系統(tǒng)啟動盤連接到開發(fā)板的USB3.0接口,開發(fā)板撥碼開關(guān)選擇MMC1啟動:01000(1~5)。開發(fā)板上電,快速點擊任意鍵進入U-Boot命令行。執(zhí)行如下命令,設(shè)置USB啟動環(huán)境變量,啟動過程打印信息如下圖所示:
U-Boot》 setenv bootcmd run usbboot
U-Boot》 saveenv
U-Boot》 reset
開發(fā)板啟動成功,進入文件系統(tǒng)執(zhí)行如下指令,可以查看到開發(fā)板文件系統(tǒng)掛載情況如下圖所示:
Target# df
使用USB方式時,內(nèi)核需要重新編譯,編譯時選擇支持USB加載文件系統(tǒng),然后使用編譯后的內(nèi)核鏡像替換USB啟動設(shè)備文件系統(tǒng)分區(qū)boot目錄下的內(nèi)核鏡像文件。廣州創(chuàng)龍?zhí)峁┑?a href="http://www.qldv.cn/article/zt/" target="_blank">最新內(nèi)核已完成內(nèi)核的修改,直接支持USB方式啟動系統(tǒng)。
-
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
595瀏覽量
27510 -
u-boot
+關(guān)注
關(guān)注
0文章
121瀏覽量
38313
發(fā)布評論請先 登錄
相關(guān)推薦
評論