ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2
ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2
Petalinux 2018.2安装
之前使用的是2017.4,现在把petalinux升级到了2018.2的版本,后面的都是根据这个版本操作的。
Step1:下载文件
下载petalinux-v2018.2-final-installer.run,大小:6.6G,并且拷贝到/home文件夹下
Step2:安装依赖包
详情参考UG1144
Step3:安装petalinux
我这里是安装到home文件夹下,先给home文件夹权限。然后新建xilinx文件夹
sudo chmod 777 /home
cd /home
mkdir xilinx
之前的安装文件已经到拷贝到/home文件夹了,然后执行:
./petalinux-v2018.2-final-installer.run /Xilinx
导入硬件配置
Step1:新建vivado工程
- Vivado中新建工程,选择7015平台,按照设计电路选择需要的PS接口
以我的设计电路为例:
QSPI FLASH :16MB
I2C1 LIS2DS
I2C0 TEMPRATURE SENS
CAN0
CAN1
UART0 DEBUG
UART1
GPIO
SD0 SDIO WIFI
SD1 8GB EMMC
USB0
ENET0,ENET1没用到 - 配置DDR,我这里用1G的DDR
- 依次执行Create HDL Wrapper > Generate Output Product > Generate Bitstream,执行完成后,将bit导出并且launch SDK
Step2:生成fsbl
- 在SDK中选择新建project,然后选择下图所示Zynq_FSBL
- 点击Finish完成新建,等待编译完成即可生成fsbl.elf可执行文件
Step3:新建petalinux工程
在SDK文件夹下的有个.hdf后缀的文件,把这个文件拷贝到ubuntu的/home/petalinux-project下,petalinux-project是我新建的文件夹用来放petalinux的工程。
配置petalinux环境变量,创建myproject工程,导入在vivado中生成的HDF文件
#配置环境变量
source /home/xilinx/settings.sh
cd /home/petalinux-project
#生成myproject工程
petalinux-create -t project -n myproject --template zynq
cd myproject
#导入HDF文件
petalinux-config --get-hw-description=/home/petalinux-project
配置并编译
Step1:外设选择
Step2:选择boot存储位置
Step3:选择kernel存储位置
Step4:取消tftpboot选项
Step5:编译
#编译petalinux
petalinux-build
生成并烧录
Step1:生成boo.bin
- 将生成的u-boot.elf,image.ub拷贝到windows下
- 与fsbl.elf共同生成一个boot.bin
- 在SDK中选择Create Boot Image,按照fsbl.elf,*.bit,u-boot.elf,image.ub的顺序加入到列表中,其中image.ub的offset输入0x520000
点击生成boot.bin文件。 我这里生成了一个16.4m的boot.bin
最后通过下载器烧写qspi flash,启动就可以看到打印了。
用户名密码都是root:
成功登陆。
注意事项
- 在最后生成boot.bin的时候选择的offset的位置可以更改,在petalinux-config中我们可以修改每个部分的存放位置,从下图可以看出0-5M的位置存放的是boot(5M),5M-5.125M的位置存放bootenv(128KB),5.125M-15.625M存放kernel(10.5M),剩下的没用到
- 如果需要打印fsbl的调试信息,可以在fsbl所依赖的Standalone bsp中的串口输出选择uart0,这里是根据实际使用的串口更改的,如果用其他的可以自行更改。
在fsbl工程中的fsbl_debug.h中加入如下语句就可以看到打印了:
#define FSBL_DEBUG_INFO
有问题可以留言或者发邮件到[email protected]