petalinux-2021.1在zynq7020的flash上启动linux

这篇具有很好参考价值的文章主要介绍了petalinux-2021.1在zynq7020的flash上启动linux。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、 前言

  1. 在电脑上安装虚拟机或者找一个电脑安装linux,用于编译petalinux工程;
  2. 安装与vivado对应的petalinux-tool;
  3. 版本信息:
    1)linux:ubuntu16.04.06;
    2)vivado:v2021.1;
    3)petalinux:v2021.1;
    4)petalinux工程参考bsp:xilinx-zc702-v2021.1-final.bsp;
  4. vivado可以在linux中,也可在windows中;
  5. 离线编译包下载,在petalinux工具下载界面下面就有下载链接,如果是zynq需要下载sstate_arm_2021.1(5.5G),如果是zynqMP需要下载sstate_aarch64_2021.1(12.7G),另外还需要下载文件系统Downloads(42.7G);
  6. 感谢 https://www.freesion.com/article/25851500179/ 解决了我的关键性地址分配问题。

二、 设计流程

  1. 导出.xsa文件
    新建vivado工程,勾选zynq最小系统模块,此处官方建议最小系统需要有如下模块:
    petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

本人使用之前的板卡做测试,由于板卡串口是连接在PL侧,所以本次验证还需要fpga的bit文件,如果所有的输出引脚都在PS侧,可以不用fpga的bit文件,blockdesign如下:
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

  1. 新建petalinux工程
    ubuntu中新建文件夹,依据官方提供的bsp包新建工程,命令如下:
    //导出petalinux工具的环境变量,注意source只对本终端有效
    source ~/tools/01_petalinux/v2021/settings.sh
    //依据bsp包新建工程
    petalinux-create –t project –s ./xilinx-zc702-v2021.1-final.bsp –n petalinux_from_bsp1
    //进入工程目录
    cd petalinux_from_bsp1
  2. 配置petalinux工程
    1)导入.xsa文件
    petalinux-config –get-hw-description …/cpu_wrapper_20230413.xsa
    回车,调出工程配置界面如下:(键盘上下左右键控制设置)
    petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

2)进入“Subsystem AUTO Hardware Settings”
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

注意:此界面与v2019版及之前的版本不同,缺少了Advanced Bootable Images Storage Settings,问题不大,缺少有缺少的做法
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

进入Flash Settings,默认配置如下:
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

修改如下:
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

解释:
a) boot:大小设置为10MB,这个跟后面封装的fsbl、u-boot、bit文件大小有关,默认是5MB,有点小,本人测试时u-boot启动一直有问题,就是因为我的BOOT.bin是5.1MB,这里使用了默认配置,导致一直失败;
b) bootenv:这里没有用到,但是不能删掉,保留,但是大小设置成64KB(flash最小读写扇区);
c) kernel:这里指的是petalinux工程编译后生成的image.ub,对应于fit image,大小设置为21MB;
d) bootscr:这是v2020以后的petalinux版本才用到的,用于引导u-boot的,具体还不太懂,里面内容不多,大小设置为64KB即可;
3)进入“u-boot Configuration”–>“u-boot script configuration”–>“QSPI/OSPI image offsets”
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

将fit image offset设置为0xA10000,原因是flash中配置时boot+bootenv=0xA10000
将fit image size设置为0x1500000,与flash中的配置一致;
4)进入Yocto Settings,设置离线编译库文件路径
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

说明:
a) petalinux默认是在线编译,因为服务器在国外,首次编译时会比较慢,而且可能会失败,因此提前下载离线编译库文件使用离线编译效率比较高,但是提前下载的库文件较大,在petalinux工具下载界面下面就有下载链接,如果是zynq需要下载sstate_arm_2021.1(5.5G),如果是zynqMP需要下载sstate_aarch64_2021.1(12.7G),另外还需要下载文件系统Downloads(42.7G);
b) 进入“Add pre-mirror url”,输入downloads的路径,注意格式
file://~/tools/01_petalinux/v2021/downloads;
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

c) 进入“Local sstate feeds settings”,设置sstate_arm路径
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

d) 使能离线编译(选中,按“y”),Enable Network sstate feeds可选可不选,如果下载的离线编译库不是最新的就选上,本地没有的可以自动从网上下载
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

5)保存,退出
6)petalinuxbsp.conf文件中声明离线编译路径
打开petalinux_from_bsp1/project-spec/meta-user/conf/petalinuxbsp.conf,新增如下变量
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

如果不在此声明的话会报错
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

7)修改boot.scr启动地址
在工程目录下,进入u-boot配置界面
petalinux-config –c u-boot
选择ARM architecture,并进入ARM architecture
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

找到Boot script offset,设置为0x1F10000,原因还是flash中的地址boot+bootenv+kernel=0x1F10000。
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

8)保存,退出
4. 编译petalinux工程
工程目录下,输入命令:petalinux-build
编译成功状态如下:
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

  1. bin文件打包
    工程目录下,输入命令:petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga ./images/linux/system.bit --u-boot,可生成BOOT.BIN
    使用如下命令对生成的boot.bin、boot.scr、image.ub做“0”填充,为了匹配flash中的区域大小配置,注意填充的大小,最后一个boot.scr直接将flash剩余的地址全部做了填充
    petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

