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

串口連接
ELF-RK3506供電電源和調(diào)試串口功能共同使用一根USB typeC線。連接PC機的USB接口和板卡的typeC口(絲印DEBUG),就可以通過串口登錄開發(fā)板,用戶名是root,無密碼。登錄后,使用uname命令可以查看操作系統(tǒng)的版本。
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網(wǎng)口連接
ELF-RK3506開發(fā)板沒有WiFi模塊,提供了一個網(wǎng)口和一根網(wǎng)線,可以直接連接到家里的路由器上。默認該網(wǎng)口是固定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編譯環(huán)境
廠商提供了用于編譯的VMWare環(huán)境,不過我沒有用,還是喜歡使用Windows自帶的WSL2。下面介紹一下如何配置WSL編譯環(huán)境。首先從廠商的資料云盤上下載兩個軟件包:https://www.elfboard.com/information/detail.html?id=8

將上述交叉編譯工具拷貝到開發(fā)環(huán)境/home/test/(這里假設(shè)用戶是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解壓后執(zhí)行一下下面的命令測試是否正常:
gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc -v

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

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

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

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

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

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

在運行程序時遇到一個問題,就是chmod命令執(zhí)行失敗,導(dǎo)致整個任務(wù)失敗。

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

最終生成的代碼
貼一下最終的代碼供大家參考。
C語言代碼
test_program.c代碼如下:
#include
#include
int main() {
// 彩色ASCII藝術(shù):笑臉
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);
// 系統(tǒng)信息
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;
}任務(wù)文件
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開發(fā)板基于Linux,為嵌入式系統(tǒng)開發(fā)提供了很好的基礎(chǔ)平臺,而TRAE這樣的AI編程工程的引入使得嵌入式開發(fā)變得非常簡單而有趣。
-
嵌入式
+關(guān)注
關(guān)注
5208文章
20586瀏覽量
336257 -
嵌入式開發(fā)板
+關(guān)注
關(guān)注
5文章
112瀏覽量
19840 -
Linux開發(fā)
+關(guān)注
關(guān)注
0文章
47瀏覽量
7744
發(fā)布評論請先 登錄
飛凌精靈(ElfBoard)技術(shù)貼|如何在ELF-RK3506開發(fā)板上實現(xiàn)GPIO復(fù)用
技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板上部署小龍蝦OpenClaw
米爾瑞芯微多核異構(gòu)低功耗RK3506核心板重磅發(fā)布
【米爾RK3506國產(chǎn)開發(fā)板評測試用】開箱體體驗
瑞芯微RK3506開發(fā)板之Qt應(yīng)用開發(fā)手冊(上) 深圳觸覺智能出品,嵌入式方案商
米爾基于瑞芯微RK3506核心板開發(fā)板
有獎丨米爾 瑞芯微RK3506開發(fā)板免費試用
瑞芯微RK3506開發(fā)板必備攻略之Qt應(yīng)用開發(fā)手冊(下),觸覺智能工控嵌入式方案商
RK3506開發(fā)板Linux開發(fā)板極致性價比之選
RK3506開發(fā)板QT Creator開發(fā)手冊,交叉編譯工具鏈與QT應(yīng)用示例,入門必備
觸覺智能RK3506星閃開發(fā)板測評報告(下)
【超值首選!僅88元】ELF-RK3506開發(fā)板限時優(yōu)惠震撼來襲
ElfBoard技術(shù)貼|借助AI編程,輕松搞定ELF-RK3506開發(fā)板上光照傳感器的數(shù)據(jù)讀取
ElfBoard技術(shù)貼|如何在ELF - RK3506開發(fā)板上構(gòu)建AI編程環(huán)境
評論