csdn当日记了...
之前一直用分别编译u-boot、内核,再制作镜像,非常麻烦
后来发现xilinx官方的petalinux把这些东西都整合了,并且提供了一种图形化的设置界面,可以根据自己的要求裁剪内核。
vivado2015.4在加入Debug信号后一直卡在一个地方,无法生产bitstream,干脆卸掉了,直接从win8.1中卸掉了vivado,在ubuntu16.04系统中装了vivado2017.4,同时petalinux也从15换到了2017.4(直接用掉了将近60G空间。。。)
加入调试信号后编译很通过了,PL部分很完美
用petalinux也生成了arm下的linux,但是发现vivado2017.4中不带zynq的交叉编译工具,在网上查了很多资料,都用的很老的版本--_-- ,好像还有很多人不知道vivado自带交叉编译工具,或许是以前的版本没带,后来带了?再后来又删除了?
之后在vivado安装目录下用各种方式找了半天,都没发现arm-xilinx-linux-gnueabi-gcc的文件,后来没办法,又把vivado2015.4给装上了,对比了下安装目录,发现vivado2015.4在SDK/2015.4/gnu/目录下比vivado2017多一个arm文件,然后用find命令找了一下,果然在这个文件夹下面发现了arm-xilinx-linux-gnueabi-gcc文件,同目录下还有g++,cpp,objdump等命令文件,之后再对比了两个版本的setting64.sh文件,发现他们都在PATH中添加了arm路径(明明写了arm文件路径却没有文件实体,莫非是2017的一个bug?),但是17目录下没这个文件,最后直接将整个arm文件cp过去,再在zynq上测试,然后程序就可以执行了。
在解决上述问题的过程中还发现了zynq的新大陆:在zynq上跑双系统,官方已经有了方案!以后有时间或者项目有需要再研究一下。