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

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

3天内不再提示

瑞萨RZ/G2L开发板在工控领域的应用-基于SOEM的EtherCAT主站

米尔电子 2023-07-31 22:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本篇测评由优秀测评者“qinyunti”提供。

前言

本文介绍【米尔MYD-YG2LX开发板】在工控领域的应用,实现基于SOEM的EtherCAT主站。开发环境基于WSL2。

下载代码

git clone‍https://github.com/OpenEtherCATsociety/SOEM‍

PC端

编译

cd SOEM/export CC=gccmkdir build_pccd build_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_pclhj@lhj:~/SOEM/build_pc$

make

lhj@lhj:~/SOEM/build_pc$ makeScanning 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 soemScanning 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_ngScanning 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 slaveinfoScanning 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 eepromtoolScanning 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_testlhj@lhj:~/SOEM/build_pc$

部署生成的文件如下其中libsoem.a为库文件test/linux/下的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_ng29 directories, 100 fileslhj@lhj:~/SOEM/build_pc$

开发板端

编译

cd SOEM/export CC=aarch64-linux-gnu-gccmkdir build cd build/ 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/buildlhj@lhj:~/SOEM/build$

make

lhj@lhj:~/SOEM/build$ makeScanning 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 soemScanning 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_ngScanning 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 slaveinfoScanning 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 eepromtoolScanning 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_testlhj@lhj:~/SOEM/build$

部署cp libsoem.a /mnt/dcp test/linux/simple_test/simple_test /mnt/dcp test/linux/slaveinfo/slaveinfo /mnt/d将上述文件rz导入开发板chmod +x simple_test slaveinfo
运行

root@myir-yg2lx:~# ./slaveinfo eth0SOEM (Simple Open EtherCAT Master)SlaveinfoStarting slaveinfoec_init on eth0 succeeded.No slaves found!End slaveinfo, close socketEnd program

root@myir-yg2lx:~# ./simple_test eth0SOEM (Simple Open EtherCAT Master)Simple testStarting simple testec_init on eth0 succeeded.No slaves found!End simple test, close socketEnd programroot@myir-yg2lx:~#

总结

