ZedBoard开发板由PL和PS两大部分组成,

对PS操作,一般有两个办法:

(1)、在Windows系统上面,使用SDK新建C Project SDK自带编译环境,编译后自动产生elf文件。使用U盘将elf拷贝到Zedboard,运行即可。

(2)、在Linux系统上面,使用xilinx-arm-linux交叉编译链,编译C文件,将编译后的文件拷贝到Zedboard即可。

下面详细讲述在Ubuntu系统上搭建xilink交叉编译环境的过程:

1.交叉编译环境搭建

(1)下载交叉编译工具链(xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin)

(2)安装x86的32位开发库

按照提示安装lib32z1等库来替代

apt-get install lib32z1

Tips:

经过测试仅仅安装上面这个库在ZedBoard开发板上运行编译好的程序的仍然会报错,错误信息如下:

经过查阅博客发现,该错误提示仍然缺少32位库文件,继续安装

apt-get install lib32stdc++6

apt-get install lib32ncurses5

(3)  在opt文件夹下建立xilink_Dev的文件夹

mkdir xilink_Dev

把xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin放在改文件夹下(用WinSCP传输)

(4)  将dash改为bash,在终端中输入dpkg-reconfigure dash,选择<否>

(5)  ./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin,执行该命令时提示权限不够,

chmod +x xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin,设置为可执行程序

再次执行./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin可执行

采用默认的安装路径

(5)    配置环境变量:

vim  /etc/bash.bashrc

在文件中添加如下图红框中的内容

保存退出后使用source命令使配置文件生效

source  /etc/bash.bashrc

(6)    执行arm-xilinx-linux-gnueabi-gcc -v (注意不同状态下标点符号的区别以及字母),若显示如下内容证明交叉编译环境搭建成功

2. 让ZedBoard开发板与超级终端工具(putty或者secureCRT等工具)连接

(1)    正确连接开发板的接线(可查阅相关资料详细了解各种接线的作用,以下为一篇推荐博客:http://svenand.blogdrive.com/archive/172.html#.WedytOuGPH5

  1. 将电源线连接到ZedBoard
  2.  在主机和ZedBoard连接器J17(JTAG)和J14(UART)之间连接两条微型USB电缆。(编程端口(JTAGJ17UART端口 J14
  1. 将跳线设置为级联JTAG模式MIO [6:2] = GND
  2. 打开ZedBoard电源
  3. 安装JTAG电缆驱动程序(若电脑不识别zedboard,可以自行下载驱动程序CyUSBSerial)
  4. 通过USB OTG接口连接U盘(注意:若U盘格式为NTFS格式的,zedboard开发板通过mount命令挂载不上,解决办法还在研究中,后换个FAT32格式的U盘可以成功挂载)

(2)    若接线连接没有错误,打开secureCRT软件工具

1)选择通过serial协议来连接ZedBoard开发板

2)打开系统的设备管理器,查看ZedBoard开发板在电脑上的端口映射

选择COM4口,波特率设置为115200,其他选项采用默认设置,点击下一步,点击完成

(3) 打开ZedBoard开发板的电源,稍等一会,等ZedBoard开发板上LD12蓝灯亮起来,在secureSRT工具上会显示以下信息:表示成功启动ZedBoard开发板。

在显示信息的最后可以看到U盘挂载的盘符名称

(4)在Ubuntu系统中进入到opt/xilink_Dev目录下编辑C程序代码:

保存并退出:wq!

用搭建好的交叉编译环境进行编译:

(5) 把编译生成的hello可执行文件拷贝到U盘上,进一步挂载到ZedBoard开发板上

(tips:从ubuntu系统中拷贝文件到windows中有多种方法,本机安装了VMware Tools 工具,可以便捷的拷贝,也可以安装配置samba服务来实现)

进入到mnt目录下,发现成功把U盘里的数据挂载到mnt目录下

可以看到在mnt目录下有hello文件

(6)运行命令:./hello  即可执行,效果如下:

至此完成ZedBoard开发板的环境搭建的简单测试。

ZedBoard开发板学习记录(一)之开发环境的搭建(Ubuntu16.04)以及运行HelloWorld程序的测试的更多相关文章

  1. JZ2440开发板学习 1. 刚接触开发板, 安装驱动

    一. jtag和串口驱动 1. 驱动下载 http://pan.baidu.com/s/1pJkAHJH 2. 驱动安装 禁用win10的驱动数字签名 http://www.100ask.org/bb ...

  2. 假期任务一:安装好JAVA开发环境并且在Eclipse上面成功运行HelloWorld程序

    (本周主要做了java环境的安装,安装完jdk后又安装了eclipse,平均每天两小时Java吧,这周敲代码的时间比较少,大多是在b站看java入门视频和菜鸟教程的基础语法,也就打开eclipse验证 ...

  3. 【转帖】4412ARM开发板学习笔记(一)

    本文转自迅为论坛:http://www.topeetboard.com 新手在进行开发学习前,建议先看01-迅为电子开发板入门视频.对开发板和开发环境有一定的了解后,不要盲目接线开机.以下是个人的一点 ...

  4. Nvidia Jetson TX2开发板学习历程(1)- 详细开箱、上电过程

    考试周已经结束了,开发板也已经到了.希望借着这个假期能够好好的利用这块开发板学习Linux系统以及Tensorflow的相关知识. 我打算将学习历程通过博客的方式写出来,作为自己的笔记,也可以供以后拿 ...

  5. 【STM32 .Net MF开发板学习-05】PC通过Modbus协议远程操控开发板

    从2002年就开始接触Modbus协议,以后陆续在PLC.DOS.Windows..Net Micro Framework等系统中使用了该协议,在我以前写的一篇博文中详细记载了这一段经历,有兴趣的朋友 ...

  6. samrt210开发板ping-系列问题(开发板ping通主机,主机ping通虚拟机,唯独~开发板ping不通虚拟机)

    硬件:PC机.虚拟机(Linux).开发板(smart210) 常用模型: 注:1).有线网卡与无线网不可同连一个路由器,不可在同网段: 2).vmware选择桥接模式,虚拟网络适配器选定具体的网卡名 ...

  7. 【开发板试用报告】鸿蒙OS环境搭建及代码烧录

    鸿蒙系统的代码编译环境需要linux系统,软件开发和代码烧录需要windows环境. Linux环境 参考官方链接:https://gitee.com/openharmony/docs/blob/ma ...

  8. android学习点滴一:android环境的搭建

    东一点西一点,很多时间都浪费了.是该系统性的做好自己的东西了. <android学习点滴一:android环境的搭建> [环境变量]变量名:JAVA_HOME变量值:C:\Java\jdk ...

  9. STM32F042开发板学习实践

    之前有粗略地学习过stm32F103的理论知识,但仅GPIO的配置.时钟配置就让人望而却步.现在手头有Nucleo STM32F042的开发板,而且ST已经推出STM32CubeMx图形化的工具软件, ...

