基于ZYNQ平台的powerlink接口平台搭建

2023-05-16

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 PCPDebug 模式:

   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 PCPRelease 模式:

        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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于ZYNQ平台的powerlink接口平台搭建 的相关文章

  • 听说Zynq-手把手教你创建FPGA工程

    概述 小编最近在研究Zynq 因为对其相对陌生 在探索过程中也遇到了不少坑 这里将如何创建FPGA工程的方法步骤总结记录 以免日后忘记 注意 环境 Vivado2018 2 开发板 digilent 迪芝伦 公司的ZYBO 操作 创建工程
  • 听说Zynq-Zynq7 Processing System配置导入导出

    概述 zynq开发中 我们如何才能将一个工程的Zynq Process System快速准确的配置到另一个工程 这里就需要我们对Zynq7 Processing System ip核的配置导入导出 注意 开发环境 vivado2018 2
  • 听说Zynq-petalinux编译linux程序

    概述 PetaLinux 是一种嵌入式 Linux 软件开发套件 SDK 主要用于赛灵思 FPGA 基片上系统设计 注意 开发环境 linux4 9 VirtualBox 6 1 ubuntu 16 04 开发板 TLZ7x EasyEVM
  • zynq gpio linux,zynq AXI GPIO使用

    通用 如果需要GPIO中断 需要打开arm core中的pl ps中断 如下图 API详情 xgpio函数 int XGpio Initialize XGpio InstancePtr u16 DeviceId 名称 代码 解释 函数名 X
  • Zynq ZC702平台 QSPI + eMMC实现

    预备知识 xff1a UG821 The processor system boot is a two stage process Another boot mode supported through FSBL is eMMC boot
  • ZYNQ 安装ubuntu文件系统

    ZYNQ 7020 Ubuntu16 04文件系统安装 在关于zynq openamp的章节我们已经完成了zynq 的u boot 内核 xff0c 设备树的制作 xff0c 通过XSDK完成了启动文件的创建 同样道理制作zynq7020的
  • 移植FreeRTOS到 Xilinx ZYNQ Microblaze IP核

    1 xff0c 运行环境vivado2019 2 xff0c win10 ZYNQ 7000系列 2 xff0c FreeRTOS官网源码下载 https www freertos org 3 xff0c FreeRTOS 是一个迷你的实时
  • Xilinx ZYNQ 7000 HDMI

    High Definition Multimedia Interface HDMI 参考xilinx application note XAPP460 HDMI来自High Definition Multimedia Interface 高
  • ZYNQ系列(十二)linux的DMA使用

    ZYNQ系列 xff08 十二 xff09 linux的DMA使用 文章目录 ZYNQ系列 xff08 十二 xff09 linux的DMA使用前言开发环境准备工作petalinux工程建立建立工程配置内核1 配置DMA2 配置CMA 修改
  • ZYNQ无SD卡配置Linux系统到QSPI Flash和eMMC

    硬件 黑金AX7450开发板 zynq7100 QSPI Flash eMMC Flash 软件 Vivado 2017 4 Petalinux 2017 我用了一台Windows主机 用于设计Vivado和烧写QSPI Flash 一台U
  • 深入浅出AXI协议(2)——通道及信号

    一 前言 在之前的文章中 我们主要介绍了什么是AXI协议 AXI协议的特点与优点 然后对于AXI协议非常重要的五通道结构进行了介绍 了解了5个通道各自的作用 本文我们继续AXI协议的学习 我们将讨论5个通道的具体内容和相对应的信号 这一部分
  • ZYNQ平台在SDK下引导启动UBOOT

    ZYNQ芯片 Linux系统搭建完成后 希望通过QSPI Flash的方式来进行程序加载 QSPI Flash启动则需要烧录以下文件 BOOT bin fsbl elf uboot elf uImage linux内核 zynq board
  • 几种linux内核文件的区别(vmlinux、zImage、bzImage、uImage、vmlinuz、initrd )

    对于Linux内核 编译可以生成不同格式的映像文件 例如 make zImage make uImage zImage是ARM Linux常用的一种压缩映像文件 uImage是U boot专用的映像文件 它是在zImage之前加上一个长度为
  • 超过飞飞系列-ZYNQ之FPGA学习2.1Verilog语法

    一 VHDL Verilog C语言区别 VHDL 硬件描述语言 美军开发 相对难 不直观 需要专业培训 欧洲发展较好 Verilog 硬件描述语言 设计群体广泛 资源成熟 中国多采用 并行处理运行 C 软件语言 经过C的单片机程序需取码
  • ZYNQ学习之路(三):自定义IP实现PL处理PS写入BRAM的数据

    目录 一 实验简介 二 vivado部分处理 三 SDK编程 四 实验测试 五 总结 一 实验简介 ZYNQ系列嵌入式FPGA可以使PS将数据写入PL部分BRAM PL可以将数据读取后再重新写入BRAM PS将数据读出后再传走 这样可以使P
  • ZYNQ中FreeRTOS中使用定时器

    使用普通的Timer中断方式时 Timer中断可以正常运行 但是UDP通信进程无法启动 其中TimerIntrHandler是中断服务程序 打印程序运行时间与从BRAM中读取的数据 void SetupInterruptSystem XSc
  • 教程:在ZYBO板卡实现PL-PS交互

    目的 学会vivado PL PS协同开发流程 平台 ZYBO开发板 zynq 7010 clg400芯片 工具 Vivado 2014 4 功能 实现PL PS协同通信 PS通过AXI总线读取PL部分的GPIO状态 对应zybo的四个开关
  • 如何利用FPGA生成SPWM调制信号

    如何利用FPGA生成SPWM调制信号 实验目标 稍微说一下原理 SPWM即正弦波宽度脉冲调制 冲量等效原理 双极性的的SPWM信号 具体步骤 1 用matlab生成三角波和正弦波的coe文件 2 调用ROM的ip读取coe文件 3 调用pl
  • Ubuntu16.04主机安装基于ZYNQ的QT交叉编译库

    Ubuntu16 04主机尝试安装基于ZYNQ的QT交叉编译库 前言 基于vivado2016 4 SDK的交叉编译环境 主机Linux上安装vivado2016 4版本 qtcreator上添加基于ZYNQ的交叉编译工具 基本环境 参考资
  • 从零开始zynq linux AXI DMA传输

    本文从0开始叙述过程 使用的工具为vivado2016 4 sdk也是2016 4 准备工作 首先下载如下的目标文件 1 下载xilinx官方的bootloader文件 git clone https github com Xilinx u

