ZedBoard开发板学习记录(一)之开发环境的搭建(Ubuntu16.04)以及运行HelloWorld程序的测试
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)

- 将电源线连接到ZedBoard
- 在主机和ZedBoard连接器J17(JTAG)和J14(UART)之间连接两条微型USB电缆。(编程端口(JTAG)J17,UART端口 J14)
- 将跳线设置为级联JTAG模式MIO [6:2] = GND
- 打开ZedBoard电源
- 安装JTAG电缆驱动程序(若电脑不识别zedboard,可以自行下载驱动程序CyUSBSerial)
- 通过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程序的测试的更多相关文章
- JZ2440开发板学习 1. 刚接触开发板, 安装驱动
一. jtag和串口驱动 1. 驱动下载 http://pan.baidu.com/s/1pJkAHJH 2. 驱动安装 禁用win10的驱动数字签名 http://www.100ask.org/bb ...
- 假期任务一:安装好JAVA开发环境并且在Eclipse上面成功运行HelloWorld程序
(本周主要做了java环境的安装,安装完jdk后又安装了eclipse,平均每天两小时Java吧,这周敲代码的时间比较少,大多是在b站看java入门视频和菜鸟教程的基础语法,也就打开eclipse验证 ...
- 【转帖】4412ARM开发板学习笔记(一)
本文转自迅为论坛:http://www.topeetboard.com 新手在进行开发学习前,建议先看01-迅为电子开发板入门视频.对开发板和开发环境有一定的了解后,不要盲目接线开机.以下是个人的一点 ...
- Nvidia Jetson TX2开发板学习历程(1)- 详细开箱、上电过程
考试周已经结束了,开发板也已经到了.希望借着这个假期能够好好的利用这块开发板学习Linux系统以及Tensorflow的相关知识. 我打算将学习历程通过博客的方式写出来,作为自己的笔记,也可以供以后拿 ...
- 【STM32 .Net MF开发板学习-05】PC通过Modbus协议远程操控开发板
从2002年就开始接触Modbus协议,以后陆续在PLC.DOS.Windows..Net Micro Framework等系统中使用了该协议,在我以前写的一篇博文中详细记载了这一段经历,有兴趣的朋友 ...
- samrt210开发板ping-系列问题(开发板ping通主机,主机ping通虚拟机,唯独~开发板ping不通虚拟机)
硬件:PC机.虚拟机(Linux).开发板(smart210) 常用模型: 注:1).有线网卡与无线网不可同连一个路由器,不可在同网段: 2).vmware选择桥接模式,虚拟网络适配器选定具体的网卡名 ...
- 【开发板试用报告】鸿蒙OS环境搭建及代码烧录
鸿蒙系统的代码编译环境需要linux系统,软件开发和代码烧录需要windows环境. Linux环境 参考官方链接:https://gitee.com/openharmony/docs/blob/ma ...
- android学习点滴一:android环境的搭建
东一点西一点,很多时间都浪费了.是该系统性的做好自己的东西了. <android学习点滴一:android环境的搭建> [环境变量]变量名:JAVA_HOME变量值:C:\Java\jdk ...
- STM32F042开发板学习实践
之前有粗略地学习过stm32F103的理论知识,但仅GPIO的配置.时钟配置就让人望而却步.现在手头有Nucleo STM32F042的开发板,而且ST已经推出STM32CubeMx图形化的工具软件, ...
随机推荐
- ubuntu中切换到root账号方法
ubuntu如何切换到root用户身份? 前面小编分享了ubuntu怎么开启root用户,下面小编来分享如何切到到root用户 方法/步骤 按照下面的方式打开终端工具,或者使用终端工具的快捷键Ctrl ...
- HDU2057 A + B Again
Problem Description There must be many A + B problems in our HDOJ , now a new one is coming. Give yo ...
- mysql explain 分析sql语句
鉴于最近做的事情,需要解决慢sql的问题,现补充一点sql语句性能分析之explain的使用方式! 综合返回数据情况,分析各个参数,可以了解sql 使用方法:explain + sql语句 如 :e ...
- 小程序1_app.json配置
1 window配置: window属性主要用于设置小程序的状态栏,导航条,标题,窗口背景色 直接在app.json里配置即可 2 tabBar底部导航 一般程序都会有底部导航栏,这个同样只要在app ...
- Android 设备兼容性(1)
引用: Android官网 > 开发 > API 指南 > Introduction > Device Compatibility 1. 基本概念 Android被设计成能在各 ...
- fedora 19 gnome 3.8 关闭笔记本盖子的动作
gnome-tweak-tool里没有了相关选项,但是又想让关闭盖子不挂起,后来看看才知道gnome3.8不再提供这功能,而是交给systemd来处理,所以估计用dconf-edit在gnome的po ...
- 引入js文件,ajax不执行操作
今天写了一个页面,在页面中写的可以执行,但是放到js里面,引入到页面,ajax却不执行了,仔细一看原来是路径的原因 ${pageContext.request.contextPath} 为获取项目名称 ...
- 兼容性问题--HTML+CSS
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #a5b2b9 } span.Apple-tab-span ...
- 顺序线性表 ---- ArrayList 源码解析及实现原理分析
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7738888.html ------------------------------------ ...
- mybatis 参数为list时,校验list是否为空
校验objStatusList 是否为空 <if test="objStatusList != null and objStatusList.size() > 0 "& ...