SD系統啟動卡+網絡方式啟動 基于TFTP和NFS啟動開發板,是一種很便捷網絡啟動和調試方式,避免用戶在開發過程中,使用SD系統啟動卡等方式拷貝啟動文件到開發板而造成的繁瑣工作。 本小節介紹從SD系統啟動卡啟動U-Boot,再通過TFTP加載設備樹文件、Linux內核鏡像文件,最后使用NFS掛載遠程文件系統。進行以下操作前,請參照《TFTP開發環境搭建》、《NFS開發環境搭建》文檔搭建好TFTP和NFS開發環境。 1.1 啟動文件準備 將AM57x開發板對應的設備樹文件和內核鏡像文件,拷貝到Ubuntu搭建好的TFTP服務器工作目錄中。 本文以廣州創龍TL5728-EasyEVM開發板為例,其對應設備樹文件為am57xx-evm-reva3.dtb;網絡啟動連接網口為RGMII ETH0. 平臺介紹: AM5728是TI Sitara系列高性能SOC,得益于異構多核處理架構,CPU內集成了多核DSP、多核PRU、IVA-HD、GPU等協處理單元,通過硬件加速的方式極大增強CPU的數據、多媒體處理能力,可滿足工業協議支持、大數據計算、實時控制等應用需求,同時采用先進的28納米生產工藝,極大降低處理器的功耗,能耗比更加突出。 TL5728-EasyEVM是一款廣州創龍基于 TI AM5728(浮點雙 DSP C66 x +雙 ARMCortex-A15)SOM-TL5728 核心板設計的開發板,它為用戶提供了 SOM-TL5728 核心板的測試平臺,用于快速評估 SOM-TL5728 核心板的整體性能。底板采用沉金無鉛工藝的 4 層板設計,為客戶提供豐富的AM5728 入門教程,協助客戶進行底板的開發,提供長期、全面的技術支持,幫助客戶以最快的速度進行產品的二次開發,實現產品的快速上市。 Ø 基于TI AM5728浮點雙DSPC66x+雙ARMCortex-A15工業控制及高性能音視頻處理器; Ø 強勁的視頻編解碼能力,支持1路1080P60或2路720P60或4路720P30視頻硬件編解碼,支持H.265視頻軟解碼; Ø 雙核PRU-ICSS工業實時控制子系統,支持EtherCAT、EtherNet/IP、PROFIBUS等工業協議; ![]() 拷貝完成后,Ubuntu下TFTP服務器工作目錄包含的設備樹文件、內核鏡像文件如下圖所示: ![]() 在Ubuntu的NFS共享目錄下,新建開發板文件系統存放文件夾rootfs,并將光盤“Shell\Linux-4.4.19-mksdboot\filesystem”目錄下的開發板文件系統壓縮包拷貝到Ubuntu。 進入文件系統壓縮所在路徑,執行如下指令解壓到此壓縮文件到NFS共享目錄rootfs文件夾: Host# sudo tar -vxfrootfs-03.01_v1.1.tar.gz -C /home/tronlong/nfs_share/rootfs ![]() 解壓完成后,NFS共享目錄下的rootfs文件夾內容如下圖所示: ![]() 1.2 設置網絡啟動環境變量 根據“表1”所示,將開發板對應網口和PC通過路由器或者交換機互聯。開發板撥碼開關選擇MMC1啟動:01000(1~5),開發板上電后快速點擊任意鍵進入U-Boot命令行。執行如下命令,恢復系統默認U-Boot環境變量,設置NFS服務器上的文件系統路徑: U-Boot> env default -f -a U-Boot> setenv rootpath /home/tronlong/nfs_share/rootfs/ ![]() 繼續執行如下命令,設置網絡啟動環境變量: U-Boot> setenv netboot 'echo Booting from network ...; run netloadimage; runnetloadfdt; 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服務器IP地址,am57xx-evm-reva3.dtb為AM57x平臺開發板使用的設備樹文件,請根據實際情況修改。設置成功后,執行如下指令將從網絡啟動內核并掛載文件系統,啟動時開發板會自動獲取IP地址,如下圖所示: ![]() 開發板啟動成功,進入文件系統執行如下指令,可以查看到已經成功掛載上遠程NFS共享目錄rootfs文件夾下的文件系統: Target# df ![]() SD系統啟動卡+USB系統啟動盤啟動 本小節介紹從SD系統啟動卡啟動U-Boot,再通過USB系統啟動盤啟動Linux內核并掛載文件系統。進行以下操作前,請參照《Linux SD系統啟動卡制作方法》文檔,制作好USB系統啟動盤。 將制作好的USB系統啟動盤連接到開發板的USB3.0接口,開發板撥碼開關選擇MMC1啟動:01000(1~5)。開發板上電,快速點擊任意鍵進入U-Boot命令行。執行如下命令,設置USB啟動環境變量,啟動過程打印信息如下圖所示: U-Boot> setenv bootcmd run usbboot U-Boot> saveenv U-Boot> reset ![]() 開發板啟動成功,進入文件系統執行如下指令,可以查看到開發板文件系統掛載情況如下圖所示: Target# df ![]() 使用USB方式時,內核需要重新編譯,編譯時選擇支持USB加載文件系統,然后使用編譯后的內核鏡像替換USB啟動設備文件系統分區boot目錄下的內核鏡像文件。廣州創龍提供的最新內核已完成內核的修改,直接支持USB方式啟動系統。 |