0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ElfBoard技术贴|如何在ELF - RK3506开发板上构建AI编程环境

ElfBoard 2026-01-23 11:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

RK-3506开发板开箱

ELF-RK3506开发板的核心板与底板通过邮票孔方式连接,其核心板搭载基于ARM架构的低功耗高性能处理器RK3506。该处理器集成3核 Cortex-A7配备独立的NEON协处理器可广泛适用于计算机、手机、个 人移动互联网以及数字多媒体设备。飞凌嵌入式推出这款板子显然是吸引单片机开发者进入Linux开发领域。

wKgZO2lpzP2APciwABWtxv4_Vhw852.png

串口连接

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

wKgZO2ly4R2AJ9tHAAUvwYweAiw336.png

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

wKgZPGly4W-AXAjhAAXVS8Fw3HQ538.png

TRAE环境构建

接下来就要进入AI编程工具TRAE的环境构建了。TRAE是豆包推出的一个AI编程工具,它提供完整的IDE核心能力,支持多种主流编程语言与热门开发框架,集成代码编辑、智能补全、调试运行、版本控制等一体化工具链。适用于独立开发者、学生及自由职业者,用于项目开发、技术学习与实践探索。国内用户可以从下面网站下载最新版本:https://www.trae.cn/

WSL连接

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

wKgZPGly4cCAb2w3AAGWZxVrux0339.png

连接成功之后,就可以打开一个WSL中目录,假定是simple。

wKgZPGly4eKAd89jAAMbhjj4MI4107.png

生成测试程序

我们采用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)。

wKgZO2ly4iCASQC3AAhtodcv1ZQ485.png

在检查代码时,发现自己刚才忘了提供服务器的用户名和密码,导致生成的task.json有点小问题,我告诉TRAE“忘了告诉你服务器的用户名是root,没有密码”。TRAE马上把这个问题改过来了。

wKgZO2ly4piATxA9AAgHaDfejEg860.png

编译程序

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

wKgZPGly4kmAUX7KAAPfpeq5nqY469.png

部署并运行程序

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

wKgZO2ly40CAXBGfAAGlV3SWVXc868.png

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

wKgZO2ly41eAKUuJAAZzEoWUFAs197.png

把错误信息反馈给TRAE,它很快分析出来是对JSON中转义字符处理不当导致错误,并进行了修正。

再次运行修改之后的代码,就可以得到正确的结果了(带有彩色的文字输出)。

wKgZPGly4ouAMXhiAAkP73Pmi0Q890.png

最终生成的代码

