前 言
本文檔由創(chuàng)龍科技研發(fā),專為安路飛龍 DR1M90 FPSoC 產(chǎn)品打造,聚焦 Linux 系統(tǒng)全流程開發(fā)需求。
開發(fā)環(huán)境
Windows開發(fā)環(huán)境:Windows10 64bit
Linux開發(fā)環(huán)境:VMware16.2.5、Ubuntu22.04.4 64bit
LinuxSDK開發(fā)包:LinuxSDK-[版本號(hào)](基于SDK_2025.1)
交叉編譯工具鏈:
應(yīng)用開發(fā):gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu
U-Boot、內(nèi)核開發(fā):gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu
評(píng)估板系統(tǒng)版本:U-Boot-2021.01、Linux-6.1.111、Buildroot-2022.02
備注:本文基于8GByte eMMC、1GByteDDR3配置核心板進(jìn)行演示。
術(shù)語(yǔ)表
為便于閱讀,下表對(duì)文檔出現(xiàn)的關(guān)鍵術(shù)語(yǔ)進(jìn)行解釋;對(duì)于廣泛認(rèn)同釋義的術(shù)語(yǔ),在此不做注釋。

注意事項(xiàng)
(1)進(jìn)行本文檔操作前,請(qǐng)先按照《開發(fā)環(huán)境搭建》文檔,安裝VMware虛擬機(jī)與Ubuntu、LinuxSDK、SecureCRT串口調(diào)試終端、TD、FD等相關(guān)軟件。
(2)Linux系統(tǒng)相關(guān)軟件包位于產(chǎn)品資料“4-軟件資料Linux”目錄下,具體如下表。
備注:我司推薦使用最新版本的LinuxSDK,亦可根據(jù)“4-軟件資料LinuxLinuxSDKLinuxSDK-feature-support.pdf”的變更說明,自行替換對(duì)應(yīng)模塊(如device/rockchip)至舊版本LinuxSDK進(jìn)行更新。

LinuxSDK配置與編譯
請(qǐng)先參考《開發(fā)環(huán)境搭建》文檔正確安裝LinuxSDK和依賴軟件,再執(zhí)行以下步驟。
配置編譯選項(xiàng)
進(jìn)入LinuxSDK源碼目錄,執(zhí)行如下命令,查看build.sh功能。
Host# ./build.sh --help
圖 1
執(zhí)行如下命令,配置LinuxSDK編譯選項(xiàng)。芯片型號(hào)選擇"1.anlogic_dr1m90",評(píng)估板型號(hào)選擇"18.tldr1-evm"。
Host# source ./envsetup.sh
Host# ./build.sh lunch
圖 2
圖 3
配置交叉編譯工具鏈
進(jìn)入LinuxSDK源碼的toolchains目錄下,運(yùn)行setup.sh腳本安裝交叉編譯工具鏈。
Host# cd toolchains/
Host# chmod 777 setup.sh
Host# ./setup.sh
圖 4
圖 5
配置編譯設(shè)備樹文件
我司提供的設(shè)備樹文件位于LinuxSDK源碼"linux/arch/arm64/boot/dts/anlogic"目錄,具體說明如下表。

評(píng)估板使用的設(shè)備樹文件存在多級(jí)的依賴關(guān)系,具體如下表所示。表中的下一級(jí)設(shè)備樹文件,被上一級(jí)設(shè)備樹文件所引用。

