特别感谢北京理工大学的李海老师提供以下文章,供大家学习与参考。
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 -aLinux 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:~# udhcpcudhcpc: started, v1.36.1udhcpc: broadcasting discoverudhcpc: broadcasting select for 192.168.1.122, server 192.168.1.1udhcpc: lease of 192.168.1.122 obtained from 192.168.1.1, lease time 86400deleting routersadding dns 192.168.1.1root@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.bz2test@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/
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-gcc3. 创建vscode中进行SSH连接的任务,服务器IP为192.168.1.122,拷贝编译得到的可执行文件到服务器上,并进行执行。
在上面的提示词,使用的是vscode,而不是TRAE IDE,一是因为TRAE IDE本身就是基于VSCode,二是因为如果用TRAE IDE,则模型不能很好地处理。
TRAE开始勤奋的工作,开始生成C程序代码(test_program.c)和任务代码(task.json)。


现在使用TRAE IDE菜单上的“终端→运行生成任务”,就可以交叉编译生成可执行文件test_program了。

接下来使用TRAE IDE菜单上的“终端→运行任务..”,然后选择“Deploy and Run via SSH”就可以将文件拷贝到开发板上了。

在运行程序时遇到一个问题,就是chmod命令执行失败,导致整个任务失败。

把错误信息反馈给TRAE,它很快分析出来是对JSON中转义字符处理不当导致错误,并进行了修正。
再次运行修改之后的代码,就可以得到正确的结果了(带有彩色的文字输出)。

贴一下最终的代码供大家参考。
test_program.c代码如下:
#include#includeint 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); // 500msprintf(".");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": []}]}
