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

petalinux 专栏收录该内容
5 篇文章 0 订阅

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
    在这里插入图片描述
  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:外设选择

取消fsbl选项
取消FSBL选项
选择uart0作为终端输出的串口
存储设备是挂在sd1上的

Step2:选择boot存储位置

在这里插入图片描述

Step3:选择kernel存储位置

在这里插入图片描述

Step4:取消tftpboot选项

在这里插入图片描述

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
    4.
    点击生成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),剩下的没用到
    2.
  2. 如果需要打印fsbl的调试信息,可以在fsbl所依赖的Standalone bsp中的串口输出选择uart0,这里是根据实际使用的串口更改的,如果用其他的可以自行更改。
    在这里插入图片描述
    在fsbl工程中的fsbl_debug.h中加入如下语句就可以看到打印了:
	#define FSBL_DEBUG_INFO

有问题可以留言或者发邮件到839089604@qq.com

  • 2
    点赞
  • 6
    评论
  • 14
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值