之前的petalinux并不像ubuntu那么好用,尤其是在调试软件的前期,这里记录zedboard的ubuntu环境搭建过程。
参考文章如下:
《ZedBoard_HDMI_Ref_Des_2013_4》
《ZedBoard_Ubuntu_FAT_v2013_4》
在我的网盘可以下载:
http://pan.baidu.com/s/1qYwzXla
首先是下载并搭建vivado下的soc平台,由于zedboard使用的是adi的器件,去adi那里下载(很全,各种板子都有,我手里只有zedboard):
$git clone https://github.com/analogdevicesinc/hdl
$git checkout -b origin/hdl_2016_r1
git checkout 2016_R1也有可能是这个,随着版本不同而不同。
然后就是编译了
gsc@gsc-250:~/zynzq7000/hdmi_petalinux/hdl$ make adv7511.zed
编译完了,可以打开这个工程看看,终端下敲vivado:
下面插一张工程图:
到这里系统的bitstream已经生成了,接下来是生成fsblhe ubot,按照文档,或者直接使用sdcard里的镜像文件。
uboot使用xilinx官方的uboot版本,其git地址如下:
gsc@gsc-250:~/zynzq7000/Xilinx/u-boot-xlnx$ git remote -v
origin git://github.com/Xilinx/u-boot-xlnx.git (fetch)
origin git://github.com/Xilinx/u-boot-xlnx.git (push)
然后是配置编译,这一过程可以检查工具链以及镜像下载是否正确。
由于从SD卡加载文件系统,而非ramdisk,为避免该错误,需要对zynq-common.h文件进行修改。
执行make后会生成如下的文件:
gsc@gsc-250:~/zynzq7000/Xilinx/u-boot-xlnx$ file u-boot
u-boot: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped
将该文件重命名成u-boot.elf,这是因为xilinx的SDK可以添加.文件。
去adi官网下载最新的kernel:https://github.com/analogdevicesinc/linux
建议使用git会有版本信息在里面。
按如下命令编译内核
1901 make ARCH=arm zynq_xcomm_adv7511_defconfig
1938 make ARCH=arm uImage LOADADDR=0x8000
1979 make ARCH=arm zynq-zed-adv7511.dtb
设备树一定要重新编译,不然新的内核解析设备节点会出错。我的内核下载地址:http://pan.baidu.com/s/1hsFDgCO
按照参考文档就可以让系统起来。
参考网址
http://elinux.org/Zedboard的安卓部分
最后来张系统起来的图(左边是zynq的ubuntu,右边是自己的电脑):