一起游 手游攻略 手游评测 ElfBoard技术贴|如何在ELF - RK3506开发板上构建AI编程环境

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

时间: 来源:互联网 浏览:0

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

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 -aLinux elf3506-buildroot 6.1.99+ #1 SMP 抢占周五11 月7 日10:16:11 HKT 2025 armv7l GNU/Linux

网口连接ELF-RK3506开发板没有WiFi模块。提供网口和网线,可以直接连接家里的路由器。默认情况下,该网口具有固定IP,需要更改为DHCP以获取路由器分配的IP地址。

root@elf3506-buildroot:~#udhcpcudhcpc:启动,v1.36.1udhcpc:广播发现udhcpc:广播选择为192.168.1.122,服务器192.168.1.1udhcpc:租用从192.168.1.1获取192.168.1.122,租约时间86400删除路由器添加dns 192.168.1.1root@elf3506-buildroot:~#

配置WSL编译环境厂家提供了VMWare环境进行编译,但我没有用。我还是更喜欢使用Windows自带的WSL2。下面介绍如何配置WSL编译环境。首先从厂家信息云盘下载两个软件包:https://www.elfboard.com/information/detail.html?id=8

wKgZO2ly4R2AJ9tHAAUvwYweAiw336.png

将上面的交叉编译工具复制到开发环境/home/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

wKgZPGly4W-AXAjhAAXVS8Fw3HQ538.png

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

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

wKgZPGly4cCAb2w3AAGWZxVrux0339.png

连接成功后,就可以在WSL中打开一个目录了,假设很简单。

wKgZPGly4eKAd89jAAMbhjj4MI4107.png

生成测试程序我们使用TRAE的默认配置。该模型是自动的并且在构建器模式下工作。输入以下提示词:

完成以下任务: 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)。

wKgZO2ly4iCASQC3AAhtodcv1ZQ485.png

检查代码的时候发现我刚刚忘记提供服务器的用户名和密码,导致生成的task.json出现了一个小问题。我告诉TRAE“我忘了告诉你,服务器的用户名是root,没有密码。” TRAE 立即纠正了该问题。

wKgZO2ly4piATxA9AAgHaDfejEg860.png

编译程序现在使用TRAE IDE菜单上的“Terminal Run Generation Task”交叉编译并生成可执行文件test_program。

wKgZPGly4kmAUX7KAAPfpeq5nqY469.png

部署并运行程序接下来,使用TRAE IDE菜单上的“Terminal Run Task.”,然后选择“Deploy and Run via SSH”将文件复制到开发板。

wKgZO2ly40CAXBGfAAGlV3SWVXc868.png

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

wKgZO2ly41eAKUuJAAZzEoWUFAs197.png

将错误信息反馈给TRAE,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', 颜色[0], 重置); printf('%s * * %s\n', 颜色[1], 重置); printf('%s * 来自控制台的问候! * %s\n', 颜色[2], 重置); printf('%s * * //简单动画效果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('- Compiler: GCC\n\n'); printf('%s测试成功完成!%s\n\n', colors[5], reset); 0;}

任务文件vscode/task.json 文件如下:

{ 'version': '2.0.0', 'tasks': [ { 'label': '构建(ARM 交叉编译)', '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': '共享', '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': '通过SSH 部署和运行', 'type': 'shell', 'dependsOn': ['构建(ARM 交叉编译)'], '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': '始终', 'focus': true, 'panel': '共享', 'showReuseMessage': true,'clear': false },'problemMatcher': [] } ]}

ELF-RK3506开发板基于Linux,为嵌入式系统开发提供了良好的基础平台。 TRAE等AI编程项目的引入,让嵌入式开发变得非常简单、有趣。

标题:ElfBoard技术贴|如何在ELF - RK3506开发板上构建AI编程环境
链接:https://yqqlyw.com/news/sypc/72064.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
  • 传统嵌入式与工业系统的USB控制方
  • 如何在Zynq UltraScale+ MPSoC平台
  • 绯红之境兑换码最新2021 礼包兑换码大全

    绯红之境兑换码最新2021 礼包兑换码大全[多图],绯红之境兑换码怎么领取?绯红之境兑换码有哪些?绯红之境在今日

    2026-01-26
    三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法

    三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法[多图],三国群英传7霸王再临怎么玩?三国群英传7霸王再临

    2026-01-26
    妄想山海怎么加好友 加好友方法大全

    妄想山海怎么加好友 加好友方法大全[多图],妄想山海添加好友功能在哪里?妄想山海添加好友的方法是什么?好友添

    2026-01-26
    江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略

    江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略[多图],江南百景图又见桃花村钓鱼怎么钓?又见桃花村钓

    2026-01-26