本开发板接口资源丰富,性能强,特别适合工控领域的应用,比如作为EtherCAT主站。由于没有从站,所以暂时未能演示和从站通讯的功能。

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

    关注

    36

    文章

    22430

    浏览量

    89751
  • 工控
    +关注

    关注

    6

    文章

    289

    浏览量

    29771
  • 开发板
    +关注

    关注

    25

    文章

    6123

    浏览量

    113351
  • soem
    +关注

    关注

    0

    文章

    3

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    盟通科技基于RZ MPU的EtherCAT应用方案

    电子携手盟通科技推出基于RZ MPU的EtherCAT
    的头像 发表于 11-21 10:31 531次阅读
    盟通科技基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RZ</b> MPU的<b class='flag-5'>EtherCAT</b><b class='flag-5'>主</b><b class='flag-5'>站</b>应用方案

    基于RZ/G2L微处理器的Ubuntu系统移植指南

    RZ/G2L微处理器配备Cortex-A55(1.2GHz)CPU、16位DDR3L/DDR4接口、带Arm Mali-G31的3D图形加速引擎以及视频编解码器(H.264)。此外,这
    的头像 发表于 10-15 06:53 7634次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>微处理器的Ubuntu系统移植指南

    【米尔NXP i.MX 91开发板评测】移植运行IGH EtherCAT

    ​ # 加载通用驱动模块 sudo modprobe ec_generic 设置开发板为主状态 ./ethercat master 获取ESC从配置信息 从
    发表于 09-01 16:32

    米尔发表演讲,并携RZ产品亮相2025 Elexcon深圳电子展

    MYIR携RZ系列核心开发板等方案Demo亮相嵌入式MCU/MPU生态专区,并发表主题演讲。技术盛宴:
    的头像 发表于 08-28 08:05 662次阅读
    米尔发表演讲,并携<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RZ</b>产品亮相2025 Elexcon深圳电子展

    RZ/G2L MPU的DDR配置(1)

    RZ/G2L微处理器配备Cortex-A55(1.2GHz)CPU、16位DDR3L/DDR4接口、带Arm Mali-G31的3D图形加速引擎以及视频编解码器(H.264)。此外,这
    的头像 发表于 08-04 13:40 2974次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> MPU的DDR配置(1)

    基于米尔安路飞龙派FPGA FPSoC+移植SOEM实现EtherCAT控制功能

    开发板上移植SOEM,可以实现对EtherCAT的IO控制,安路的DR190M芯片可以作为EtherCAT
    发表于 07-11 19:49

    MCU方案:RZ/G2L Bootloader单独编译方法详解

    微处理器还配备有大量接口,如摄像头输入、显示输出、USB2.0和千兆以太网,因此特别适用于入门级工业人机界面(HMI)和具有视频功能的嵌入式设备等应用。       RZ/G2L开发
    的头像 发表于 07-08 14:47 2284次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>MCU方案:<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> Bootloader单独编译方法详解

    基于64位MPU RZ/G2L的uboot串口多波特率支持介绍

    本文主要介绍基于64位MPU RZ/G2L,讨论uboot下非常规波特率115200的支持方法,用于解决客户对uboot下特殊波特率的需求,供客户参考。
    的头像 发表于 07-04 15:54 2762次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b>64位MPU <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>的uboot串口多波特率支持介绍

    基于64位MPU RZ/G2L进行32位应用软件开发

    本文主要介绍基于64位MPU RZ/G2L进行32位应用软件开发的介绍,用于解决客户32位软件移植相关问题,供客户参考。
    的头像 发表于 06-26 15:48 1601次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b>64位MPU <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>进行32位应用软件<b class='flag-5'>开发</b>

    芯微RK3506开发板Ethercat适配开发详细攻略,实测微秒级抖动延迟!

    芯微RK3506开发板Ethercat适配开发详细攻略,实测微秒级抖动延迟!
    的头像 发表于 05-09 15:57 1383次阅读
    <b class='flag-5'>瑞</b>芯微RK3506<b class='flag-5'>开发板</b><b class='flag-5'>Ethercat</b><b class='flag-5'>主</b><b class='flag-5'>站</b>适配<b class='flag-5'>开发</b>详细攻略,实测微秒级抖动延迟!

    交流日进行中,米尔演讲-RZ/T2H高性能模组赋能工业产品创新

    。米尔电子作为的IDH生态合作伙伴发表演讲,并展出RZ/T2H的核心开发板、技术方案等。米
    的头像 发表于 03-13 08:05 795次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>交流日进行中,米尔演讲-<b class='flag-5'>RZ</b>/T<b class='flag-5'>2</b>H高性能模组赋能工业产品创新

    具有3D图形和视频编解码器的通用 MPU RZ/G2L 数据手册

    RZ/G2L 微处理器配备 Cortex-A55®(1.2GHz)CPU、16 位 DDR3L/DDR4 接口、使用 Arm® Mali-G31 的 3D 图形引擎以及视频编解码器(H
    的头像 发表于 03-12 17:46 935次阅读
    具有3D图形和视频编解码器的通用 MPU <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> 数据手册

    电子RZ MPU家族精品RZ/N2L产品介绍

    生态合作伙伴RT-Thread推出了一款高性能、多功能以太网MPU开发板EtherKit,搭载电子
    的头像 发表于 12-23 14:10 1369次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RZ</b> MPU家族精品<b class='flag-5'>RZ</b>/N<b class='flag-5'>2L</b>产品介绍

    电子RZ/N2L MPU产品介绍

    生态合作伙伴RT-Thread推出了一款高性能、多功能以太网MPU开发板EtherKit,搭载电子
    的头像 发表于 12-19 16:50 1824次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RZ</b>/N<b class='flag-5'>2L</b> MPU产品介绍

    MCU/MPU盛会,米尔发表演讲-嵌入式处理器模组加速工业产品开发

    ”的演讲,还展出基于RZ/G2LRZ/G2UL、RZ/T2H的核心
    的头像 发表于 12-13 08:04 876次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>MCU/MPU盛会,米尔发表演讲-嵌入式处理器模组加速工业产品<b class='flag-5'>开发</b>