Zynq 7000系列的FPGA,已经不再是单纯的FPGA,而是强大的SoC。Zynq上集成了双硬核ARM9,ARM9上可以移植很多的系统,比如最常见的linux,VxWorks,Android等。这里以移植了linux系统为例,说说怎么修改linux系统的根文件系统。
在成功的移植了linux系统之后,会有一个根文件系统uramdisk.image.gz,它以压缩包的形式存放。首先我们要对uramdisk进行解压缩和挂载,依次使用如下命令:
dd if=uramdisk.image.gz of=ramdisk.gz bs=64 skip=1
gunzip -v ramdisk.gz
mkdir mk_ramdisk
mount -o loop ramdisk ./mk_ramdisk
cd mk_ramdisk
进入了mk_ramdisk目录之后可以ls一下,会看到linux的很多系统文件,现在就可以向相应的目录中添加自己的程序或者修改内核.ko文件。在添加文件之前要更改mk_ramdisk文件的权限,在此目录下运行 chmod 777 mk_ramdisk ,如果是向exp目录中添加可执行文件(编写的C应用程序后生成的可执行文件)用cp命令复制过去之后,也要修改其权限。
在添加完自己的文件之后,就要打包uramdisk,依次使用如下命令:
umount ./mk_ramdisk
gzip ramdisk
mkimage -A arm -T ramdisk -C gzip -d ramdisk.gz uramdisk.image.gz
这样,我们就修改完了linux系统的根文件系统,把新的uramdisk.image.gz压缩包和其他的必要配置文件放一起,使用SDK就可以生成最后下载到板卡上的mcs文件了。