版主: 51FPGA |
bluecd
最后登陆时间:2014-10-28 11:22:59 |
前段时间在zedboard上进行zynq平台的开发验证,发现这方面的文档讲的不太清楚,中间走过很多弯路。准备记录下来,对前段时间工作的整理。记录的内容主要是Linux部分的开发,不包括FSBL、U-boot、FPGA。包括开发环境构建、内核、devicetree编译等。本来想整理详细些,结果总没时间,概述一下吧。
1.主机操作系统 思路:最开始拿到zedboard开发板,我是到www.zedboard.org上找资料。这个网站资料大部分是关于这个开发板硬件的,没有开发包。后来发现SD卡release文件是digilent网站制作的,在http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,1028&Prod=ZEDBOARD页面下载了release包(http://www.digilentinc.com/Data/Products/ZEDBOARD/ZedBoard_OOB_Design.zip)。但我的最终目的不是只在开发板上玩玩,我需要自己能够编译内核,能够定制系统。后来在xilinx的wiki网站找到了xilinx linux源码包。一开始只看到内核是支持xilinx官方的zc702开发板,后来验证知道,zedboard可以与zc702使用同样的内核(后来发现microzed也可以使用这个内核)。到此,确定了开发的主要方向是依靠xilinx维护的源码进行。安装方法:
1)下载开发包
1)根据需要安装开发过程需要的组件 我使用的是subversion:
ubuntu12.04的源svn是1.6版本,这个不习惯,升级到1.7
a) 4.uboot 1)下载uboot 在https://github.com/Xilinx/u-boot-xlnx/releases 下载xilinx-v14.7标签中tar.gz格式的文件(zip格式的文件好像有问题): u-boot-xlnx-xilinx-v14.7.tar.gz 进入u-boot目录下tools目录,添加路径到环境变量: u-boot-xlnx$ cd tools tools$ export PATH=`pwd`:$PATH 不然编译内核生成uImage和制作ramdisk时会提示错误。
2)进入uboot所在目录,编译:
make ARCH=arm zynq_zed_config make ARCH=arm 编译后的u-boot为elf格式,u-boot.bin为二进制格式。 5.Linux 1)下载linux --xilinx https://github.com/Xilinx/linux-xlnx/releases 下载3.10版本内核:linux-xlnx-xilinx-v14.7.tar.gz 设置环境变量后: make ARCH=arm xilinx_zynq_defconfig make ARCH=arm menuconfig make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage
6.devicetree
编译模块(可选,用来替换rootfs中的内容):
make ARCH=arm modulesmake modules_install ARCH=arm INSTALL_MOD_PATH=../rootfs
关键词:zynq zedboard linux |
此帖由bluecd于2014-06-05 08:02:59最后编辑
|
|
jackwang
最后登陆时间:2015-01-29 08:45:11 |
LZ要是把这些链接都加上超链接就好了
|
EEPW高校联络官群:327349274。 |
|
bluecd
最后登陆时间:2014-10-28 11:22:59 |
jackwang的原帖 LZ要是把这些链接都加上超链接就好了 已经编辑超链接。 |
zwj1234
最后登陆时间:2015-01-06 14:26:12 |
devicetree.dtbde 生成xilinx有对应的命令,为什么用make...?
|
bluecd
最后登陆时间:2014-10-28 11:22:59 |
zwj1234的原帖 devicetree.dtbde 生成xilinx有对应的命令,为什么用make...? make也是调用的那些脚本命令啊,这是更高层的封装。 统一使用make,可以少记些东西。 |
bluecd
最后登陆时间:2014-10-28 11:22:59 |
再贴个ramdisk制作方法:
2)Initramfs
展开cpio: 重新制作ramdisk映像: cd current_ramdiskfs
find . | cpio -H newc -o | gzip -9 > ../rootfs.cpio.gz |
Klaus
最后登陆时间:2014-10-10 17:31:03 |
zwj1234的原帖 devicetree.dtbde 生成xilinx有对应的命令,为什么用make...? 这个指令会编译所有的.dts文件在原有dts目录下生成对应的dtb文件 |
zwj1234
最后登陆时间:2015-01-06 14:26:12 |
按照你的步奏,我在linux(虚拟机)下安装vivado,导入license不成功,请问什么原因?
|
bluecd
最后登陆时间:2014-10-28 11:22:59 |
我在linux下不用vivado,只用它的交叉编译工具链。 不过我觉得这部分应该和windows一致吧。 |
zwj1234
最后登陆时间:2015-01-06 14:26:12 |
bluecd的原帖 前段时间在zedboard上进行zynq平台的开发验证,发现这方面的文档讲的不太清楚,中间走过很多弯路。准备记录下来,对前段时间工作的整理。记录的内容主要是Linux部分的开发,不包括FSBL、U-boot、FPGA。包括开发环境构建、内核、devicetree编译等。本来想整理详细些,结果总没时间,概述一下吧。
1.主机操作系统 思路:最开始拿到zedboard开发板,我是到www.zedboard.org上找资料。这个网站资料大部分是关于这个开发板硬件的,没有开发包。后来发现SD卡release文件是digilent网站制作的,在http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,1028&Prod=ZEDBOARD页面下载了release包(http://www.digilentinc.com/Data/Products/ZEDBOARD/ZedBoard_OOB_Design.zip)。但我的最终目的不是只在开发板上玩玩,我需要自己能够编译内核,能够定制系统。后来在xilinx的wiki网站找到了xilinx linux源码包。一开始只看到内核是支持xilinx官方的zc702开发板,后来验证知道,zedboard可以与zc702使用同样的内核(后来发现microzed也可以使用这个内核)。到此,确定了开发的主要方向是依靠xilinx维护的源码进行。安装方法:
1)下载开发包
1)根据需要安装开发过程需要的组件 我使用的是subversion:
ubuntu12.04的源svn是1.6版本,这个不习惯,升级到1.7
a) 4.uboot 1)下载uboot 在https://github.com/Xilinx/u-boot-xlnx/releases 下载xilinx-v14.7标签中tar.gz格式的文件(zip格式的文件好像有问题): u-boot-xlnx-xilinx-v14.7.tar.gz 进入u-boot目录下tools目录,添加路径到环境变量: u-boot-xlnx$ cd tools tools$ export PATH=`pwd`:$PATH 不然编译内核生成uImage和制作ramdisk时会提示错误。
2)进入uboot所在目录,编译:
make ARCH=arm zynq_zed_config make ARCH=arm 编译后的u-boot为elf格式,u-boot.bin为二进制格式。 5.Linux 1)下载linux --xilinx https://github.com/Xilinx/linux-xlnx/releases 下载3.10版本内核:linux-xlnx-xilinx-v14.7.tar.gz 设置环境变量后: make ARCH=arm xilinx_zynq_defconfig make ARCH=arm menuconfig make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage
6.devicetree
编译模块(可选,用来替换rootfs中的内容):
make ARCH=arm modulesmake modules_install ARCH=arm INSTALL_MOD_PATH=../rootfs
后续可以再写个linux系统移植和u-boot移植的技术贴,期待! |