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

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

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

評估板使用的設備樹文件存在多級的依賴關系,具體如下表所示。表中的下一級設備樹文件,被上一級設備樹文件所引用。

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

備注:u-boot.bin需與fsbl.elf文件合成BOOT.bin使用。
審核編輯 黃宇
-
Linux
+關注
關注
88文章
11784瀏覽量
219267
發布評論請先 登錄
基于安路DR1M90 FPSoC的Linux系統全流程開發指南(4)
一步步完成安路飛龍 DR1M90 Linux 系統固化:啟動卡制作 + eMMC 固化
安路科技發布SALDRAGON?飛龍系列全新FPSoC?器件,多元化產品矩陣加速布局下游市場
米爾國產FPGA SoC芯選擇,安路飛龍DR1M90核心板重磅發布
雙目視覺處理系統開發實例-基于米爾安路國產DR1M90開發板
強強聯手!米爾×安路IDH合作共筑FPGA新生態
搭載ARM,NPU,FPGA三種核心的開發板—米爾安路DR1M90飛龍派
可編程邏輯技術廠商安路科技發布SALDRAGON?飛龍系列全新FPSoC?器件
米爾-安路飛龍DR1M90 -國產FPGA核心板開發板
安路科技DR1FPSoC多路以太網擴展方案
創龍科技DR1M90工業評估板的關鍵優勢
基于安路DR1M90 FPSoC 的Linux 系統全流程開發指南(3)
基于 DR1M90 的 Linux-RT 內核開發:從編譯配置到 GPIO / 按鍵應用實現(1)
DR1M90 評估板 TD-FD 工程與 Linux 多場景應用開發指南
基于安路DR1M90 FPSoC 的Linux 系統全流程開發指南(1)
評論