随机推荐

  1. 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较

    数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以删除某一行:也可以在不删除表的情况下(即意味着表的结构.属性.索引完整)删除所有行) 语法:删除某一行:Delete From 表名 ...

  2. (转)JVM类生命周期概述:加载时机与加载过程

    原文地址: http://blog.csdn.net/justloveyou_/article/details/72466105 JVM类加载机制主要包括两个问题:类加载的时机与步骤 和 类加载的方式 ...

  3. Cygwin-添加到右键菜单脚本--一键安装、卸载

    平时习惯用一些linux命令来完成工作,在Windows上有cygwin和gitbash两个选择.这两个我都装了. 相对来说cygwin支持的功能更多一些,但是它没有默认绑定到右键菜单.为此,我想到用 ...

  4. 前端页面卡顿、也许是DOM操作惹的祸?

    界面上UI的更改都是通过DOM操作实现的,并不是通过传统的刷新页面实现 的.尽管DOM提供了丰富接口供外部调用,但DOM操作的代价很高,页面前端代码的性能瓶颈也大多集中在DOM操作上,所以前端性能优化 ...

  5. Appium python自动化测试系列之Android知识讲解(三)

    ​3.1 ADB工具讲解 3.1.1 什么是ADB呢? 我们不去解释官方语言的翻译,给大家说一个通熟易懂的说法,ADB我理解为他就是电脑和手机连接的桥梁.此连接不是充电的连接,大家不要混淆,说他是一个 ...

  6. 起名字好难啊!(初识Django)

    这次我们将实现一个简单的登录注册功能,并吧相应的数据写入数据库: 做这件事之前我已经在数据库中新建了两张表(当然一张表也可以用,先注册后登录嘛···)    两张结构很简单的数据表:↓ 接下来就该干正 ...

  7. Spring装配Bean之XML装配bean

    在Spring刚出现的时候,XML是描述配置的主要方式,在Spring的名义下,我们创建了无数行XML代码.在一定程度上,Spring成为了XML的同义词. 现在随着强大的自动化配置和Java代码的配 ...

  8. crontab的使用方法

    cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业. /sbin/service crond start //启动服务 /sbin/service crond stop // ...

  9. LeetCode 643. Maximum Average Subarray I (最大平均值子数组之一)

    Given an array consisting of n integers, find the contiguous subarray of given length k that has the ...

  10. java swing中Timer类的学习

    最近在完成学校课程的java平时作业,要实现一个计时器,包含开始.暂停以及重置三个功能.由于老师规定要用这个timer类,也就去学习了一下,顺便记录一下. 首先呢去查了一下java手册上的东西,发现t ...