操作系统:Ubuntu 16.04 LTS
应用软件:Vivado 2016.2 + petalinux 2016.2
参考官方应用手册:ug1144-petalinux-tools-reference-guide.pdf
1、软件安装
1.1 基础软件安装
在安装应用软件前,需要为zynq开发环境安装必要的基础软件,在手册11页已经明确标明。
注意:tftp软件使用tftp-hpa,如下所示:
#1、安装 sudo apt-get install tftp-hpa tftpd-hpa #2、建立目录 sudo mkdir /tftpboot sudo chmod 777 /tftpboot #3、配置 sudo vim /etc/default/tftpd-hpa #修改以下两项 TFTP_DIRECTORY="/tftpboot" TFTP_OPTIONS="-l -c -s" #4、启动 sudo service tftpd-hpa restart
在此基础上,为了启动eclipse需要安装java开发环境和支持库:
sudo apt-get install openjdk-8-jre sudo pat-get install lib32z1 sudo pat-get install lib32ncurses5 sudo pat-get install lib32bz2-1.0 (官方说需要安装,但实际没有找到这个库) sudo pat-get install lib32stdc++6
1.2安装配置
完成1.1步骤后,需要打开tftp服务器,在后期可以直接通过petalinux给zynq更新代码
1.3安装应用软件
参考官方手册
注意:为安装目录打开所有可读可写可执行权限!
1.4应用软件配置
为了能够顺利启动vivado、sdk以及petalinux,需要做如下几步:
1、在/opt/Xilinx/SDK/2016.2/.settings64-Software_Development_Kit__SDK_.sh中增加
export SWT_GTK3=0
2、在home目录下新建文件:.bash_aliases,
在启动控制台头bash会自动调用.bash_aliases里的内容。做如下设置:
echo "<----自启动设置---->" echo "1.设置快捷操作命令" ############################ #重命名 ########################### echo "2.设置zynq sdk环境" ############################ #自动运行 ###########################export EXTERN_COMPILER=/opt/Xilinx/petaLinux/petalinux-v2016.2-final/tools/linux-i386/gcc-arm-linux-gnueabi/bin/ source /opt/Xilinx/petaLinux/petalinux-v2016.2-final/settings.sh source /opt/Xilinx/Vivado/2016.2/settings64.sh
3、安装的应用软件目录很多默认需要root权限,如果是用普通用户操作应用软件,需要为很多目录增加权限。
4、修复awk错误
官方bug报告中有如下说明:
If you are not using the AXI BFM IP, you can remove the LD_LIBRARY_PATH setting from settings64.sh
通过屏蔽.settings64-Vivado.sh中对“LD_LIBRARY_PATH”的赋值,便可修复awk错误。
2、生成嵌入式文件
2.1生成硬件描述文件
根据系统需求,使用vivado生成硬件描述文件并启动sdk生成硬件描述文件夹。
2.2根据cpu类型生成petalinux工程
petalinux-create --type project --template <CPU_TYPE> --name <PROJECT_NAME> CPU_TYPE = zynqMP 或 zynq 或 microblaze PROJECT_NAME 即为新建工程名字
2.3将硬件描述文件导入petalinux工程
在petalinux工程目录下使用命令:
petalinux-config --get-hw-description=<path-to-directory-which-contains-hardware-description-file> path-to-directory-which-contains-hardware-description-file:即为***_wrapper_hw_platform_x
此过程中,会自动生成fsbl,u-boot,内核,设备树,根文件系统等。
2.4编译生成镜像文件
在petalinux工程目录下使用命令:
petalinux-build -x distclean LANG=C petalinux-build
生成uImage文件使用命令
petalinux-package --image -c kernel --format uImage
2.5生成启动文件
在petalinux工程目录下使用命令:
petalinux-package --boot --fsbl <FSBL image> --fpga <FPGA bitstream> --u-boot FSBL image :fsbl文件位置,位于./images/linux FPGA bitstream:bit :文件,位于./images/linux
执行命令后,会在工程目录下生成boot.bin文件
2.6生成打包文件
在petalinux工程目录下使用命令:
petalinux-package --prebuilt --fpga <FPGA bitstream>
在工程目录,生成pre-built文件夹,里面有系统需要的所有文件。
默认的登录名及密码都是root
3、软件应用
规定命令的使用均在petalinux工程根目录下使用!
3.1软件仿真
使用以下命令调用软件仿真:
petalinux-boot --qemu --prebuilt 3 3代表启动等级为3,即为全部启动。 1和2分别代表启动至fsbl和u-boot,仅仅用于硬件调试
退出软件仿真使用 “ctrl+a” 松开以后按下 “x” 就可以了。
也可以为仿真指定新文件:
#调用./images/linux/zImage petalinux-boot --qemu --kernel #或者指定内核路径,设备树路径 petalinux-boot --qemu --image ./images/linux/zImage --dtb ./images/linux/system.dtb
3.2使用tftp启动目标板
在配置好tftp服务器的基础上,需要运行命令:
petalinux-config #进入 "Image Packaging Configuration". #选中 "Copy final images to tftpboot" #默认服务器文件位于“/tftpboot”,若不同还需要设置"tftpboot directory"
目标板需要连接网线,并且已经运行了U-boot(通过sd卡载入等)。在u-boot下进行如下设置:
#设置服务器ip set serverip <HOST IP ADDRESS>; saveenv #启动 run netboot