1,搭建powerlink接口所需硬件平台:

· Zynq ZC702 board (used as openPOWERLINK MN)
· AVNET expander board (AES-FMC-ISMNET-G)
· Linux PC
· Micro SD card reader
· Micro SD card
· Ethernet cables
· 1 Mini USB serial cable

2,搭建powerlink接口所需软件平台:

· Ubuntu 14.04 or later version
· Vivado-2016.2
· CMake v2.8.7 or later version

openPOWERLINK Linux MN Demo

3,XILINX官网下载Xilinx Linux (https://github.com/Xilinx/linux-xlnx)

下载完成后,使用命令git checkout -b zynq-build xilinx-2016.2

4,安装 CMake and CMake GUI

sudo apt-get install cmake
     sudo apt-get install cmake-gui

安装 libncurses5 library : sudo apt-get install libncurses5-dev

安装u-boot-tools package用于create uImage:sudo apt-get install u-boot-tools

5,从下面链接下载用于 Xilinx-linux编译用的RT Preempt 4.4-rt2 version:
     https://www.kernel.org/pub/linux/kernel/projects/rt/4.4/older/patch-4.4-rt2.patch.gz
·   从下面链接下载openPOWERLINK stack (2.5.0 or higher):
    http://openpowerlink.sourceforge.net/web/openPOWERLINK/Download.html

将RT Preempt 4.4-rt2安装包解压剪切到内核编译包Xilinx-linux里面,然后编译内核

cd <Xilinx_Linux_directory>

Apply the patch 输入下面命令: patch -p1 < <(gunzip -c <path_to_patch-4.4-rt2.patch.gz>

导入交叉编译器环境变量:export CROSS_COMPILE=arm-linux-gnueabihf

使用ZYNQ配置文件配置Linux kernel:make ARCH=arm xilinx_zynq_defconfig

编译内核的命令:make ARCH=arm CROSS_COMPILE=<Xilinx_dir>/SDK/2016.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-

6,编译uImage文件的命令:make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage CROSS_COMPILE=<Xilinx_dir>/SDK/2016.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-modules

安装modules:make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage CROSS_COMPILE=<Xilinx_dir>/SDK/2016.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-modules_install

7,Change the path to the Xilinx Vivado directory:cd <Xilinx_dir>/Vivado/2016.2/bin

· Open Vivado TCL console 2016.2:./vivado -mode tcl

在tcl输入如下命令:

> xsct
      > vivado -mode tcl
      > vivado -mode batch

8,cd <openPOWERLINK_dir>/hardware/build/xilinx-microblaze

使用下面命令build the hardware 在 Debug 模式:

cmake -GUnix\ Makefiles -DCMAKE_TOOLCHAIN_FILE=../../../cmake/toolchain-xilinx-microblaze-gnu.cmake ../..
cmake ../.. -DCMAKE_BUILD_TYPE=Debug -DSKIP_BITSTREAM=OFF -DDEMO_Z702_MN_DUAL_SHMEM_GPIO=ON
make install

使用下面命令build the hardware在 Release 模式:

cmake ../.. -DCMAKE_BUILD_TYPE=Release -DSKIP_BITSTREAM=OFF -DDEMO_Z702_MN_DUAL_SHMEM_GPIO=ON
 make install

9. cd <openPOWERLINK_dir>/stack/build/xilinx-microblaze

使用下面命令build the PCP 在Debug 模式:

cmake -GUnix\ Makefiles -DCMAKE_TOOLCHAIN_FILE=../../../cmake/toolchain-xilinx-microblaze-gnu.cmake ../.. -DCMAKE_BUILD_TYPE=Debug -DCFG_COMPILE_LIB_MNDRV_DUALPROCSHM=ON
  make install

使用下面命令build the PCP在 Release 模式:

cmake -GUnix\ Makefiles -DCMAKE_TOOLCHAIN_FILE=../../../cmake/toolchain-xilinx-microblaze-gnu.cmake ../.. -DCMAKE_BUILD_TYPE=Release -DCFG_COMPILE_LIB_MNDRV_DUALPROCSHM=ON
      make install

· Change directory:

> cd <openPOWERLINK_dir>/drivers/xilinx-microblaze/drv_daemon/build
> cmake -GUnix\ Makefiles -DCMAKE_TOOLCHAIN_FILE=../../../cmake/toolchain-xilinx-microblaze-gnu.cmake ../.. -DCMAKE_BUILD_TYPE=Release -DCFG_BUILD_KERNEL_STACK=PCP\ Daemon\ Dual-Proc -DCFG_HW_LIB=xilinx-z702/mn-dual-shmem-gpio ..
> make install

10,产生FSBL

fsbl.elf (from <Xilinx_SDK_workspace>/<project_name>/Debug/)

download.bit (from <openPOWERLINK_dir>/bin/generic/microblaze/xilinx-z702/mn-dual-shmem-gpio)

u-boot.elf (from Zynq ZC702 package http://www.wiki.xilinx.com/Zynq+2016.2+Release)

oplkdrv-daemon_o.elf (from <openPOWERLINK_dir>/bin/generic/microblaze/xilinx-z702/mn-dual-shmem-gpio)

编译指令: <Xilinx_dir>/SDK/2016.2/bin/bootgen -image bootimage.bif -o i boot.bin

11,编译设备树命令:<Xilinx_Linux_dir>/scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb system.dts

使用cakem-gui

> source <Xilinx_dir>/Vivado/2016.2/settings64.sh
> cmake-gui

12,英文步骤继续

  • Refer to the link given below to convert the SD card to a bootable medium for the Zynq:

    • http://www.wiki.xilinx.com/Prepare+Boot+Medium
  • Refer to the link given below to download the Zynq ZC702 2016.2 pre-built Linux binaries:
    • http://www.wiki.xilinx.com/Zynq+2016.2+Release
  • Extract the Zynq ZC702 2016.2 pre-built Linux binaries package.
  • Copy the following content to the boot partition of the SD card:
    • uramdisk.image.gz from:

      • Zynq ZC702 2016.2 pre-built Linux binaries package
    • devicetree.dtb from:
      • <openPOWERLINK_dir>/hardware/boards/xilinx-z702/mn-dual-shmem-gpio/sdk/handoff
    • BOOT.bin from:
      • <openPOWERLINK_dir>/tools/xilinx-zynqvivado
    • openPOWERLINK driver and application folders from:
      • <openPOWERLINK_dir>/bin/linux/arm/oplkdrv_kernelmodule_zynq
      • <openPOWERLINK_dir>/bin/linux/arm/demo_mn_console
    • The uImage from:
      • <Xilinx_Linux_dir>/arch/arm/boot
  • Hardware setup
    • Connect the Avnet expander board to the J3 FMC1 connector of the Zynq ZC702 board.
    • Now connect the Ethernet cable to any of the Ethernet ports J6/J2 of the Avnet extension board and to a CN in the network.
  • To run openPOWERLINK
    • Insert the SD card into the Zynq ZC702 board.
    • Connect the USB UART port in the Zynq ZC702 board with the Linux PC.
    • From the terminal, run minicom using the following command:

> sudo minicom -s

  • Go to the serial port setup.
  • Change the serial device to the USB serial device name. (Example: /dev/ttyUSB0)
  • Set the hardware flow control settings to NO.
  • Select Save setup as dfl.
  • After saving the configuration, select Exit to proceed.
  • Once the auto-boot finishes, enter root as username.
  • Mount the SD card using the following command:

> mount /dev/mmcblk0p1 /mnt/

  • Change the directory

> cd /mnt/oplkdrv_kernelmodule_zynq/

  • Insert the driver module using the following command:

> insmod oplkmnzynqintf.ko

  • Change the directory

> cd /mnt/demo_mn_console

  • Run the openOWERLINK MN demo using the following command:

> ./demo_mn_console

基于ZYNQ平台的powerlink接口平台搭建相关推荐

  1. 基于ZYNQ 的多轴运动控制平台关键技术研发-总体架构设计(一)

    基于多轴运动控制平台的实时通信和同步控制需求,采用 Xilinx Zynq 7020 SoC 作为核心处理器,设计了双核 SoC 多轴运动控制平台的总体架构.结合多轴运动控 制系统与接口特征,完成了 ...

  2. 基于zynq的千兆网udp项目_基于Zynq平台的EtherCAT主站方案实现

    作者:陈秋苑 谢晓锋 陈海焕 广州虹科电子科技有限公司 摘 要:EtherCAT 是开放的实时以太网通讯协议,由德国倍福自动化有限公司研发.EtherCAT 具有高性能.低成本.容易使用等特点,目前在 ...

  3. srs流媒体服务器windows_基于SRS构建的直播平台的监控系统的搭建思路与实现方法...

    市面直播平台百家争鸣,直播监控系统是判断一个直播平台是否完善的必要条件.文章简要介绍了笔者搭建的一套基于SRS的直播平台,并从设计思路.实现方法与实现过程等方面重点介绍了针对此直播平台建设的监控系统, ...

  4. 基于ZYNQ+AD9361的软件无线电平台设计与实现 (2)

    基于ZYNQ+AD9361的软件无线电平台设计与实现(1) 1 评估板简介 信迈科技 XM-ZYNQ7045-EVM 是一款基Xilinx Zynq-7000 系列 XC7Z045/XC7Z100 高 ...

  5. 基于Kafka-Zookeeper-Nginx-FIlebeat-MySQL的日志清洗分析平台搭建

    一个域名可以解析成多个ip地址,一般来说会轮询方式去解析成各个ip,但是如果其中一个服务器挂了,DNS不会立马将这个ip地址去掉,还是会解析成挂掉的ip,可能会造成访问失败.虽然客户端有重试,但还是会 ...

  6. 基于AHB Slave设计及验证平台搭建

    基于AHB Slave设计及验证平台搭建 1.模块描述 2.设计划分 2.1Slave模块 2.2Clac模块 2.3TOP模块 3.目录规划 1.模块描述 完成一个AHB上的Slave模块,该模块主 ...

  7. 如何搭建基于容器的工业互联网PaaS平台

    随着传统工业巨头的衰落和新兴"数字原生"企业的崛起,企业的竞争力正在被重新定义.对制造企业来说,硬件产品和实体资产已经不再是企业竞争力的必然保证.制造企业开始重新审视和定义自身的竞 ...

  8. linux环境下企业基于域名访问的web于电子邮件服务器 论文,基于Linux平台的企业邮件服务器搭建...

    我失骄杨君失柳,杨柳轻飏直上重霄九.得道多助,失道寡助.身后有余忘缩手,眼前无路想回头.鸟宿池边树,僧敲月下门.想当年,金戈铁马,气吞万里如虎. 本文由418133804贡献 pdf文档可能在WAP端 ...

  9. 基于Codeblock的LVGL模拟器Windows平台环境搭建[带源码]

    基于Codeblock的LVGL模拟器Windows平台环境搭建 文章目录 基于Codeblock的LVGL模拟器Windows平台环境搭建 概述 一.介绍 二.使用CodeBlock版本方法以及需要 ...

最新文章

  1. 服务器技术综述(三)
  2. 表表达式,Substring, CharIndex, 多行数据变同一行的用法
  3. python项目实例代码-python开源项目及示例代码
  4. 操作系统课设--虚拟内存
  5. ribbon超时时长配置参数查询
  6. 3dmax导出到unity3d下分割动画
  7. 软件测试之黑盒测试-边界值分析法(理论白话学习/期中期末备考)
  8. 利用MSFM算法计算程函方程的走时CT胖射线反演法
  9. Delphi的TDataSetProvider、TDataSet、TAdoQuery、TDataSource、TDataModule控件的组合使用
  10. 推荐一个js脚本的字体拟合模型
  11. 通信原理(五) 信道编码
  12. linux信号量使用
  13. C++使用技巧(二十一):makefile编写
  14. 中山大学本科偏微分方程试题
  15. Linux查看外网IP命令
  16. 微信小程序开发者代码管理中,不想要的项目怎么删除
  17. 工业机器人导轨 百度文库_工业机器人复习资料
  18. Axure RP-产品原型设计工具使用
  19. Solidity众筹案例
  20.  php怎么做注册短信验证码

热门文章

  1. 气室内温度控制系统介绍
  2. fork()||fork(),循环fork()与\n
  3. 求出一个数所有的因数
  4. 高等代数_第2章:行列式_笔记
  5. 1.ROS环境搭建与基础工作
  6. Cordova项目添加android平台失败的问题
  7. (附源码)计算机毕业设计SSM在线党建学习平台
  8. UNIX环境高级编程(屏幕打印和inet_ntoa输出异常问题)
  9. 洛谷 P2534 [AHOI2012]铁盘整理
  10. mysql+mybaits根据goup by的查询