随机推荐

  • try catch里面try catch嵌套

    try catch里面try catch嵌套 点击打开链接 try 与catch的作用 首先要清楚 xff0c 如果没有try的话 xff0c 出现异常会导致程序崩溃 而try则可以保证程序的正常运行下去 xff0c 比如说 xff1a t
  • mysql 中使用 where 1=1和 1=1 的作用

    Mysql中where 1 61 1 和count 0 使用小技巧 mysql中使用 where 1 61 1和 1 61 1 的作用
  • 面试题1:OS或者编译器怎么识别是全局变量还是局部变量

    OS或者编译器怎么识别是全局变量还是局部变量 操作系统内根本不关心你是什么变量 xff0c 它只管代理运行程序 xff0c 也就是进程 xff0c 负责这些进程之间的调度 xff0c 不过如果要说操作系统本身也是进程 xff0c 那倒可以理
  • 面试题4:数组、指针、引用的联系区别

    数组和指针 xff1f xff1f xff1f 从两个方面来看 xff0c 一是作为一个语言 xff0c 数组是必须要支持的一种数组类型 xff0c 原因很简单 xff0c 数组是线性表的直接体现 而从编译器设计者的角度来看 xff0c 如
  • c++ 容器类 概括性介绍

    C 43 43 中的容器类包括 顺序存储结构 和 关联存储结构 xff0c 前者包括vector xff0c list xff0c deque等 xff1b 后者包括set xff0c map xff0c multiset xff0c mu
  • 海康摄像头使用RTSP

    1 协议格式 海康威视IP摄像头rtsp协议地址如下 xff1a rtsp username passwd 64 ip port codec channel subtype av stream 主码流 xff1a rtsp admin 12
  • 树莓派串口连接ESP8266

    陈拓 chentuo 64 ms xab ac cn 2020 03 12 2020 03 12 1 概述 ESP8266是物联网行业广泛使用的WiFi模块 xff0c 小巧 功能强大 xff0c 而且价格低廉 通常用电脑进行ESP8266
  • Linux 创建TCP连接流程

    文章目录 Linux创建TCP的步骤服务端客户端TCP建立流程示例代码 Linux创建TCP的步骤 TCP编程需要客户端和服务器两套编码 xff0c 其创建TCP的流程也是不完全一致的 服务端 使用socket函数创建一个套接字使用sets
  • 结构体类型完全归纳

    结构体类型 目录 基本概述 一 结构体类型变量的定义方法及其初始化 1 定义结构体类型变量的方法 2 结构体变量的初始化 二 结构体变量的引用 三 结构体数组 1 定义结构体数组 2 结构体数组应用举例 四 指向结构体变量的指针 1 类型一
  • Ubuntu20.04LTS下安装Intel Realsense D435i驱动与ROS包

    文章目录 目标一 D435i简介二 环境配置三 RealSense的SDK2 0安装四 ROS包安装五 摄像机CV的ROS包节点 六 问题排查 目标 在Ubuntu20 04LTS系统下安装D435i的驱动SDK2和ROS包 xff0c 实
  • C# 调用NationalInstruments的dll报错问题 未能加载文件或程序集

    C 调用NationalInstruments的dll报错问题 问题原因 xff1a dll版本不匹配导致的 xff0c 需要做如下操作解决问题 未能加载文件或程序集 NationalInstruments Common Version 6
  • 需要授权的 API ,必须在请求头中使用 Authorization 字段提供 token 令牌

    需要授权的 API xff0c 必须在请求头中使用 添加字段 需要授权的 API xff0c 必须在请求头中使用 Authorization 字段提供 token 令牌 实现方法 通过 axios 请求拦截器添加 token xff0c 保
  • 关于HTTP解析的一点思考

    原文 似乎已经很久没有提到关于服务器的消息了 xff0c 其实我一直都在写 xff0c 只是有时事情比较多 xff0c 会耽搁一点时间 在使用C重写前 xff0c 我就已经用Dlang实现了近2个版本的HTTP解析器 xff0c 换成C之后
  • Paparazzi UAV Lisa/M2飞控使用说明书

    第一部分 地面站 Paparazzi xff08 简称PPZ xff09 UAV项目起始于2003年 xff0c 由法国民航大学发起的一套软硬件开源无人机项目 xff0c 它提供了一整套完整的无人机软硬件解决方案 PPZ 地面站软件运行在L
  • Anaconda3-2020.02-Windows-x86_64安装及使用步骤

    Conda是一个开源的包 环境管理器 xff0c 可以用于在同一个机器上安装不同版本的软件包及其依赖 xff0c 并能够在不同的环境之间切换 Anaconda包括Conda Python以及一大堆安装好的工具包 xff0c 比如 xff1a
  • vivado 2017.4安装步骤

    目录 xff1a windows安装vivado2017 4 xff1b 虚拟机ubuntu安装vivado 2017 4 xff1b ios安装vivado 一 xff0c windows安装vivado2017 4 xilinx官网下载
  • LINUX C语言TCP客户端和服务器传输结构体数据

    1 xff0c TCP服务器流程 服务器 xff1a 1 创建socket xff0c 使用socket函数 2 准备通信地址 xff0c 使用结构体类型 3 绑定socket和通信地址 xff0c 使用bind函数 4 进行通信 xff0
  • FDC系列电容传感器及FDC2214使用要点

    陈拓 2021 02 21 2021 02 21 1 概述 电容式传感是一种低功耗 低成本且高分辨率的非接触式感测技术 xff0c 适用于从接近检测 手势识别到远程液位感测的各项应用 电容式传感系统中的传感器可以采用任意金属或导体 xff0
  • 卫星数据高动态捕获

    一 xff0c 高动态导航接收终端的现状 早期的扩频通信系统由于受到集成电路水平的限制 xff0c 多采用串行搜索技术 由于串行捕获速度慢 xff0c 耗时长不能满足高动态等环境对速度的要求 xff0c 随着数字信号处理等技术的发展 xff
  • 基于ZYNQ平台的powerlink接口平台搭建

    1 xff0c 搭建powerlink接口所需硬件平台 xff1a Zynq ZC702 board used as openPOWERLINK MN AVNET expander board AES FMC ISMNET G Linux