- 2025-08-09
-
发表了主题帖:
【嵌入式工程师AI挑战营第三期】准备篇
准备篇
一、前言
一直想学习Linux和AI的嵌入式开发,这次是赶上EEWORLD正好有一个AI的挑战营,有幸能参与一次。这次参与的硬件是Luckfox幸狐科技推出并提供的基于瑞芯微RK1106G3系列芯片的Luckfox Pico Max 开发板,这几年幸狐基于RV系列推出了非常多的开发板,比如86盒系列,Pico系列,Pi系列等等。本次提供的这块又是Pico系列的MAX大号版本的,超大碗,非常给力。板子芯片内带256MB内存,板载了256MB的NAND Flash,满足大部分的应用了。官方的参考资料如下连接:https://wiki.luckfox.com/zh/Luckfox-Pico-RV1106
瑞芯微 RV1106 G3 是一款专门用于人工智能相关应用的高度集成 IPC 视觉处理器 SoC。它基于3核 ARM Cortex-A7 + M0 32 位内核,集成了 NEON 和 FPU,并内置 NPU 支持 INT4 / INT8 / INT16 混合运算,计算能力高达 1TOPs。
此外,它采用了全新的基于硬件的 ISP,支持多种算法加速器,如 HDR、3A、LSC、3DNR、2DNR、锐化、去雾、伽马校正等。同时,它还具有内置的16位DRAM DDR3L,可维持要求苛刻的内存带宽,以及内置的 POR,RTC,音频编解码器和 MAC PHY。
开发板支持多个接口,包括 GPIO、UART、SPI、I2C、USB 等,方便开发者进行快速开发和调试。值得注意的是,Luckfox Pico 全系列开发板支持 buildroot 和 Ubuntu22.04系统,让开发者根据项目需求选择合适的系统,更灵活满足特定应用要求。
二、硬件实体
板子实物如下
另外,本次需要进行DeepSort算法的部署开发,因此需要配备一只摄像头,如下,是一款基于SC3336的 300 万像素摄像头模块,SC3336 感光芯片,高灵敏度、高信噪比、低照度,适用于 Luckfox Pico 系列主板。
主要特点盒参数如下
开机登陆
开发板支持多种登录方式,包括 ADB、SSH 和调试串口,三者任选其一即可。为了简单起见,使用Type-C线连接开发板和电脑,并采用ADB方式登陆,这时候并不需要额外的连接了。ADB需要安装并配置系统环境,因为之前使用过,这里不再赘述了。
1.使用ADB方式登陆
首先就是打开CMD命令工具
并输入ADB,可以查看安装的ADB信息
输入ADB devices可以查看ADB的设备列表,再使用adb shell即可进入登陆命令了
cd回到根目录,并使用ls -l命令列出根目录所有文件和文件夹
还可以使用SSH方式登陆,这里使用USB 连接之后,可以配置静态 IP:在配置 RNDIS 后,使用开发板分配的静态 IP 地址访问 SSH 服务。
首先还是查看板子自身的IP地址,使用上面的ADB命令通过ifconfig命令查看如下
然后在电脑系统的网卡中,找到NDIS如下网卡,打开对应的适配器配置
配置如下IP地址,此处要跟板子自身的地址错开,避免重复
然后可以使用mobaxterm等工具登陆板子的ssh
输入密码登陆成功
同样使用ls -l命令获得根目录的文件和文件夹列表如下。
接下来的开发就十分方便了。
3.摄像头的体验,系统的CSI摄像头需要通过config哦配置打开CSI接口,使用如图下命令luckfox-config
然后按照如下顺序配置操作
最后reboot命令重启板子
接着可以使用前面RNDIS的IP地址通过VLC进行拉流了,打开VLC media player,并在下方菜单位置打开,输入 IP 地址:rtsp://172.32.0.93/live/0
拍摄时,如果发现对焦不清晰,可以通过调整焦圈进行手动调焦
- 2025-07-22
-
回复了主题帖:
嵌入式工程师AI挑战营第三期:基于Pytorch的DeepSort算法实现
大神
- 2025-07-21
-
回复了主题帖:
【Follow me第三季第2期】求助:搭建环境,构建SDK遇到问题
没用他们官方的IDE呢?那个上面安装应该没问题的啊
-
回复了主题帖:
【Follow me第三季第2期】NPU任务运行测试
xingkong911 发表于 2025-7-20 14:45
多谢带路。
按照你的方法,也能跑NPU例程,但还得看看NPU到底要怎么用。
嗯啊,先跑起来,细节再回过去细细学习
- 2025-07-17
-
发表了主题帖:
【Follow me第三季第2期】NPU任务运行测试
【Follow me第三季第2期】NPU任务运行测试
这个任务是一个需要运行测试NPU的内容,主要还是用于AI或者机器学习ML中,目前官方有一些基于AI/ML的,可以从IDE的下方入口打开导入工程
进入后选择MCX系列
选择AI/ML类型
此时可以筛选出来如下若干个demo code
翻阅各例程,大部分都需要额外的板子和硬件支持,比如风扇,电机,摄像头等,下面这个可以单块FRDM-MCXN947以及一个LCD即可完整运行,不需要额外的硬件支持,LCD手上没有,但可以尝试看串口是否有一些打印信息内容也可。结合自己对GPU,算法等开发的熟悉程度还比较低的现状,因此可以导入该代码工程尝试。
点开之后为示例代码的介绍说明,点击左上方的Github link,再点击右下方的下一步
选择分支
在选择正确的路径
导入后编译如下
工程编译明显需要时间增长,编译结果如下
下载运行,并打开Terminal中断查看打印信息如下
例程的学习理解:例程是基于 MLPerf™ Tiny 深度学习嵌入式设备的性能测试,展示了 NPU 与 TensorFLM 之间的性能差异。实时结果在 TFT LCD 上显示(实际我这里没有,用串口打印了),片上 NPU 加速 AI/ML 算法并提高性能。结果来自内部Flash中已经训练好的模型推理,
通过前面这个串口中断中打印的log,Cortex-M33和NPU推理的时间对比如下。
用例
描述
Cortex-M33 推理时间
(mS)
NPU 推理时间
(mS)
Cortex-M33/NPU 比值
异常检测
检测机器运行声音中的异常
5.304
0.817
6.49
关键词识别
小词汇量关键词识别
57.526
3.650
15.76
图像分类
小图像分类
239.057
6.401
37.35
视觉唤醒词
二值图像分类
184.926
6.517
28.38
例程的主函数对一些外设和模块进行初始化之后,进行了benchmark的性能测试
顺序如下,显示M33内核运行4个,再使用NPU运行四个,之后通过串口打印结果
可以看出来,NPU能将计算速度极大的提升。MCU+NPU这种组合方式还是非常有应用价值的
- 2025-07-16
-
回复了主题帖:
【Follow me第三季第2期】NPU测试+关键词识别
厉害的大神
- 2025-07-15
-
回复了主题帖:
入围名单公布:嵌入式工程师AI挑战营第三期(一起来玩AI自动跟踪算法DeepSORT)
个人信息已确认,领取板卡,开启嵌入式AI挑战营第三期任务。
-
发表了主题帖:
【Follow me第三季第2期】shell命令调试
【Follow me第三季第2期】shell命令调试
在官方的Example DEMO代码里面已经有一个shell调试的例子,示例功能是可以通过shell命令来控制LED的开关,可以将这个demo导入ide中
可以看到主函数中对LED和shell进行了初始化,通过serial串口实现shell交互。
LED的控制主要在函数LedControl中
而相关的shell命令如下方
编译下载后可以看到如下打印信息
输入help,即可得到对应的led控制的命令帮助信息
然后就可以使用对应的命令控制led1、led2和led3 的开关
接下来准备温度的部分,开发板有一颗板载的温度传感器并提供了对应的demo代码。
可以将p3t1755的驱动部分移植到shell的工程代码中。
从i3c对p3t1755的操作例程中可以看到,主要是下面的两个部分的代码用到了,分别是fsl_p3t1755和fsl_i3c,如下所示,可以直接在IDE中跨工程进行复制和粘贴。
需要将上面的路径添加到工程配置中
最后也将 i3c_master_read_sensor_p3t1755.c 文件拷贝到shell的source文件夹下,作为p3t1755驱动文件。
将文件中的main函数注释
并增加初始化函数定义
在BOARD_InitHardware函数中增加i3c对应的模块,时钟和引脚初始化
注意上面的BOARD_InitI3CPins函数需要在pin_mux文件中进行定义,也就是初始化i3c用到的相应的引脚
并在头文件中进行声明
部分常量宏定义需要在头文件中添加定义i3c_master_read_sensor_p3t1755.h
在i3c_master_read_sensor_p3t1755.c文件中定义如下接口函数,方便简化温度读取操作,对外省去handle参数
在头文件中添加定义
在主函数文件中定义如下 shell_read_temprature函数供shell命令使用,其中的温度值保留两位小数。
参考LED控制的shell命令定义方式,定义温度获取的shell命令get_temperature,命令无参数
并在主函数中注册命令
编译下载运行
打开Terminal终端输入help,可以看到增加了get_temperature命令了
输入get_temperature发现响应信息内容中并没有温度数据
这是因为工程配置默认关闭了浮点的打印功能需要在如下的配置中增加两调宏定义打开功能的支持
重新编译下载运行,此时输入get_temperature就可以获取到温度在更新的温度数据了
- 2025-07-10
-
回复了主题帖:
有奖直播|恩智浦微处理器产品与应用分享 颁奖啦~
钱老板 发表于 2025-7-9 17:22
qia****gigalight.com 这个邮件已经收到了,但是扫描后,显示 对不起,没有找到匹配结果。
我的也是啊……
- 2025-07-09
-
发表了主题帖:
【Follow me第三季第2期】串口打印信息 hello_world
开发板通过仿真器的LPC芯片转接实现了USB转串口的功能,硬件链接上使用了如下的两个IO口。
这次我们打开examples中的下面这个hello world例程。
打开之后,可以从main函数中看到如下简单的初始化和应用,也就是上电打印“hello world”,然后在主循环中,做了个回发,即将收到的数据原路通过串口发回去。其中的BOARD_InitHardware完成了时钟,GPIO,UART以及console打印等的初始化
编译下载之后,运行,可以看到如下交互
把代码中的hello world改成如下的Follow me Season 3 Episode 2 Mission.
编译下载运行就可以看到上电打印的内容了
- 2025-07-08
-
发表了主题帖:
【Follow me第三季第2期】准备篇
一、开箱
NXP大厂做的板子非常棒,拿到手后还是迫不及待第一时间打开,如下就是
板载资源也是非常丰富的
板子出厂时是已经烧写了blinking的闪灯程序,按照如下链接开发板到电脑即可看到效果了
二、开发环境准备
首先是下载NXP官方的IDE,这是一个基于Eclipse平台的继承开发环境,下载链接如下
https://www.nxp.com.cn/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE
下载并安装(过程不详述了)
安装后启动程序,选择下载安装SDK
此处可以根据开发板型号选择SDK
三、编译、下载、运行第一个代码
安装好后导入sdk中的例程
选择LED Blinky例程
IDE开发界面布局如下
点击构建项目
编译成功输出信息
点击调试
因为是双核,所以选择其中的一个
成功之后界面进入了调试
点击图标或使用快捷键F8全速运行
- 2025-07-07
-
回复了主题帖:
(入围名单公布)嵌入式工程师AI挑战营(第三期):一起来玩AI自动跟踪算法DeepSORT
- 申请理由&个人相关技能简介:
-从事物联网产品开发多年,有比较多的产品化开发经验,正积极学习基于AI的产品开发
- 学习基于RV1106的嵌入式开发,DeepSORT AI模型的部署探索,对特定的人进行自动跟踪,整理学习分享的学习过程。
- 预计分享的内容:RV1106的嵌入式开发的环境搭建,学习DeepSORT心得、部署过程、遇到的问题、解决问题经验、成果展示视频;计划录制讲解视频,分享挑战应开发的学习经验,并积极参与学习和讨论
-
回复了主题帖:
【Follow me第三季第2期】点彩灯与输出消息
都是大神
-
回复了主题帖:
【Follow me第三季第2期任务】入门任务:环境搭建并输出hello world
赞啊,大佬神速!!
- 2025-03-18
-
回复了主题帖:
入围名单:开发板申请! 拥有 AI 加持的 STM32N6570-DK 免费试用!
恭喜各位佬们!
- 2024-12-26
-
回复了主题帖:
2025年测评中心,DigiKey得捷赞助继续,欢迎跟帖推你期待的上线的测品啦~
nmg 发表于 2024-12-24 17:44
STM32N6可以关注,后续社区会上活动
NXP的已经上啦,网友测评中,你去测评中心瞅瞅
好的,期待
- 2024-12-24
-
回复了主题帖:
2025年测评中心,DigiKey得捷赞助继续,欢迎跟帖推你期待的上线的测品啦~
挺想尝试MCU+NPU组合的单片机AI的应用,这类是否在功耗、启动时间、响应时间、成本灯是否真的能有优势,比如ST刚出的STM32N6,还有NXP的一些型号