<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • swiftman的個人空間 http://www.portaltwn.com/space-uid-144104.html [收藏] [復制] [RSS]

    博客

    米爾基于瑞薩RZ/G2L開發板在工控領域的應用-基于SOEM的EtherCAT主站

    已有 709 次閱讀2023-8-24 17:38 | 瑞薩, 核心板, 開發板, 嵌入式, EtherCAT

    本篇測評由優秀測評者“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_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$

     

    部署生成的文件如下其中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_ng
    29 directories, 100 files
    lhj@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/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$

     

    部署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 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:~#



    總結本開發板接口資源豐富,性能強,特別適合工控領域的應用,比如作為EtherCAT主站。由于沒有從站,所以暫時未能演示和從站通訊的功能。



    路過

    雞蛋

    鮮花

    握手

    雷人

    評論 (0 個評論)

    facelist

    您需要登錄后才可以評論 登錄 | 立即注冊

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    返回頂部
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