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

时间:2021-08-29 16:22:02

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

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

对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位开发库

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

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

apt-get install lib32z1

Tips:

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

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

经过查阅博客发现,该错误提示仍然缺少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

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

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

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

source  /etc/bash.bashrc

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

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

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

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

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

  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开发板

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

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

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

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

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

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

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

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

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

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

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

保存并退出:wq!

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

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

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

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

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

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

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

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

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

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

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

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