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. java web 学习笔记 编码问题总结

       java web 学习笔记 编码问题总结 1.非form表单中提交的中文参数---------------------------传递给Servlet服务器时,默认以iso-8859-1解码 ...

  2. ICommand.CanExecuteChanged事件订阅对象的变化

    public class DelegateCommand : ICommand { Func<object, bool> canExecute; Action<object> ...

  3. riot.js教程【一】简介

    Riotjs简介 Riotjs是一款简单的.优雅的.组件化UI前端开发框架: 他支持自定义标签(custom tags),拥有令人愉悦的语法,优雅的API和非常小的体积: 为什么需要一个新的界面库 前 ...

  4. Windows系统下使用Jenkins 自动发布 .NET core到Linux平台下Docker

    准备工作(安装过程可以百度,已安装的可以跳过) a)     安装Jenkins,安装包下载地址:http://mirrors.tuna.tsinghua.edu.cn/jenkins/windows ...

  5. Java 内存模型- Java Memory Model

    多线程越来越多的使用,使得我们需要对它的深入理解.那么就涉及到了Java内存模型JMM.JMM是JVM的一部分,JMM定义了一个线程修改了一个共享变量,其他线程什么时候或者如何看到这个变量,如何去访问 ...

  6. UVa 1608,Non-boring sequences

    好诡异的一个题啊 紫书上关于从左边找还是从两边往中间找的讨论没有看懂,怎么一下就找到唯一的元素了(⊙_⊙?) 方法就是用的书上讲的方法,类似于uva 11572,不过这个题需要预处理存下两边的最近的相 ...

  7. Linux入门(10)——Ubuntu16.04使用pip3和pip安装numpy,scipy,matplotlib等第三方库

    安装Python3第三方库numpy,scipy,matplotlib: sudo apt install python3-pip pip3 install numpy pip3 install sc ...

  8. 【转】scatterlist && DMA

    原文:scatterlist && DMA DMA是一种无须CPU的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制.使用DMA可以是系统CPU从实际的IO数据传输过程中摆脱出 ...

  9. 同步IO和异步IO

    链接: 同步IO和异步IO socket阻塞与非阻塞,同步与异步.I/O模型 Linux的IO系统常用系统调用及分析 linux异步IO的两种方式

  10. Oracle:sqlplus前缀显示当前用户

    第一步:进入SQLPLUS的按照目录,cd $ORACLE_HOME/sqlplus/admin 第二步:查找ll     vi  glogin.sql 第三步:插入 命令行模式,Go, set sq ...