LinuxSDK默認(rèn)編譯的設(shè)備樹文件為tldr1-evm.dts,如需修改其他設(shè)備樹,請(qǐng)參考如下步驟修改。
本次操作以修改為編譯anlogic-dr1m90-ad101-v20.dts設(shè)備樹進(jìn)行演示,其他設(shè)備樹修改方法同理。
進(jìn)入LinuxSDK源碼目錄執(zhí)行如下命令,修改"device/.BoardConfig.mk"文件。
Host# vim device/.BoardConfig.mk
圖 6
修改內(nèi)容如下:
export ANLOGIC_KERNEL_DTS=anlogic-dr1m90-ad101-v20.dts //將"tldr1-evm.dts"修改為"anlogic-dr1m90-ad101-v20.dts"
exportANLOGIC_KERNEL_DTB=device/output/anlogic_dr1m90/linux/arch/arm64/boot/dts/anlogic-dr1m90-ad101-v20.dtb //將"tldr1-evm.dtb"修改為"anlogic-dr1m90-ad101-v20.dtb"
圖 7
配置內(nèi)核選項(xiàng)
我司默認(rèn)配置的是Linux內(nèi)核(推薦使用)。如需修改內(nèi)核編譯選項(xiàng)配置,請(qǐng)繼續(xù)執(zhí)行"./build.sh kernelmenuconfig"命令打開圖形配置界面。如無需修改內(nèi)核編譯選項(xiàng)配置,可跳過此步驟。
menuconfig是一套圖形化的配置工具,需要ncurses庫(kù)支持。ncurses庫(kù)提供了一系列的API函數(shù)供調(diào)用者生成基于文本的圖形界面,因此需要先執(zhí)行如下命令通過網(wǎng)絡(luò)安裝ncurses庫(kù)。
Host# sudo apt-get install libncurses-dev
圖 8
ncurses庫(kù)安裝完成后,執(zhí)行如下命令打開圖形配置界面。
Host# cd /home/tronlong/DR1/SDK_2025.1/
Host# ./build.sh kernelmenuconfig
圖 9
圖 10
可通過鍵盤的方向鍵選中對(duì)應(yīng)菜單欄。在被選中的情況下,可按Enter鍵進(jìn)入子菜單。菜單選項(xiàng)中藍(lán)色高亮的字母代表此菜單選項(xiàng)的快捷鍵,可在鍵盤上按下對(duì)應(yīng)的字母快速選中對(duì)應(yīng)的菜單選項(xiàng)。每個(gè)菜單選項(xiàng)前的括號(hào)內(nèi)容表示當(dāng)前菜單選項(xiàng)的配置狀態(tài)。選中對(duì)應(yīng)的菜單選項(xiàng)后,按下Y鍵,會(huì)將相應(yīng)的選項(xiàng)配置編譯到內(nèi)核中,同時(shí)菜單選項(xiàng)前面變?yōu)? * >。按下N鍵,不會(huì)將相應(yīng)的選項(xiàng)配置編譯到內(nèi)核中。按下M鍵,會(huì)將相應(yīng)的選項(xiàng)配置編譯為內(nèi)核模塊,菜單選項(xiàng)前面變?yōu)? M >。如需搜索,可按下/鍵打開搜索框,然后輸入要搜索的內(nèi)容。圖 11配置完畢后,選中,按Enter鍵保存配置選項(xiàng)。然后選中,按Enter鍵退出。圖 12配置Buildroot如需修改Buildroot配置,請(qǐng)執(zhí)行如下命令打開Buildroot配置界面。若無需修改Buildroot配置,可跳過此步驟。Host# cd /home/tronlong/DR1/SDK_2025.1/Host# ./build.sh buildrootmenuconfig圖 13圖 14可通過鍵盤的方向鍵選中對(duì)應(yīng)菜單欄。在被選中的情況下,可按Enter鍵進(jìn)入子菜單。菜單選項(xiàng)中藍(lán)色高亮的字母代表此菜單選項(xiàng)的快捷鍵,可在鍵盤上按下對(duì)應(yīng)的字母快速選中對(duì)應(yīng)的菜單選項(xiàng)。
每個(gè)菜單選項(xiàng)前的括號(hào)內(nèi)容表示當(dāng)前菜單選項(xiàng)的配置狀態(tài)。選中對(duì)應(yīng)的菜單選項(xiàng)后,按下Y鍵,會(huì)將相應(yīng)的選項(xiàng)配置編譯到Buildroot中,同時(shí)菜單選項(xiàng)前面變?yōu)?strong>< * >。按下N鍵,不會(huì)將相應(yīng)的選項(xiàng)配置編譯到Buildroot中。如需搜索,可按下/鍵打開搜索框,然后輸入要搜索的內(nèi)容。
配置完畢后,選中,按Enter鍵保存配置選項(xiàng)。然后選中,按Enter鍵退出。
編譯LinuxSDK
請(qǐng)確保已參照配置編譯選項(xiàng)章節(jié)配置LinuxSDK編譯選項(xiàng),然后在LinuxSDK的源碼目錄下執(zhí)行如下命令,一鍵編譯生成U-Boot、Kernel、Buildroot等鏡像,并打包生成Linux系統(tǒng)鏡像。
Host# ./build.shall
圖 15
預(yù)計(jì)耗時(shí)約2小時(shí)后編譯完成,最終在LinuxSDK源碼"device/output/anlogic_dr1m90"目錄下生成U-Boot、Kernel、Buildroot等鏡像如下所示。
圖 16
系統(tǒng)組件鏡像說明

備注:u-boot.bin需與fsbl.elf文件合成BOOT.bin使用。
審核編輯 黃宇
-
Linux
+關(guān)注
關(guān)注
88文章
11641瀏覽量
218195
發(fā)布評(píng)論請(qǐng)先 登錄
基于安路DR1M90 FPSoC的Linux系統(tǒng)全流程開發(fā)指南(4)
一步步完成安路飛龍 DR1M90 Linux 系統(tǒng)固化:?jiǎn)?dòng)卡制作 + eMMC 固化
安路科技發(fā)布SALDRAGON?飛龍系列全新FPSoC?器件,多元化產(chǎn)品矩陣加速布局下游市場(chǎng)
米爾國(guó)產(chǎn)FPGA SoC芯選擇,安路飛龍DR1M90核心板重磅發(fā)布
雙目視覺處理系統(tǒng)開發(fā)實(shí)例-基于米爾安路國(guó)產(chǎn)DR1M90開發(fā)板
強(qiáng)強(qiáng)聯(lián)手!米爾×安路IDH合作共筑FPGA新生態(tài)
搭載ARM,NPU,F(xiàn)PGA三種核心的開發(fā)板—米爾安路DR1M90飛龍派
Tiny6410 Linux開發(fā)指南詳解
可編程邏輯技術(shù)廠商安路科技發(fā)布SALDRAGON?飛龍系列全新FPSoC?器件
米爾-安路飛龍DR1M90 -國(guó)產(chǎn)FPGA核心板開發(fā)板
安路科技DR1FPSoC多路以太網(wǎng)擴(kuò)展方案
創(chuàng)龍科技DR1M90工業(yè)評(píng)估板的關(guān)鍵優(yōu)勢(shì)
安路DR1M90評(píng)估板:從基礎(chǔ)外設(shè)到通信模塊測(cè)試指南
基于安路DR1M90 FPSoC 的Linux 系統(tǒng)全流程開發(fā)指南(3)
基于 DR1M90 的 Linux-RT 內(nèi)核開發(fā):從編譯配置到 GPIO / 按鍵應(yīng)用實(shí)現(xiàn)(1)

基于安路DR1M90 FPSoC 的Linux 系統(tǒng)全流程開發(fā)指南(1)
評(píng)論