首先介绍一下我是用的硬件设备和环境:
本次实验使用的硬件设备和环境为:zedboard (zynq7020),vivado2018.3,petalinux2018.3,如果硬件跟我一样的小伙伴可以跟着我的步骤做。加油吧!
一、首先搭建vivado硬件平台
1. 本次用到的IP和连线为(有基础的可以按照我的bd图进行设计):
2. AXI_GPIO的配置(输出两个LED灯)
3. 并为其分配引脚:
4. 查看AXI_GPIO的地址(0x4120_0000-0x4120_FFFF)后面会用到
5. 进行编译生成bit流,并导出hdf文件(一定要包含bit流文件)
二、petalinux搭建工程
1. 将刚刚导出的hdf文件,传到ubuntu上的petalinux文件夹内
2. 创建petalinux工程
petalinux-create -t project --template zynq -n AXI_GPIO
3. 导入hdf文件,并进行配置
petalinux-config --get-hw-description /home/hwusr/AXI_GPIO
/home/hwusr/AXI_GPIO 为你刚刚拷贝的hdf文件的文件夹,(根据自己的进行修改)
4. 配置u-boot、kernel、rootfs
petalinux-config -c u-boot
petalinux-config -c kernel
petalinux-config -c rootfs
5. 编译petalinux工程
petalinux-build
6. 合成BOOT.bin文件
进入image文件夹:
petalinux-package --boot --fsbl ./zynq_fsbl.elf --fpga ./system.bit --u-boot ./u-boot.elf --force
7. 把启动文件放到SD卡,并通过SD卡启动开发板(用户和密码都是root)
8.对刚刚的AXI_GPIO的地址进行写值
写内存:
devmem 0xFFFF1001 32 0x00000001
读内存:
devmem 0xFFFF1001 32
这样就可以实现一个很简单的通过petalinux进行点灯的程序。