贴一下最终的代码供大家参考。

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编程工程的引入使得嵌入式开发变得非常简单而有趣。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20679

    浏览量

    337242
  • 嵌入式开发板

    关注

    5

    文章

    112

    浏览量

    19860
  • Linux开发
    +关注

    关注

    0

    文章

    47

    浏览量

    7763
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    飞凌精灵(ElfBoard技术|如何在ELF-RK3506开发板实现GPIO复用

    2026年全国大学生嵌入式芯片与系统设计竞赛报名已正式启动。本次瑞芯微&飞凌嵌入式赛题共设置了三个参赛平台(ELF2开发板ELF-RV1126B开发板
    的头像 发表于 03-16 14:55 6365次阅读
    飞凌精灵(<b class='flag-5'>ElfBoard</b>)<b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b><b class='flag-5'>ELF-RK3506</b><b class='flag-5'>开发板</b><b class='flag-5'>上</b>实现GPIO复用

    技术|如何在RK3588】ELF 2开发板上部署小龙虾OpenClaw

    ELF-RK3506开发板作为参赛平台。所有的选题都是采用开放和半开放的方式设定,核心宗旨绝非简单的技术验证,而是重点考察同学们对特定行业的洞察力与实际问题解决能力。我们鼓励参赛团队立足真实行业场景,深挖场景痛点,把所
    的头像 发表于 04-02 09:30 1.2w次阅读
    <b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK</b>3588】<b class='flag-5'>ELF</b> 2<b class='flag-5'>开发板</b>上部署小龙虾OpenClaw

    飞凌精灵(ElfBoard技术|如何在RK3506开发板实现UART功能复用

    差异,本文将以ELF-RK3506开发板UART2的引脚复用为例,详细介绍从硬件查询到软件配置的完整实现流程。1.引脚确认在开始配置之前,首先需要了解ELF-R
    的头像 发表于 04-28 11:12 4276次阅读
    飞凌精灵(<b class='flag-5'>ElfBoard</b>)<b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b><b class='flag-5'>RK3506</b><b class='flag-5'>开发板</b><b class='flag-5'>上</b>实现UART功能复用

    米尔瑞芯微多核异构低功耗RK3506核心重磅发布

    近日,米尔电子发布MYC-YR3506核心开发板,基于国产新一代入门级工业处理器瑞芯微RK3506,这款芯片采用三核Cortex-A7+单核Cortex-M0多核异构设计,不仅拥有
    发表于 05-16 17:20

    【米尔RK3506国产开发板评测试用】开箱体体验

    很高兴今天收到了米尔科技的RK3506开发板,下面是开箱体验,后期的测试使用中将会做详细的测试和试用。 1.开箱,包含以下: RK3506开发板1 USB_TYPEC1 10Pin连接
    发表于 07-30 01:06

    资源受限下HMI2秒启动系统,米尔RK3506开发板×LVGL Demo演示

    到界面显示时间过长,在流水线场景完全不合格。 先认识一下今天的主角:MYD-YR3506 米尔基于RK3506核心开发板 米尔RK3506
    发表于 04-24 15:12

    瑞芯微RK3506开发板之Qt应用开发手册() 深圳触觉智能出品,嵌入式方案商

    瑞芯微RK3506开发板必备攻略之Qt应用开发手册() 基于Ubuntu
    的头像 发表于 04-28 17:16 1750次阅读
    瑞芯微<b class='flag-5'>RK3506</b><b class='flag-5'>开发板</b>之Qt应用<b class='flag-5'>开发</b>手册(<b class='flag-5'>上</b>) 深圳触觉智能出品,嵌入式方案商

    米尔基于瑞芯微RK3506核心开发板

    MYC-YR3506核心开发板新一代入门级国产工业处理器RK3506,3核A7+单核M0多核异构RK3506B:3*Cortex-A7@
    发表于 05-15 16:00 15次下载

    瑞芯微RK3506开发板必备攻略之Qt应用开发手册(下),触觉智能工控嵌入式方案商

    本文基于触觉智能RK3506星闪开发板Buildroot系统进行演示,配套RK3506核心(3核A7+M0多核异构)宽温级59元/工业级68元BuildrootSDK安装与
    的头像 发表于 06-19 17:49 1497次阅读
    瑞芯微<b class='flag-5'>RK3506</b><b class='flag-5'>开发板</b>必备攻略之Qt应用<b class='flag-5'>开发</b>手册(下),触觉智能工控嵌入式方案商

    有奖丨米尔 瑞芯微RK3506开发板免费试用来啦!

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3506应用处理器的MYD-YR3506开发板免费试用名额增加啦
    的头像 发表于 07-10 08:03 1228次阅读
    有奖丨米尔 瑞芯微<b class='flag-5'>RK3506</b><b class='flag-5'>开发板</b>免费试用来啦!

    RK3506开发板Linux开发板极致性价比之选

    RK3506开发板Linux开发板极致性价比之选瑞芯微RK3506开发板,3核Cortex-A7@1.5GHz+Cortex-M0,Linu
    的头像 发表于 09-11 16:26 3920次阅读
    <b class='flag-5'>RK3506</b><b class='flag-5'>开发板</b>Linux<b class='flag-5'>开发板</b>极致性价比之选

    RK3506开发板QT Creator开发手册,交叉编译工具链与QT应用示例,入门必备

    本文基于触觉智能RK3506核心/开发板介绍QTCreator交叉编译配置与QT应用示例。如需购买开发板进行评估验证简介QTCreatorQtCreator‌是由TheQtCompa
    的头像 发表于 09-30 16:26 3957次阅读
    <b class='flag-5'>RK3506</b><b class='flag-5'>开发板</b>QT Creator<b class='flag-5'>开发</b>手册,交叉编译工具链与QT应用示例,入门必备

    触觉智能RK3506星闪开发板测评报告(下)

    本文基于触觉智能RK3506开发板,上集主要从性能、功耗进行测评,本集将从开发板的外设设计、EMC等可靠性性能进行测评。
    的头像 发表于 12-11 17:00 1528次阅读
    触觉智能<b class='flag-5'>RK3506</b>星闪<b class='flag-5'>开发板</b>测评报告(下)

    【超值首选!仅88元】ELF-RK3506开发板限时优惠震撼来袭

    ElfBoard特别推出了ELF-RK3506开发板,助力大家快速掌握实际应用场景下的嵌入式Linux开发技能。【性能卓越,技术领先】
    的头像 发表于 01-16 16:41 1362次阅读
    【超值首选!仅88元】<b class='flag-5'>ELF-RK3506</b><b class='flag-5'>开发板</b>限时优惠震撼来袭

    ElfBoard技术|借助AI编程,轻松搞定ELF-RK3506开发板上光照传感器的数据读取

    特别感谢北京理工大学的李海老师提供以下文章,供大家学习与参考。一篇文章介绍了在ELF-RK3506开发板搭建AI
    的头像 发表于 01-29 16:55 1662次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|借助<b class='flag-5'>AI</b><b class='flag-5'>编程</b>,轻松搞定<b class='flag-5'>ELF-RK3506</b><b class='flag-5'>开发板</b>上光照传感器的数据读取