ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2

ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2

  • Petalinux 2018.2安装
    • Step1:下载文件
    • Step2:安装依赖包
    • Step3:安装petalinux
  • 导入硬件配置
    • Step1:新建vivado工程
    • Step2:生成fsbl
    • Step3:新建petalinux工程
  • 配置并编译
    • Step1:外设选择
    • Step2:选择boot存储位置
    • Step3:选择kernel存储位置
    • Step4:取消tftpboot选项
    • Step5:编译
  • 生成并烧录
    • Step1:生成boo.bin
  • 注意事项

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工程

  1. 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没用到
  2. 配置DDR,我这里用1G的DDR
  3. 依次执行Create HDL Wrapper > Generate Output Product > Generate Bitstream,执行完成后,将bit导出并且launch SDK

Step2:生成fsbl

  1. 在SDK中选择新建project,然后选择下图所示Zynq_FSBL
    ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第1张图片
  2. 点击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:外设选择

ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第2张图片
ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第3张图片
ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第4张图片
ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第5张图片

Step2:选择boot存储位置

ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第6张图片

Step3:选择kernel存储位置

ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第7张图片

Step4:取消tftpboot选项

ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第8张图片

Step5:编译

#编译petalinux
petalinux-build

生成并烧录

Step1:生成boo.bin

  1. 将生成的u-boot.elf,image.ub拷贝到windows下
  2. 与fsbl.elf共同生成一个boot.bin
  3. 在SDK中选择Create Boot Image,按照fsbl.elf,*.bit,u-boot.elf,image.ub的顺序加入到列表中,其中image.ub的offset输入0x520000
    ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第9张图片
    点击生成boot.bin文件。 我这里生成了一个16.4m的boot.bin
    最后通过下载器烧写qspi flash,启动就可以看到打印了。
    用户名密码都是root:
    在这里插入图片描述
    成功登陆。

注意事项

  1. 在最后生成boot.bin的时候选择的offset的位置可以更改,在petalinux-config中我们可以修改每个部分的存放位置,从下图可以看出0-5M的位置存放的是boot(5M),5M-5.125M的位置存放bootenv(128KB),5.125M-15.625M存放kernel(10.5M),剩下的没用到
    ZYNQ-Linux学习笔记(3)-导入硬件,配置,编译,生成,烧录 Petalinux 2018.2_第10张图片
  2. 如果需要打印fsbl的调试信息,可以在fsbl所依赖的Standalone bsp中的串口输出选择uart0,这里是根据实际使用的串口更改的,如果用其他的可以自行更改。
    在这里插入图片描述
    在fsbl工程中的fsbl_debug.h中加入如下语句就可以看到打印了:
	#define FSBL_DEBUG_INFO

有问题可以留言或者发邮件到[email protected]

你可能感兴趣的:(petalinux)