最后生成boot-all.bin,可直接下载到flash中,上电成功启动,本次测试flash大小为32MB。
petalinux-2021.1在zynq7020的flash上启动linux,zynq,FPGA设计方法,fpga开发,zynq

但是网口驱动好像有问题,继续填坑……文章来源地址https://www.toymoban.com/news/detail-727635.html

到了这里,关于petalinux-2021.1在zynq7020的flash上启动linux的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ZYNQ AC7020C的“点LED”实验

    一、创建 Vivado 工程 1、启动 Vivado 2、在 Vivado 开发环境里点击“Create New Project”,创建一个新的工程 3、弹出一个建立新工程的向导,点击“Next” 4、在弹出的对话框中输入工程名和工程存放的目录。需要注意工程路径“Project location”不能有中文、空格,路径名称也不能太长

    2024年02月20日
    浏览(39)
  • Alinx ZYNQ 7020 LED调试--in RAM

    设置拨码开关为JTAG方式 烧写LED bit stream a. 点击“Program device”烧录程序到FPGA中(重新上电程序就丢失了) b. /01_led/led.runs/impl_1/led.bit 程序烧录到Flash中 ZYNQ与以往的直接烧录Flash不同,首先必须PS,然后烧录PL,参考这个实例。

    2024年01月18日
    浏览(44)
  • AD9361+zedboard(ZYNQ7020)的SDK工程(上)

    1.准备工具 vivado2018.3 HDL源码:https://wiki.analog.com/resources/fpga/docs/releases no_os:https://github.com/analogdevicesinc/no-OS 注意:HDL源码下载的版本要与vivado一致,我这里是2018.3 HDL版本选择 2.构建vivado工程 2.1编译源文件 解压下载的HDL文件的压缩包 进入该文件夹C:AD9361hdl-hdl_2019_r1project

    2024年02月13日
    浏览(46)
  • Zynq7020 使用 Video Processing Subsystem 实现图像缩放

    没玩过图像缩放都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 目前市面上主流的FPGA图像缩放方案如下:1:Xilinx的HLS方案,该方案简单,易于实现,但只能用于Xilinx自家的FPGA;2:非纯Verilog方案,大部分代码使用Verilog实现,但中间的fifo或

    2024年01月16日
    浏览(41)
  • ZYNQ 7020 之 FPGA知识点重塑笔记一——串口通信

    目录 一:串口通信简介 二:三种常见的数据通信方式—RS232串口通信 2.1 实验任务 2.2 串口接收模块的设计 2.2.1 代码设计 2.3 串口发送模块的设计 2.3.1 代码设计 2.4 顶层模块编写 2.4.1 代码设计 2.4.2 仿真验证代码 2.4.3 仿真结果 2.4.4 板上验证        通信方式一般分为 串行

    2024年02月03日
    浏览(49)
  • 【进口控制器替代】基于Zynq-7020 FPGA的NI 8槽CompactRIO控制器

    667 MHz双核CPU,512 MB DRAM,1 GB存储容量,Zynq-7020 FPGA,更宽工作温度范围,8槽CompactRIO控制器 cRIO-9068是一款坚固耐用的无风扇嵌入式控制器,可用于高级控制和监测应用。这款软件设计控制器搭载FPGA、运行NI Linux Real-Time操作系统的实时处理器以及嵌入式用户界面功能。cRIO-906

    2024年01月25日
    浏览(62)
  • 【ALINX】FPGA ZYNQ视频教程AX7020教程—02_Vivoda初体验LED灯工程

    【ALINX】FPGA ZYNQ视频教程——AX7010/AX7020教程——FPGA实验篇 File=New Project 工程文件命名:不能出现中文、空格等非法字符 选择芯片型号: 视频定位链接 03:45 AX7020开发板速度选择“ -2 ”;型号选择“ xc7Z020clg400-2 ” ** Vivado窗口介绍 视频定位链接05:44 视频定位链接 08:43 1.选择点

    2024年02月06日
    浏览(50)
  • ZYNQ7020(黑金)纯verilog驱动4.3寸RGB接口TFT液晶屏(AN430)显示彩条

    简介 像素(Pixel):像素是指由图像的小方格组成的,这些小方快都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。 分辨率(Resolution):是屏幕图像的精密度,是指显示器所能显示的像素有多少。 像素格式(Pixel Format):将RGB三

    2024年02月06日
    浏览(46)
  • 【资料分享】Xilinx Zynq-7010/7020工业评估板规格书(双核ARM Cortex-A9 + FPGA,主频766MHz)

    创龙科技TLZ7x-EasyEVM是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC评估板,处理器集成PS端双核ARM Cortex-A9 + PL端Artix-7架构28nm可编程逻辑资源,评估板由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种

    2024年02月12日
    浏览(43)
  • 【资料分享】Xilinx Zynq-7010/7020工业核心板规格书(双核ARM Cortex-A9 + FPGA,主频766MHz)

    创龙科技SOM-TLZ7x是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC工业核心板,处理器集成PS端双核ARM Cortex-A9 + PL端Artix-7架构28nm可编程逻辑资源,通过工业级B2B连接器引出千兆网口、USB、CAN、UART等通信接口,可通过PS端加载PL端程序,且PS端和PL端

    2024年02月12日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包