瑞萨RZ/G2L开发板在工控领域的应用-基于SOEM的EtherCAT主站
2023-07-27
2385
来源:米尔电子
本篇测评由优秀测评者“qinyunti”提供。
前言
本文介绍【米尔MYD-YG2LX开发板】在工控领域的应用,实现基于SOEM的EtherCAT主站。开发环境基于WSL2。
下载代码
PC端
编译
cmake ..
lhj@lhj:~/SOEM/build_pc$ cmake .. -- The C compiler identification is GNU 9.4.0 -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- OS is linux -- LIB_DIR: lib -- Configuring done -- Generating done -- Build files have been written to: /home/lhj/SOEM/build_pc lhj@lhj:~/SOEM/build_pc$
make
lhj@lhj:~/SOEM/build_pc$ make Scanning dependencies of target soem [ 4%] Building C object CMakeFiles/soem.dir/soem/ethercatbase.c.o [ 9%] Building C object CMakeFiles/soem.dir/soem/ethercatcoe.c.o [ 14%] Building C object CMakeFiles/soem.dir/soem/ethercatconfig.c.o [ 19%] Building C object CMakeFiles/soem.dir/soem/ethercatdc.c.o [ 23%] Building C object CMakeFiles/soem.dir/soem/ethercateoe.c.o [ 28%] Building C object CMakeFiles/soem.dir/soem/ethercatfoe.c.o [ 33%] Building C object CMakeFiles/soem.dir/soem/ethercatmain.c.o [ 38%] Building C object CMakeFiles/soem.dir/soem/ethercatprint.c.o [ 42%] Building C object CMakeFiles/soem.dir/soem/ethercatsoe.c.o [ 47%] Building C object CMakeFiles/soem.dir/osal/linux/osal.c.o [ 52%] Building C object CMakeFiles/soem.dir/oshw/linux/nicdrv.c.o [ 57%] Building C object CMakeFiles/soem.dir/oshw/linux/oshw.c.o [ 61%] Linking C static library libsoem.a [ 61%] Built target soem Scanning dependencies of target simple_ng [ 66%] Building C object test/simple_ng/CMakeFiles/simple_ng.dir/simple_ng.c.o [ 71%] Linking C executable simple_ng [ 71%] Built target simple_ng Scanning dependencies of target slaveinfo [ 76%] Building C object test/linux/slaveinfo/CMakeFiles/slaveinfo.dir/slaveinfo.c.o [ 80%] Linking C executable slaveinfo [ 80%] Built target slaveinfo Scanning dependencies of target eepromtool [ 85%] Building C object test/linux/eepromtool/CMakeFiles/eepromtool.dir/eepromtool.c.o [ 90%] Linking C executable eepromtool [ 90%] Built target eepromtool Scanning dependencies of target simple_test [ 95%] Building C object test/linux/simple_test/CMakeFiles/simple_test.dir/simple_test.c.o [100%] Linking C executable simple_test [100%] Built target simple_test lhj@lhj:~/SOEM/build_pc$
simple_test,slaveinfo,eepromtool为测试Demo。
lhj@lhj:~/SOEM/build_pc$ tree . . |-- CMakeCache.txt |-- CMakeFiles | |-- 3.16.3 | | |-- CMakeCCompiler.cmake | | |-- CMakeDetermineCompilerABI_C.bin | | |-- CMakeSystem.cmake | | `-- CompilerIdC | | |-- CMakeCCompilerId.c | | |-- a.out | | `-- tmp | |-- CMakeDirectoryInformation.cmake | |-- CMakeOutput.log | |-- CMakeTmp | |-- Export | | `-- share | | `-- soem | | `-- cmake | | |-- soemConfig-noconfig.cmake | | `-- soemConfig.cmake | |-- Makefile.cmake | |-- Makefile2 | |-- TargetDirectories.txt | |-- cmake.check_cache | |-- progress.marks | `-- soem.dir | |-- C.includecache | |-- DependInfo.cmake | |-- build.make | |-- cmake_clean.cmake | |-- cmake_clean_target.cmake | |-- depend.internal | |-- depend.make | |-- flags.make | |-- link.txt | |-- osal | | `-- linux | | `-- osal.c.o | |-- oshw | | `-- linux | | |-- nicdrv.c.o | | `-- oshw.c.o | |-- progress.make | `-- soem | |-- ethercatbase.c.o | |-- ethercatcoe.c.o | |-- ethercatconfig.c.o | |-- ethercatdc.c.o | |-- ethercateoe.c.o | |-- ethercatfoe.c.o | |-- ethercatmain.c.o | |-- ethercatprint.c.o | `-- ethercatsoe.c.o |-- Makefile |-- cmake_install.cmake |-- libsoem.a `-- test |-- linux | |-- eepromtool | | |-- CMakeFiles | | | |-- CMakeDirectoryInformation.cmake | | | |-- eepromtool.dir | | | | |-- C.includecache | | | | |-- DependInfo.cmake | | | | |-- build.make | | | | |-- cmake_clean.cmake | | | | |-- depend.internal | | | | |-- depend.make | | | | |-- eepromtool.c.o | | | | |-- flags.make | | | | |-- link.txt | | | | `-- progress.make | | | `-- progress.marks | | |-- Makefile | | |-- cmake_install.cmake | | `-- eepromtool | |-- simple_test | | |-- CMakeFiles | | | |-- CMakeDirectoryInformation.cmake | | | |-- progress.marks | | | `-- simple_test.dir | | | |-- C.includecache | | | |-- DependInfo.cmake | | | |-- build.make | | | |-- cmake_clean.cmake | | | |-- depend.internal | | | |-- depend.make | | | |-- flags.make | | | |-- link.txt | | | |-- progress.make | | | `-- simple_test.c.o | | |-- Makefile | | |-- cmake_install.cmake | | `-- simple_test | `-- slaveinfo | |-- CMakeFiles | | |-- CMakeDirectoryInformation.cmake | | |-- progress.marks | | `-- slaveinfo.dir | | |-- C.includecache | | |-- DependInfo.cmake | | |-- build.make | | |-- cmake_clean.cmake | | |-- depend.internal | | |-- depend.make | | |-- flags.make | | |-- link.txt | | |-- progress.make | | `-- slaveinfo.c.o | |-- Makefile | |-- cmake_install.cmake | `-- slaveinfo `-- simple_ng |-- CMakeFiles | |-- CMakeDirectoryInformation.cmake | |-- progress.marks | `-- simple_ng.dir | |-- C.includecache | |-- DependInfo.cmake | |-- build.make | |-- cmake_clean.cmake | |-- depend.internal | |-- depend.make | |-- flags.make | |-- link.txt | |-- progress.make | `-- simple_ng.c.o |-- Makefile |-- cmake_install.cmake `-- simple_ng 29 directories, 100 files lhj@lhj:~/SOEM/build_pc$
编译
cmake ..
lhj@lhj:~/SOEM/build$ cmake .. -- The C compiler identification is GNU 9.4.0 -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- OS is linux -- LIB_DIR: lib -- Configuring done -- Generating done -- Build files have been written to: /home/lhj/SOEM/build lhj@lhj:~/SOEM/build$
make
lhj@lhj:~/SOEM/build$ make Scanning dependencies of target soem [ 4%] Building C object CMakeFiles/soem.dir/soem/ethercatbase.c.o [ 9%] Building C object CMakeFiles/soem.dir/soem/ethercatcoe.c.o [ 14%] Building C object CMakeFiles/soem.dir/soem/ethercatconfig.c.o [ 19%] Building C object CMakeFiles/soem.dir/soem/ethercatdc.c.o [ 23%] Building C object CMakeFiles/soem.dir/soem/ethercateoe.c.o [ 28%] Building C object CMakeFiles/soem.dir/soem/ethercatfoe.c.o [ 33%] Building C object CMakeFiles/soem.dir/soem/ethercatmain.c.o [ 38%] Building C object CMakeFiles/soem.dir/soem/ethercatprint.c.o [ 42%] Building C object CMakeFiles/soem.dir/soem/ethercatsoe.c.o [ 47%] Building C object CMakeFiles/soem.dir/osal/linux/osal.c.o [ 52%] Building C object CMakeFiles/soem.dir/oshw/linux/nicdrv.c.o [ 57%] Building C object CMakeFiles/soem.dir/oshw/linux/oshw.c.o [ 61%] Linking C static library libsoem.a [ 61%] Built target soem Scanning dependencies of target simple_ng [ 66%] Building C object test/simple_ng/CMakeFiles/simple_ng.dir/simple_ng.c.o [ 71%] Linking C executable simple_ng [ 71%] Built target simple_ng Scanning dependencies of target slaveinfo [ 76%] Building C object test/linux/slaveinfo/CMakeFiles/slaveinfo.dir/slaveinfo.c.o [ 80%] Linking C executable slaveinfo [ 80%] Built target slaveinfo Scanning dependencies of target eepromtool [ 85%] Building C object test/linux/eepromtool/CMakeFiles/eepromtool.dir/eepromtool.c.o [ 90%] Linking C executable eepromtool [ 90%] Built target eepromtool Scanning dependencies of target simple_test [ 95%] Building C object test/linux/simple_test/CMakeFiles/simple_test.dir/simple_test.c.o [100%] Linking C executable simple_test [100%] Built target simple_test lhj@lhj:~/SOEM/build$
root@myir-yg2lx:~# ./slaveinfo eth0 SOEM (Simple Open EtherCAT Master) Slaveinfo Starting slaveinfo ec_init on eth0 succeeded. No slaves found! End slaveinfo, close socket End program
root@myir-yg2lx:~# ./simple_test eth0 SOEM (Simple Open EtherCAT Master) Simple test Starting simple test ec_init on eth0 succeeded. No slaves found! End simple test, close socket End program root@myir-yg2lx:~#
2026-04-10
米尔RK3576 + ROS2 进阶:NPU加速MixFormerV2目标跟随与机械臂抓取实战
回顾上篇:基于RK3576+ROS2 Humble+SLAM Toolbox+Nav2,我们实现了机器人的建图与自主导航。机器人已经能够“走到哪里”。但真正的智能机器人不仅要“走到哪”,还要“看到并操作”——识别特定物体、主动跟随、近距离抓取。本文将在此基础上,集成深度摄像头,实现机器人核心功能:使用米尔RK3576 NPU加速MixFormerV2进行目标跟踪,替代传统OpenCV算法;移动底盘
2026-04-10
智造新方向 · 国产芯未来,米尔即将亮相新唐2026研讨会
在全球绿色能源与智能制造浪潮推动产业升级的当下,半导体技术的创新正持续为各领域发展注入核心动力。为深化产业技术交流、携手共探国产芯发展新机遇,新唐科技携手芯唐南京将于2026年4月14日至5月28日在全国城市巡回举办年度研讨会 ——“智造新方向・国产芯未来”。米尔电子作为新唐的合作伙伴,将携米尔基于新唐MA35D1核心板开发板及解决方案,亮相0417深圳、0421南京、0423北京等场次的研讨会。
2026-04-02
当6 TOPS不再是极限:RK3576+Hailo-8,让高帧率摄像头真正“实时”
在边缘计算领域,算力与实时性之间的博弈从未停止。近期基于米尔MYD-LR3576 开发板+PCIe M.2接口Hailo-8算力卡进行了一系列深度测试,一组实测数据,或许能帮你重新审视边缘AI的“性能天花板”。图:米尔基于RK3576开发板一、RK3576 的算力极限在哪里?RK3576内置NPU由2核组成,具备6 TOPS 算力,在常规轻量级模型推理中表现不俗。但在实际项目中,我们通过多路并发测
2026-03-27
新品!从MINI到工业板:米尔T153开发板工业场景全覆盖
今年1月,米尔发布了MYD-YT153MX-MINI开发板,该产品精准切入国产核心板在中端市场领域,具有极致性价比,自上市即获得良好的市场反响。为方便开发者灵活选择、适配更专业的场景,米尔电子正式推出基于同款全志T153四核异构工业处理器的MYD-YT153MX工业开发板,两款开发板形成完整组合,下面来详细介绍工业开发板的不同之处。工业开发板——为严苛场景而生工业开发板:定位工业应用开发与评估,接
2026-03-19
新品!瑞萨RZ/T2H驱控一体单芯、多轴实时控制,助力工业以太网
米尔电子发布基于瑞萨高端MPU处理器RZ/T2H的CPU模组-MYC-YT2HX核心板及开发板。该产品在前代产品RZ的基础上进行了全面升级,RZ/T2H以其强大的硬件支持、全面的软件开发工具、丰富的工业以太网协议和安全解决方案,以及多操作系统的灵活配置,为客户提供了一个全方位、高效率的开发环境。MYC-YT2HX核心板的推出,旨在解决工业数字化进程中对高性能产品升级以及对复杂网络控制的需求,如工业
2026-03-12
RK3576 + ROS2 SLAM建图与导航实战
前言文档定位与目标读者本文档面向具备一定ROS基础、希望深入理解并在实际项目中部署ROS2 Humble + SLAM Toolbox + Nav2完整建图与导航系统的机器人工程师。我们将从零开始,基于米尔RK3576开发板逐步构建一个功能完备的自主移动机器人系统,涵盖环境搭建、机器人建模、SLAM建图、自主导航以及生产级系统的优化与排错。为什么选择SLAM Toolbox + Nav2?在ROS
2026-03-12
米尔亮相德国嵌入式展2026 Embedded World
2026年3月10日,全球嵌入式系统领域的年度盛会——Embedded World在德国纽伦堡展览中心盛大启幕。作为领先的嵌入式处理器模组厂商,米尔电子携全系列嵌入式核心板、开发板及创新解决方案重磅亮相,与来自全球40多个国家的1100余家展商、32000余名专业观众共赴这场技术盛宴。Embedded World自创办以来,已成为全球规模最大、影响力最深远的嵌入式系统展览会,聚焦嵌入式硬件系统、软
2026-03-06
新品!高能效,低功耗,TI AM62L经典再进化
众所周知,TI经典工业MPUAM335x曾引领行业风潮,而2023年TI发布64位MPU通用工业处理器平台AM62x,为AM335x用户提供了无缝升级路径,实现更高性能的功能需求。AM62L作为AM62x家族的降本之作,在性能和资源上做了裁剪,成本上做了优化,延续AM62x的经典基因,以更低门槛推进低功耗、高能效的工业处理器普及,助力开发者以高效方案应对多样化的需求。米尔与TI再联手,推出基于TI
2026-03-06
爆火的OpenClaw! 告别云端,米尔RK3576本地部署
1.概述基于最近爆火的OpenClaw项目,本文将在MYD-LR3576开发板上部署OpenClaw ,并接入飞书机器人,实现本地自托管 AI 助手。1.1.硬件资源部署端:米尔基于RK3576核心板开发板(MYD-LR3576)、外接鼠标、键盘和屏幕图:米尔基于RK3576系列核心板开发板调试端:PC电脑(Windows系统、Ubuntu系统皆可)1.2. 软件资源MYD-LR3576开发板使用
2026-02-11
【干货】米尔T153开发板AD7616高速ADC采集系统详解
PART 01项目概述1.1 技术背景米尔MYD-YT153开发板搭载全志T153处理器,提供LocalBus(LBC)并行总线接口,适合连接高速外设。AD7616是ADI公司推出的16位高精度并行ADC,具有16通道差分输入,广泛应用于工业数据采集、仪器仪表等领域。1.2 项目目标验证MYD-YT153 LocalBus与AD7616的硬件兼容性提供完整的软件驱动实现方案评估系统在实际应用中的性