特別感謝北京理工大學的李海老師提供以下文章,供大家學習與參考。
RK-3506開發板開箱
ELF-RK3506開發板的核心板與底板通過郵票孔方式連接,其核心板搭載基于ARM架構的低功耗高性能處理器RK3506。該處理器集成3核 Cortex-A7配備獨立的NEON協處理器可廣泛適用于計算機、手機、個 人移動互聯網以及數字多媒體設備。飛凌嵌入式推出這款板子顯然是吸引單片機開發者進入Linux開發領域。

串口連接
ELF-RK3506供電電源和調試串口功能共同使用一根USB typeC線。連接PC機的USB接口和板卡的typeC口(絲印DEBUG),就可以通過串口登錄開發板,用戶名是root,無密碼。登錄后,使用uname命令可以查看操作系統的版本。
root@elf3506-buildroot:~# uname -a
Linux elf3506-buildroot 6.1.99+ #1 SMP PREEMPT Fri Nov 7 10:16:11 HKT 2025 armv7l GNU/Linux網口連接
ELF-RK3506開發板沒有WiFi模塊,提供了一個網口和一根網線,可以直接連接到家里的路由器上。默認該網口是固定IP,需要改成DHCP以獲得路由器分配的IP地址。
root@elf3506-buildroot:~# udhcpc
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.1.122, server 192.168.1.1
udhcpc: lease of 192.168.1.122 obtained from 192.168.1.1, lease time 86400
deleting routers
adding dns 192.168.1.1
root@elf3506-buildroot:~#配置WSL編譯環境
廠商提供了用于編譯的VMWare環境,不過我沒有用,還是喜歡使用Windows自帶的WSL2。下面介紹一下如何配置WSL編譯環境。首先從廠商的資料云盤上下載兩個軟件包:https://www.elfboard.com/information/detail.html?id=8

將上述交叉編譯工具拷貝到開發環境/home/test/(這里假設用戶是test)目錄下,并在該目錄下解壓。
test@Star:~$ tar -vxf gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.bz2
test@Star:~$ tar -vxf 3506-toolchain.tar.bz2解壓后執行一下下面的命令測試是否正常:
gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc -v

TRAE環境構建
接下來就要進入AI編程工具TRAE的環境構建了。TRAE是豆包推出的一個AI編程工具,它提供完整的IDE核心能力,支持多種主流編程語言與熱門開發框架,集成代碼編輯、智能補全、調試運行、版本控制等一體化工具鏈。適用于獨立開發者、學生及自由職業者,用于項目開發、技術學習與實踐探索。國內用戶可以從下面網站下載最新版本:https://www.trae.cn/
WSL連接
TRAE的遠程開發功可以支持WSL,使你能夠像連接遠程服務器一樣,直接在本地WSL環境中編寫、調試和運行代碼。在TRAE的官方文檔中對這部分有詳細的介紹,直接安裝步驟進行即可:https://docs.trae.cn/ide/wsl

連接成功之后,就可以打開一個WSL中目錄,假定是simple。

生成測試程序
我們采用TRAE的默認配置,模型是Auto,采用Builder方式工作,輸入如下提示詞:
完成如下任務:
1. 創建一個基于Linux控制臺的測試程序,驗證編譯工具鏈,簡短有趣
2. 創建vscode中進行編譯的任務文件,交叉編譯命令為~/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc
3. 創建vscode中進行SSH連接的任務,服務器IP為192.168.1.122,拷貝編譯得到的可執行文件到服務器上,并進行執行。
在上面的提示詞,使用的是vscode,而不是TRAE IDE,一是因為TRAE IDE本身就是基于VSCode,二是因為如果用TRAE IDE,則模型不能很好地處理。
TRAE開始勤奮的工作,開始生成C程序代碼(test_program.c)和任務代碼(task.json)。

在檢查代碼時,發現自己剛才忘了提供服務器的用戶名和密碼,導致生成的task.json有點小問題,我告訴TRAE“忘了告訴你服務器的用戶名是root,沒有密碼”。TRAE馬上把這個問題改過來了。

編譯程序
現在使用TRAE IDE菜單上的“終端→運行生成任務”,就可以交叉編譯生成可執行文件test_program了。

部署并運行程序
接下來使用TRAE IDE菜單上的“終端→運行任務..”,然后選擇“Deploy and Run via SSH”就可以將文件拷貝到開發板上了。

