zynq交叉编译环境搭建

在Vivado下完之前,先把Zynq的软件编译环境安装好,可以用来重新编译基于Zynq的Linux系统,同时能写基于Zynq的C程序(其实Vivado中的SDK也能实现)。下面是具体步骤:

 

1. 电脑原有XP,为了安装Zynq的交叉编译链,又装了Ubuntu 12.04。

2. 在http://wiki.xilinx.com/zynq-tools这个页面找到ARM GNU Tool,注册Xilinx官网后可下载

3. 下载得到的文件是xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin,接着安装。安装之前需要在 Ubuntu下打开一个终端,输入命令 “sudo dpkg-reconfigure dash”,然后出现下图,选择“否”,退出。此步就是将dash改成bash,原理我不懂,只是安装刚下载那个文件的时候,需要改成bash才行。

4. 将“xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin"此文件拷贝到”主文件夹“下面,打开一个终端,运 行“sudo ./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin"。然后出现安装界面,一步一步向下安装即可。部分 截图如下

期 间会问你是否安装到一个路径,我默认安装到指定路径的(我的是/root/CodeSourcery /Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/)。同时,还会问道需不需要“Modify PATH”,我默认“修改”。

5.安装完以后,根据http://wiki.xilinx.com/zynq-tools这个页面最后一小段说明,需要修改环境变量,命令如下

打开一个终端,输入su,然后输入密码,进入root

再输入export CROSS_COMPILE=arm-xilinx-linux-gnueabi-

再输入export PATH=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/:$PATH

 

6. 然后编译一个简单的C程序,我写的如下

然后,在终端中输入先输入su进入root,然后输入“arm-xilinx-linux-gnueabi-gcc ./hello.c -g -o hello”,将C文件编译成可执行文件hello。此时的hello就是Zynq能执行的程序了。

 

7. USB转UART接上Zedboard,同时用网线把你电脑与Zedboard相连。给Zedboard加电。Ubuntu下用minicom做串口调试 助手,很好用。同时Ubuntu能直接识别Cypress的这个USB2UART芯片,串口默认对应的是/dev/ttyACM0。设置好比特率后,就能 与Zedboard交互。

同时,输入“ifconfig”命令,如下图

可 以看到Zynq不是DHCP的,默认IP是“192.168.1.10”,子网掩码是“255.255.255.0”,那么需要在Ubuntu下把网卡设 置成固定IP。比如“192.168.1.1”以及对应的子网掩码。设置完以后,可能还需重启Zedboard,你的电脑和Zedboard才能通过网线 连上。在Zynq中输入“ping 192.168.1.1”,可以看到ping通了。同时,在Ubuntu下打开浏览器,输入“192.168.1.10“,可以看到下图

8.在电脑上另开一个终端,输入“ftp 192.168.1.10”,这样可以通过ftp连接到Zedboard了,这样的话就能实现电脑与Zedboard之前相互发送文件了。

用put命令,通过ftp将刚才生成的hello文件传送到Zedbord的usr文件夹下

然后在Zynq端输入,“chmod  +x ./hello"把此hello文件加权限为可执行,然后再输入”./hello“,即可看到程序输出结果,如下图

 

 

总结:至此在Ubuntu中安装上了Zynq中ARM Core的交叉编译链,即“arm-xilinx-linux-gnueabi-”,可以用来重新编译基于Zynq的Linux系统。同时还能用其中的gcc工具编译基于Zynq的C代码。同时实现了通ftp在电脑与Zedboard之间互传文件,为后续调试提供了一丝方便。

 

这两天看了一些资料,对用软件程序控制VGA没有一丝头绪,demo中的VGA显示是完全基于PL而独立PS的,VGA接口压根就没接到PS上。有鸭梨啊!已经向Digilent和Anet的FAE发邮件询问demo实现细节等问题,期待答案!

但愿Vivado明天能下完

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在赛灵思(Xilinx)的Zynq芯片上搭建Linux系统,可以按照以下步骤进行操作: 1. 准备工作: - 下载适用于Zynq芯片的Linux内核源代码和根文件系统(Root File System)。可以从Xilinx官方网站或其他可靠来源获取。 - 确保你有一个交叉编译工具链,用于构建Linux内核和设备树文件。可以使用Xilinx提供的工具链或其他适用的交叉编译工具链。 2. 配置交叉编译工具链: - 将交叉编译工具链添加到系统的PATH环境变量中,以便可以直接使用命令行进行交叉编译。 3. 构建Linux内核: - 进入内核源代码目录,并使用交叉编译工具链进行配置。可以使用以下命令: ``` make ARCH=arm CROSS_COMPILE=<交叉编译工具链前缀> xilinx_zynq_defconfig ``` - 根据需要,可以使用`make menuconfig`命令进行更详细的内核配置。 - 使用交叉编译工具链进行编译,可以使用以下命令: ``` make ARCH=arm CROSS_COMPILE=<交叉编译工具链前缀> ``` - 编译完成后,将生成的内核映像(例如`zImage`)保存到适当的位置。 4. 构建设备树文件: - 进入内核源代码目录,并使用交叉编译工具链进行设备树配置。可以使用以下命令: ``` make ARCH=arm CROSS_COMPILE=<交叉编译工具链前缀> xilinx_zynq_defconfig ``` - 根据需要,可以使用`make menuconfig`命令进行更详细的设备树配置。 - 使用交叉编译工具链进行编译,可以使用以下命令: ``` make ARCH=arm CROSS_COMPILE=<交叉编译工具链前缀> dtbs ``` - 编译完成后,将生成的设备树文件(例如`.dtb`文件)保存到适当的位置。 5. 构建根文件系统: - 将根文件系统解压到适当的位置。可以使用以下命令: ``` tar xf <根文件系统压缩包> -C <目标目录> ``` - 根据需要,可以对根文件系统进行定制和配置。 6. 配置引导加载程序(Bootloader): - 根据你使用的引导加载程序(如U-Boot)的要求,进行相应的配置。这可能涉及到设定引导参数、设备树文件路径等。 7. 运行Linux系统: - 将Zynq芯片与计算机连接,并使用串口或网络进行通信。 - 配置引导加载程序以启动Linux内核和根文件系统。 - 在Zynq芯片上执行引导加载程序,启动Linux系统。 这些步骤提供了一个基本的概述,用于在Zynq芯片上搭建Linux系统。具体的细节和配置可能因芯片型号、开发板和系统需求而有所不同。建议参考Xilinx的文档和相关资源,以获取更详细和特定的指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值