zynq7000 传统方式制作系统镜像
作者:互联网
zynq7000 传统方式制作系统镜像
传统方式制作系统镜像,主要是以下几个步骤:
- 配置zynq芯片
- uboot
- kernel
- device-tree
- rootfs
- 打包制作BOOT.BIN和image.ub
环境配置
系统centos7
安装xilinx的vivado、SDK软件
安装**gcc make g++**等基本编译环境
-
从xilinx的github上下载交叉编译工具gcc-arm-linux-gnueabi
-
配置交叉编译工具,建立compile.sh脚本
#!/bin/sh current_path=$(pwd) export ARCH=arm export CROSS_COMPILE=$current_path/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf- export PATH=$current_path/gcc-arm-linux-gnueabi/bin:$PATH
配置zynq芯片
使用vivado软件
- 配置zynq芯片,如使用UART0 UART1 I2C接口等,以及进行PL端开发
- 编译生成bitstream
- 导出硬件设计
- launch SDK软件,制作FSBL
uboot制作
-
从xilinx的github上下载uboot源码
-
解压后进入到uboot源码目录中
-
source compile.sh配置交叉编译环境
-
执行make menuconfig,出现配置界面
-
load zynq默认配置 u-boot-xlnx-xilinx-v2018.3/configs/zynq_zc706_defconfig,并根据需求修改配置
-
保存为.config配置
-
编译
-
编译成功后得到uboot文件
kernel制作
-
从xilinx的github上下载linux源码
-
解压后进入到linux源码目录中
-
source compile.sh配置交叉编译环境
-
执行make menuconfig 出现配置界面
-
loadzynq默认配置 linux-xlnx-xilinx-v2018.3/arch/arm/configs/xilinx_zynq_defconfig 根据需求修改配置
-
保存为.config配置
-
编译 make -j8
-
编译成功后得到kernel系统镜像
device-tree制作
-
从xilinux的github上下载设备树生成器,并将其配置到SDK的开发环境中
-
SDK软件创建设备树工程
-
根据需求修改配置,OK后就在SDK工程目录下生成设备树文件夹,这个是根据vivado软件上面的配置生成的设备树,接下来用dtc工具编译成二进制
-
根据需求修改system-top.dts
-
利用linux内核源码目录中scripts/dtc/目录的dtc工具,执行下面命令生成设备树文件
../linux-xlnx-xilinx-v2018.3/scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb system-top.dts
rootfs制作
rootfs制作的方式有很多,这里可以采用busybox制作
-
执行compile.sh脚本配置交叉编译环境
-
建立rootfs根文件系统目录
-
make menuconfig 根据需求修改配置
这里要修改Build Options–>Installtion Options 修改为之前常见的目录位置
-
make -j8
-
make install
-
安装完成后,在rootfs目录下看到安装的内容,然后利用cpio命令和gzip命令打包成rootfs.cpio.gz
打包
制作BOOT.BIN文件
由三部分组成fsbl、bitstream、uboot
制作image.ub文件
利用mkimage制作image.ub 需要kernel镜像 devicetree.dtb 以及打包的rootfs 。
-
配置its文件
-
执行下面命令生成image.ub
/home/share2/EMUShare2/kshi/xilinx/u-boot-xlnx-xilinx-v2018.3/tools/mkimage -f test.its test.ub
至此就得到BOOT.BIN和image.ub文件,可以拷贝到SD中启动板子进行测试
标签:zynq7000,make,配置,编译,linux,xilinx,镜像,制作 来源: https://blog.csdn.net/qq_33232152/article/details/121122599