在運行程序時遇到一個問題,就是chmod命令執行失敗,導致整個任務失敗。

把錯誤信息反饋給TRAE,它很快分析出來是對JSON中轉義字符處理不當導致錯誤,并進行了修正。
再次運行修改之后的代碼,就可以得到正確的結果了(帶有彩色的文字輸出)。

最終生成的代碼
貼一下最終的代碼供大家參考。
C語言代碼
test_program.c代碼如下:
#include
#include
int main() {
// 彩色ASCII藝術:笑臉
const char *colors[] = {
"\033[31m", // 紅色
"\033[33m", // 黃色
"\033[32m", // 綠色
"\033[34m", // 藍色
"\033[35m", // 紫色
"\033[36m" // 青色
};
const char *reset = "\033[0m";
printf("\n");
printf("%s ************************** %s\n", colors[0], reset);
printf("%s * * %s\n", colors[1], reset);
printf("%s * Hello from Console! * %s\n", colors[2], reset);
printf("%s * * %s\n", colors[3], reset);
printf("%s * \033[1m ASCII Art! \033[0m * %s\n", colors[4], reset);
printf("%s * * %s\n", colors[5], reset);
printf("%s ************************** %s\n", colors[0], reset);
printf("\n");
// 簡單的動畫效果
printf("%sLoading", colors[2]);
fflush(stdout);
for (int i = 0; i < 3; i++) {
usleep(500000); // 500ms
printf(".");
fflush(stdout);
}
printf("%s Done! %s\n\n", colors[3], reset);
// 系統信息
printf("%sSystem Info: %s\n", colors[1], reset);
printf("- Architecture: ARM\n");
printf("- OS: Linux\n");
printf("- Compiler: GCC\n\n");
printf("%sTest completed successfully! %s\n\n", colors[5], reset);
return 0;
}任務文件
vscode/task.json文件如下:
{
"version": "2.0.0",
"tasks": [
{
"label": "Build (ARM Cross-Compile)",
"type": "shell",
"command": "~/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc",
"args": [
"-o",
"test_program",
"test_program.c"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": false
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "Clean",
"type": "shell",
"command": "rm",
"args": [
"-f",
"test_program"
],
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": false
},
"problemMatcher": []
},
{
"label": "Deploy and Run via SSH",
"type": "shell",
"dependsOn": ["Build (ARM Cross-Compile)"],
"command": "bash",
"args": [
"-c",
"scp test_program root@192.168.1.122:/tmp/ && ssh root@192.168.1.122 "chmod +x /tmp/test_program && /tmp/test_program""
],
"presentation": {
"echo": true,
"reveal": "always",
"focus": true,
"panel": "shared",
"showReuseMessage": true,
"clear": false
},
"problemMatcher": []
}
]
}ELF-RK3506開發板基于Linux,為嵌入式系統開發提供了很好的基礎平臺,而TRAE這樣的AI編程工程的引入使得嵌入式開發變得非常簡單而有趣。
-
嵌入式
+關注
關注
5198文章
20442瀏覽量
333963 -
嵌入式開發板
+關注
關注
5文章
111瀏覽量
19796 -
Linux開發
+關注
關注
0文章
46瀏覽量
7688
發布評論請先 登錄
米爾瑞芯微多核異構低功耗RK3506核心板重磅發布
【米爾RK3506國產開發板評測試用】開箱體體驗
瑞芯微RK3506開發板必備之LVGL應用開發手冊,深圳觸覺智能出品
米爾基于瑞芯微RK3506核心板開發板
有獎丨米爾 瑞芯微RK3506開發板免費試用
瑞芯微RK3506開發板必備攻略之Qt應用開發手冊(下),觸覺智能工控嵌入式方案商
RK3506開發板QT Creator開發手冊,交叉編譯工具鏈與QT應用示例,入門必備
ElfBoard技術貼|如何在【RK3588】ELF 2開發板實現GPIO功能復用
【超值首選!僅88元】ELF-RK3506開發板限時優惠震撼來襲
ElfBoard技術貼|借助AI編程,輕松搞定ELF-RK3506開發板上光照傳感器的數據讀取
ElfBoard技術貼|如何在ELF - RK3506開發板上構建AI編程環境
評論