特别感谢北京理工大学的李海老师提供以下文章,供大家学习与参考。

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=8https://www.elfboard.com/information/detail.html?id=8

0119微信图片_20260119113603_343_234.jpg

将上述交叉编译工具拷贝到开发环境/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/https://www.trae.cn/

WSL连接

TRAE的远程开发功可以支持WSL,使你能够像连接远程服务器一样,直接在本地WSL环境中编写、调试和运行代码。在TRAE的官方文档中对这部分有详细的介绍,直接安装步骤进行即可:

https://docs.trae.cn/ide/wslhttps://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
 <stdio.h>
#include
 <unistd.h>
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编程工程的引入使得嵌入式开发变得非常简单而有趣。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