tag 标签: 开发板

相关博文
  • 2025-7-3 18:12
    0 个评论
    本文将介绍基于米尔电子MYD-YM62X开发板(米尔基于TI AM62开发板)的部署流媒体服务实现监控功能方案的开发测试。 摘自优秀创作者-HonestQiao 米尔基于TI AM62开发板 米尔-TI AM62x开发板除了可以用官方的CSI摄像头,还可以直接使用第三方的USB摄像头,我手头正好有几个个USB摄像头: 经过实测,可以很好的在米尔-TI AM62x开发板上使用。 这篇分享,就是在这块开发板上部署流媒体服务,通过USB摄像头实现监控功能。 一、软件准备 要在Linux上面部署流媒体服务,mjpg-streamer是最合适的。 首先,在应用开发环境中,进行 mjpg-streamer 跨平台编译,具体步骤如下: git clone cd mjpg-streamer/mjpg-streamer-experimental find -name "Makefile" - exec sed -i "s/CC = gcc/#CC = gcc/g" {} ; grep -rn 'CC = gcc' * make clean make file mjpg_streamer # mjpg_streamer: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID =48d2a902d1672913291a75a055d224d340d77649, for GNU/Linux 3.14.0, with debug_info, not stripped 上面代码步骤中,使用find+sed,来替换Makefile中的CC配置。 因为应用开发环境提供了CC变量,可以直接使用。 将最终编译出来的mjpg_streamer,部署到开发板上备用,具体如下: ssh root @192 . 168.10 . 11 "mkdir ~/mjpeg_server/" scp mjpg_streamer root @192 . 168.10 . 11 :~/mjpeg_server/ scp *.so root @192 . 168.10 . 11 :~/mjpeg_server/ 最终,开发板上部署的文件如下: 二、摄像头信息获取 米尔官方的系统,提供了v4l2工具,可以直接使用。 1. 查看当前的摄像头设备: v4l2-ctl --list-devices 可以看到,找到了USB接口的摄像头,对应的设备地址为 /dev/video0 2. 查看摄像头的支持的格式类型 v4l2-ctl --list-formats -d /dev/video0 3. 查看摄像头的具体参数: v4l2-ctl -D -d /dev/video0 三、流媒体服务启用 前面安装好了mjpeg_server,现在可以启用测试了: cd ~/mjpg_streamer ./mjpg_streamer -i "input_uvc.so -d /dev/video0 -n -r 640x480 -f 10" -o "output_http.so -p 8081 -w ./ -c test:test123" 上述命令中,使用/dev/video0做为输入,分辨率为640x480,输出端口为8081。 为了安全起见,设置了一个简单的账户密码test/test123。实际使用中,应该使用复杂的用户名和密码。 成功后,显示如下表示成功: 启动成功后,就可以通过网址 http://192.168.10.11:8081/?action=stream 进行访问了。其中192.168.10.11为开发板的地址。 整体环境如下: 四、总结 从实测视频可以看到,视频流的延迟非常非常低低,而且也非常的流畅,没有丝毫的卡顿。 另外,也看了一下当时的CPU负载: 资源占用非常低。 不过,有一点小小遗憾的是,该开发板暂时还不支持双USB摄像头,不然可以上多个一起玩了。 总的来说,虽然米尔-TI AM6231属于米尔-TI AM62x中三个型号的最低配版本,但是做一下工业基础应用,完全足够了。
  • 2025-6-27 11:19
    0 个评论
    本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于瑞芯微RK3576开发板)的创建机器学习环境的开发测试。 摘自优秀创作者-lulugl 米尔基于瑞芯微RK3576开发板 【前言】 【米尔-瑞芯微RK3576核心板及开发板】具有6TpsNPU以及GPU,因此是学习机器学习的好环境,为此结合《深度学习的数学——使用Python语言》 1、使用vscode 连接远程开发板 2、使用conda新建虚拟环境: root @myd -lr3576x-debian: /home/m yir/pro_learn # conda create --name myenv python=3.9 执行结果如下: root@myd-lr3576x-debian:/home/myir/pro_learn# conda create --name myenv python= 3 . 9 Channels: - defaults Platform: linux-aarch64 Collecting package metadata (repodata.json): done Solving environment: done ## Package Plan ## environment location: /root/miniconda3/envs/myenv added / updated specs: - python= 3 . 9 The following packages will be downloaded: package | build ---------------------------|----------------- _libgcc_mutex- 0 . 1 | main 2 KB defaults _openmp_mutex- 5 . 1 | 51 _gnu 1 . 4 MB defaults ca-certificates- 2024.11.26 | hd43f75c_0 131 KB defaults ld_impl_linux-aarch64- 2 . 40 | h48e3ba3_0 848 KB defaults libffi- 3 . 4 . 4 | h419075a_1 140 KB defaults libgcc-ng- 11 . 2 . 0 | h 1234567_1 1 . 3 MB defaults libgomp- 11 . 2 . 0 | h 1234567_1 466 KB defaults libstdcxx-ng- 11 . 2 . 0 | h 1234567_1 779 KB defaults ncurses- 6 . 4 | h419075a_0 1 . 1 MB defaults openssl- 3 . 0 . 15 | h 998d150_0 5 . 2 MB defaults pip- 24 . 2 | py39hd43f75c_0 2 . 2 MB defaults python- 3 . 9 . 20 | h4bb2201_1 24 . 7 MB defaults readline- 8 . 2 | h 998d150_0 381 KB defaults setuptools- 75 . 1 . 0 | py39hd43f75c_0 1 . 6 MB defaults sqlite- 3 . 45 . 3 | h 998d150_0 1 . 5 MB defaults tk- 8 . 6 . 14 | h987d8db_0 3 . 5 MB defaults tzdata- 2024 b | h 04d1e81_0 115 KB defaults wheel- 0 . 44 . 0 | py39hd43f75c_0 111 KB defaults xz- 5 . 4 . 6 | h 998d150_1 662 KB defaults zlib- 1 . 2 . 13 | h 998d150_1 113 KB defaults ------------------------------------------------------------ Total: 46 . 2 MB The following NEW packages will be INSTALLED: _libgcc_mutex anaconda/pkgs/main/linux-aarch 64:: _libgcc_mutex- 0 . 1 -main _openmp_mutex anaconda/pkgs/main/linux-aarch 64:: _openmp_mutex- 5 . 1 - 51 _gnu ca-certificates anaconda/pkgs/main/linux-aarch 64::ca -certificates- 2024.11.26 -hd43f75c_0 ld_impl_linux-aar~ anaconda/pkgs/main/linux-aarch 64:: ld_impl_linux-aarch64- 2 . 40 -h48e3ba3_0 libffi anaconda/pkgs/main/linux-aarch 64:: libffi- 3 . 4 . 4 -h419075a_1 libgcc-ng anaconda/pkgs/main/linux-aarch 64:: libgcc-ng- 11 . 2 . 0 -h 1234567_1 libgomp anaconda/pkgs/main/linux-aarch 64:: libgomp- 11 . 2 . 0 -h 1234567_1 libstdcxx-ng anaconda/pkgs/main/linux-aarch 64:: libstdcxx-ng- 11 . 2 . 0 -h 1234567_1 ncurses anaconda/pkgs/main/linux-aarch 64:: ncurses- 6 . 4 -h419075a_0 openssl anaconda/pkgs/main/linux-aarch 64:: openssl- 3 . 0 . 15 -h 998d150_0 pip anaconda/pkgs/main/linux-aarch 64:: pip- 24 . 2 -py39hd43f75c_0 python anaconda/pkgs/main/linux-aarch 64:: python- 3 . 9 . 20 -h4bb2201_1 readline anaconda/pkgs/main/linux-aarch 64:: readline- 8 . 2 -h 998d150_0 setuptools anaconda/pkgs/main/linux-aarch 64:: setuptools- 75 . 1 . 0 -py39hd43f75c_0 sqlite anaconda/pkgs/main/linux-aarch 64:: sqlite- 3 . 45 . 3 -h 998d150_0 tk anaconda/pkgs/main/linux-aarch 64:: tk- 8 . 6 . 14 -h987d8db_0 tzdata anaconda/pkgs/main/noarch :: tzdata- 2024 b-h 04d1e81_0 wheel anaconda/pkgs/main/linux-aarch 64:: wheel- 0 . 44 . 0 -py39hd43f75c_0 xz anaconda/pkgs/main/linux-aarch 64:: xz- 5 . 4 . 6 -h 998d150_1 zlib anaconda/pkgs/main/linux-aarch 64:: zlib- 1 . 2 . 13 -h 998d150_1 Proceed ( /n)? y Downloading and Extracting Packages: Preparing transaction: done Verifying transaction: done Executing transaction: done # # To activate this environment, use # # $ conda activate myenv # # To deactivate an active environment, use # # $ conda deactivate root@myd-lr3576x-debian:/home/myir/pro_learn# 然后再激活环境: root @myd -lr3576x-debian: /home/m yir/pro_learn # conda activate myenv (myenv) root @myd -lr3576x-debian: /home/m yir/pro_learn # 2、查看python版本号: (myenv) root @myd -lr3576x-debian: /home/m yir/pro_learn # python --version Python 3.9 .20 3、使用conda install numpy等来安装组件,安装好后用pip list查看 编写测试代码: import numpy as np from sklearn.datasets import load_digits from sklearn.neural_network import MLPClassifier d = load_digits() digits = d labels = d N = 200 idx = np.argsort(np.random.random( len (labels))) xtest, ytest = digits ], labels ] xtrain, ytrain = digits ], labels ] clf = MLPClassifier(hidden_layer_sizes=( 128 , )) clf.fit(xtrain, ytrain) score = clf.score(xtest, ytest) pred = clf.predict(xtest) err = np.where(pred != ytest) print ( "score:" , score) print ( "err:" , err) print ( "actual:" , ytest ) print ( "predicted:" , pred ) 在代码中,使用MLPClassifier对象进行建模,训练测试,训练数据集非常快,训练4次后可以达到0.99: 【总结】 米尔的这款开发板,搭载3576这颗强大的芯片,搭建了深度学习的环境,进行了基础的数据集训练,效果非常好!在书中记录训练要几分钟,但是这在这款开发板上测试,只要几秒钟就训练完毕,书中说总体准确率为0.97,但是我在这款开发板上有0.99的良好效果!
  • 2025-6-20 09:44
    0 个评论
    我们的PY32F030单片机开发板是一款基于普冉半导体的ARM Cortex-M0+内核单片机PY32F030系列设计的开发评估板,有LQFP32和TSSOP20两种开发板可以选择。这款开发板有着高性价比、丰富的资源和易于上手的特点,可用于替代ST、GD、华大等同类型单片机。PY32F030单片机开发板只要19.9顺丰包邮,我们还提供配套的仿真器以及开发资料。 以下是我们的PY32F030单片机开发板的详细介绍: 内核: ARM Cortex-M0+,最高主频 48MHz 。 存储: Flash: 64KB 。SRAM: 8KB 。 超低功耗: 深度睡眠模式下功耗低至 微安(µA) 级别,非常适合电池供电应用。 丰富外设: ADC: 12位精度,多达13个通道,转换速率快。 定时器: 多个通用定时器(TIM)、基本定时器(Basic TIM)、高级控制定时器(Advance TIM - 支持PWM输出、输入捕获等)。 通信接口: 多路 USART 、 I2C 、 SPI 。 比较器(COMP): 可用于模拟信号监控。 DMA: 减轻CPU负担。 RTC: 实时时钟(部分型号需外接晶振)。 GPIO: 多达 30 个 I/O。 工作电压: 1.7V - 5.5V。
  • 2025-6-13 16:56
    2 次阅读|
    0 个评论
    最近我发现一个有趣的开发板。 这个开发板集合了ARM核心,NPU核心甚至还有FPGA核心。 它就是米尔新出的 YM 90 X 开发板。 它基于 安路科技 所打造的芯片 上海安路信息科技于2021年在 上交所科创板上市,是A股首家专注于FPGA业务的上市公司。 YM90X开发板用的就是安路的SALDRAGON1( 飞龙1 ,以下简称 DR1)系列 FPSoC 。 FPSoC就是将ARM、NPU和JPU处理器和安路FPGA可编程逻辑核心组合在一颗芯片上,通过高带宽总线互联。 类似于AMD的ZYNQ 。 DR1用的是 两颗Cortex-A35 ,最大运行频率 1GHz ,Cortex-A35核心 性能类似于Cortex-A53 ,Cortex-A35同样频率下,能达到80~100%的性能。执行相同任务的情况下Cortex-A35仅消耗Cortex-A53 68%的电量,效率高很多。 带有 0.4TOPS NPU,支持 JPEG编解码 。带有 外部看门狗 。 FPGA带有 95K个LUTs ,这个规模已经相当不错了。 配置上带有 1GB DDR3 内存, 8GB eMMC , 32MB QSPI Flash 。 米尔YM90X的核心板尺寸 50x52mm 采用 LCC+LGA 封装焊盘,有324个引脚, 200个IO 接口,采用12层高密度PCB设计,沉金工艺,无铅焊锡,有独立的接地信号层。提供工业级和商业级核心板。 扩展底板接口非常丰富,有 4个40Pin排针 扩展接口,1个40Pin树莓派扩展接口。还有JTAG接口,电池接口,电源开关。 两个千兆网口 , USB2.0 接口, HDMI 接口 。 12V 电源接口,官方搭配的是 12V3A 的电源。 还有MicroSD卡槽, LCD显示接口 。 系统和软件方面,米尔提供的依然是两种,一个是以Yocto构建的精简版本镜像以及一个全功能镜像。还有丰富的FPGA开发资源。 FPGA有安路提供的TangDynasty以及FutureDynasty IDE。 总的来说我觉得这个开发板还是相当值得买的。 特别是如果你有FPGA设计需求的话。 要知道目前市场上没有ARM核心的FPGA开发板核心板,目前也得三四百块钱,而这个有ARM双核,甚至还有个0.4TOPS的NPU, 价格也差不多。那这个 性价比还是挺给力的 。 而且还有工业级版本可选,米尔的稳定性和做工都还是不错的,最近我发现 米尔的开发板资料获取也更简单了 ,在他们的网站上注册账号绑定SN和PN码可以直接下载所有资料,比较方便。比之前方便不少。
  • 2025-6-6 15:33
    0 个评论
    AM62x处理器作为TI新一代高性能、低功耗处理器,在工业控制、人机交互、边缘计算等领域有着广泛应用。飞凌嵌入式基于AM62x处理器设计开发的OK62xx-C开发板为开发者提供了丰富的硬件接口资源。本文将针对开发过程中可能遇到的各类接口问题,提供系统化的排查思路和解决方案,帮助开发者快速定位并解决问题。 一、通用排查思路 在硬件调试过程中,系统化的排查方法能够显著提高效率。以下是针对飞凌嵌入式AM62x开发板的通用排查流程: 1.芯片一致性验证: 首先确保所用功能芯片与参考设计原理图完全一致。若芯片型号不同,可能需要进行驱动移植工作,包括修改设备树配置和驱动程序。 2.基础信号检查: 对于功能验证失败的模块,应依次检查: 电源电压是否在允许范围内; 复位信号时序是否符合要求; 时钟信号频率和幅值是否正常。 3.交叉测试: 通过替换核心板或底板的方式,快速定位问题所在位置,判断是核心板的问题还是底板的问题。 4.信号完整性检查: 测量引脚电平是否符合预期; 检查数据信号是否有正常输出; 确认信号空闲状态是否正常。 5.焊接质量检查: 排查焊接问题,阻容器件是否存在虚焊、连焊、漏焊、错焊等问题; 排查器件焊接的方向,是否存在如焊接的器件1脚和底板的1脚标识不对应问题。 6.引脚复用确认: 通过查阅AM62x技术参考手册,确认所用引脚的功能复用配置是否正确,特别要注意启动相关引脚的默认功能。 二、系统不启动问题排查 当OK62xx-C开发板无法正常启动时,可按照以下步骤排查: 1.关键信号检查: 测量VCC_3V3_SYS_PG(RD60)信号,确保电源正常; 检查所有电源轨电压是否在允许范围内; 验证复位信号时序是否符合处理器要求。 2.启动配置检查: 确认底板设计中对GPMC总线相关启动项引脚做了正确的上下拉处理; 特别注意连接FPGA等外设时,不能影响启动配置电平; 核对boot模式选择引脚的电平状态。 3.I2C总线冲突排查: RU50、RU52为I2C0总线,核心板可能已挂载多个设备; 确保底板不悬空这些引脚,同时其他功能不重复使用I2C0; 检查I2C总线上拉电阻是否正常。 4.交叉测试: 更换核心板或底板,确认是否是个例问题。 三、I2C接口问题排查 I2C总线常见问题及解决方法: 1.基础配置检查: 确认SCL和SDA线均有上拉电阻; 检查同组I2C总线下挂载设备的地址是否有冲突。 2.信号质量分析: 测量空闲状态是否为高电平; 观察数据传输时波形是否完整,是否存在过冲或振铃; 使用逻辑分析仪捕获完整通信过程。 3.阻抗匹配调整: 若波形上升沿缓慢,可减小上拉电阻值; 若低电平过高,可增大上拉电阻值。 4.诊断工具使用: 可通过I2Ctool工具查看总线上是否挂载设备: i2cdetect-l //检测系统上有几组I2C i2cdetect- r -y2 //检测I2C第二组总线上的挂载的设备 四、SPI接口问题排查 SPI通信故障排查要点: 1.硬件连接确认: MOSI和MISO必须交叉连接; 确认片选信号连接正确且未被其他功能复用; 检查SPI时钟线是否连通。 2.模式配置验证: 确认主从设备的CPOL和CPHA设置一致; 检查时钟频率是否在设备支持范围内; 验证数据位宽设置是否正确。 3.信号测量: 使用示波器测量时钟信号质量; 观察数据线在片选有效期间的信号变化; 检查空闲状态下各信号线的电平状态。 五、USB接口问题排查 USB接口(2.0/4G/5G)常见问题: 1.电源检查: 测量USB_VBUS_3V3信号是否为稳定的1.8V; 确认VBUS电流供给能力满足设备需求。 2.信号连接确认: 确认USB的发送信号串联了AC耦合电容。 3.USB特殊注意事项: 一般USB设备端的发送信号已经添加了AC耦合电容,因此接收端不需要再次添加耦合电容; 建议使用差分探头测量高速信号完整性。 六、SDIO问题排查 1.电平配置检查: SDIO接口的引脚电平与传输速度有关,默认工作电压为3.3V,高速模式需切换至1.8V; SDIO信号不可通过电平转换芯片,必须直接连接。 2.信号完整性优化: 确认SDIO总线做了等长处理。 3.上拉电阻配置: 根据规范配置适当的上拉电阻; 检查卡检测引脚的电平状态。 以上就是小编为大家整理的OK62xx-C开发板在开发过程中常见的问题类型以及排查思路。由于篇幅有限,本文先为大家介绍通用思路、不启动问题、I2C接口问题、SPI接口问题、USB问题 和 SDIO问题共6大类型, 后续还将介绍LVDS、PCIe、UART、CAN等等接口的问题以及解决思路,希望大家持续关注。
相关资源