PetaLinux学习笔记 1

PetaLinux学习笔记 1迟迟没有做底板,所以只能把Linux写到FLASH上了。还好这个FLASH够大。官方所说的有点问题,最后一句改成petalinux-package–boot–fsbl~/FTP_Folder/ax_peta/images/linux/zynq_fsbl.elf–fpga–u-boot–kernel–force再烧进去就可以跑了。手册ug821有说明,先搞清楚它…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

底板迟迟做不出来,所以只能把Linux写到FLASH上了。还好这个FLASH够大。使用的命令和黑金的官方教程有一点不一样,最后也算是可以从FLASH启动了,但是接下来发现没有外设只有串口也不怎么好玩。

后来还是买了底板。。。
记录一下创建一个工程以及遇到的问题吧。

  1. 设置环境:

    source /opt/pkg/petalinux/settings.sh
    source /opt/Vivado/2018.3/settings64.sh
    
  2. 创建工程

    $ petalinux-create --type project --template zynq --name project_1.petalinux
    INFO: Create project: project_1.petalinux
    INFO: New project successfully created in /home/godenfreemans/FTP_Folder/project_1/project_1.petalinux
    
  3. 导入硬件描述文件

    $ petalinux-config --get-hw-description ../project_1.sdk
    INFO: Getting hardware description...
    INFO: Rename design_1_wrapper.hdf to system.hdf
    [INFO] generating Kconfig for project
    [INFO] menuconfig project
    
    
    *** End of the configuration.
    *** Execute 'make' to start the build or try 'make help'.
    
    [INFO] sourcing bitbake
    [INFO] generating plnxtool conf
    [INFO] generating meta-plnx-generated layer
    [INFO] generating machine configuration
    [INFO] generating bbappends for project . This may take time ! 
    [INFO] generating u-boot configuration files
    [INFO] generating kernel configuration files
    [INFO] generating kconfig for Rootfs
    [INFO] oldconfig rootfs
    [INFO] generating petalinux-user-image.bb
    

    没有做什么配置,都是默认

  4. 编译
    配置一下多线程编译,这样快一点。

    $ petalinux-config
    → Yocto Settings → Parallel thread execution
    
    (12) sets number of bb threads (BB_NUMBER_THREADS)
    (12) sets number of parallel make -j (PARALLEL_MAKE)
    

    编译

    $ petalinux-build
    [INFO] building project
    [INFO] sourcing bitbake
    INFO: bitbake petalinux-user-image
    Loading cache: 100% |##############################################################################################################| Time: 0:00:00
    Loaded 3444 entries from dependency cache.
    Parsing recipes: 100% |############################################################################################################| Time: 0:00:03
    Parsing of 2569 .bb files complete (2536 cached, 33 parsed). 3445 targets, 149 skipped, 0 masked, 0 errors.
    NOTE: Resolving any missing task queue dependencies
    Initialising tasks: 100% |#########################################################################################################| Time: 0:00:06
    Checking sstate mirror object availability: 100% |#################################################################################| Time: 0:00:09
    NOTE: Executing SetScene Tasks
    NOTE: Executing RunQueue Tasks
    WARNING: petalinux-user-image-1.0-r0 do_rootfs: [log_check] petalinux-user-image: found 1 warning message in the logfile:
    [log_check] warning: %post(sysvinit-inittab-2.88dsf-r10.plnx_zynq7) scriptlet failed, exit status 1
    
    NOTE: Tasks Summary: Attempted 3065 tasks of which 3061 didn't need to be rerun and all succeeded.
    
    Summary: There was 1 WARNING message shown.
    INFO: Copying Images from deploy to images
    NOTE: Failed to copy built images to tftp dir:  /tftpboot
    [INFO] successfully built project
    

    出现了一个警告。官方对这个有解释,这个是脚本第一次运行的时候会出现的问题:AR# 71110,可以直接忽略它就行了。

    (其实在这之前编译一直都不能通过,一直在报错,解决不了,后来发现连Vivado都不能编综合了,将bash改回dash后一切都恢复正常了。)
    编译完成后,都在 project_1.petalinux/images/linux 下,看看都生成了些什么。

    -rw-r--r-- 1 godenfreemans godenfreemans  9867524 9月  20 21:12 image.ub
    -rw-r--r-- 1 godenfreemans godenfreemans  9867524 9月  20 21:12 rootfs.bin
    -rw-r--r-- 1 godenfreemans godenfreemans 13540864 9月  20 21:11 rootfs.cpio
    -rw-r--r-- 1 godenfreemans godenfreemans  5535059 9月  20 21:11 rootfs.cpio.bz2
    -rw-r--r-- 1 godenfreemans godenfreemans  6042103 9月  20 21:11 rootfs.cpio.gz
    -rw-r--r-- 1 godenfreemans godenfreemans  6042167 9月  20 21:11 rootfs.cpio.gz.u-boot
    -rw-r--r-- 1 godenfreemans godenfreemans 67108864 9月  20 21:11 rootfs.ext3
    -rw-r--r-- 1 godenfreemans godenfreemans  5583122 9月  20 21:11 rootfs.ext3.bz2
    -rw-r--r-- 1 godenfreemans godenfreemans 67108864 9月  20 21:11 rootfs.ext4
    -rw-r--r-- 1 godenfreemans godenfreemans  6106676 9月  20 21:11 rootfs.ext4.gz
    -rw-r--r-- 1 godenfreemans godenfreemans     2288 9月  20 21:12 rootfs.its
    -rw-r--r-- 1 godenfreemans godenfreemans  7602176 9月  20 21:11 rootfs.jffs2
    -rw-r--r-- 1 godenfreemans godenfreemans     5830 9月  20 21:11 rootfs.manifest
    -rw-r--r-- 1 godenfreemans godenfreemans  5563996 9月  20 21:11 rootfs.tar.bz2
    -rw-r--r-- 1 godenfreemans godenfreemans  6063718 9月  20 21:11 rootfs.tar.gz
    -rw-r--r-- 1 godenfreemans godenfreemans   290271 9月  20 21:30 rootfs.testdata.json
    -rw-r--r-- 1 godenfreemans godenfreemans  4045676 9月  20 01:26 system.bit
    -rw-r--r-- 1 godenfreemans godenfreemans    13953 9月  20 21:09 system.dtb
    -rw-r--r-- 1 godenfreemans godenfreemans  1885435 9月  20 21:12 System.map.linux
    -rw-r--r-- 1 godenfreemans godenfreemans   524024 9月  20 21:10 u-boot.bin
    -rw-r--r-- 1 godenfreemans godenfreemans  4517436 9月  20 21:10 u-boot.elf
    -rw-r--r-- 1 godenfreemans godenfreemans 24747840 9月  20 21:12 vmlinux
    -rw-r--r-- 1 godenfreemans godenfreemans  9868872 9月  20 21:12 zImage
    -rw-r--r-- 1 godenfreemans godenfreemans   444152 9月  20 21:09 zynq_fsbl.elf
    
  5. 打包
    打包很简单。
    有两种打包方式:

    $ petalinux-package --boot --fsbl --fpga --u-boot --force
    INFO: File in BOOT BIN: "/home/godenfreemans/FTP_Folder/project_1/project_1.petalinux/images/linux/zynq_fsbl.elf"
    INFO: File in BOOT BIN: "/home/godenfreemans/FTP_Folder/project_1/project_1.petalinux/project-spec/hw-description/design_1_wrapper.bit"
    INFO: File in BOOT BIN: "/home/godenfreemans/FTP_Folder/project_1/project_1.petalinux/images/linux/u-boot.elf"
    INFO: Generating Zynq binary package BOOT.BIN...
    
    
    ****** Xilinx Bootgen v2018.3
      **** Build date : Nov 15 2018-19:22:29
        ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
    
    INFO: Binary is ready.
    
    $ petalinux-package --boot --fsbl --fpga --u-boot --force --kernel
    INFO: File in BOOT BIN: "/home/godenfreemans/FTP_Folder/project_1/project_1.petalinux/images/linux/zynq_fsbl.elf"
    INFO: File in BOOT BIN: "/home/godenfreemans/FTP_Folder/project_1/project_1.petalinux/project-spec/hw-description/design_1_wrapper.bit"
    INFO: File in BOOT BIN: "/home/godenfreemans/FTP_Folder/project_1/project_1.petalinux/images/linux/u-boot.elf"
    INFO: File in BOOT BIN: "/home/godenfreemans/FTP_Folder/project_1/project_1.petalinux/images/linux/image.ub"
    INFO: Generating Zynq binary package BOOT.BIN...
    
    
    ****** Xilinx Bootgen v2018.3
      **** Build date : Nov 15 2018-19:22:29
        ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
    
    INFO: Binary is ready.
    

    区别在于打不打包image.ub这个文件,后者可以用在SPI-FLASH上启动PetaLinux。这里我用第一种。

  6. 拷贝
    给SD卡分区,和720N的U盘一样,第一分区FAT32,第二分区EXT4,将上边编译出来的BOOT.BINimage.ub拷贝到FAT32分区。

  7. 启动
    将FPGA的启动开关拨到SD卡启动。系统就可以从SD卡启动了。

整体上还是比较简单的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194667.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux 软件脱壳机,关于UPX脱壳后程序无法运行

    linux 软件脱壳机,关于UPX脱壳后程序无法运行如何实现upx的脱壳(请详细说明步骤和软件)?upx关于脱壳的命令格式如下:upx-d要脱壳的文件如:UPX-d132.EXEpEID里有个通用脱壳机,可以试试而且手工找入口点也是很简单的找pushad对应的Popad,在popad旁的跳转命令就是跳到文件的原入口点了啊D壳UPX0.89.6-1.02/1.05-1.24(Delphi)stub->Marku…

    2022年7月13日
    21
  • 51单片机最小系统的c语言,51单片机最小系统「建议收藏」

    51单片机最小系统的c语言,51单片机最小系统「建议收藏」本文内容以中心网站发布的“最小系统图片”为例进行讲解。1、为什么要讲单片机最小系统图1(51芯片+晶振+复位)=最小系统因为单片机的应用领域极为广泛,以单片机为核心的电路千奇百怪,而单片机最小系统是最基本的、也是小的不能再省略掉任何部分的系统了。尽管这样小了,但只要掌握它,就能设计出丰富多彩的电路来。2、什么是单片机最小系统很简单,单片机最小系统就是一块单片机芯片+晶振电路+复位电路,如图1所…

    2022年6月23日
    18
  • Tomcat安装(详细)

    Tomcat安装(详细)1、Tomcat下载安装​ 1、安装​ (一)Tomcat官网下载​ (二)解压​ (三)配置环境变量​ (四)启动-关闭Tomcat ​ (五)访问测试Tomcat输入http://localhost:8080网页打不开​ 2、了解配置文件及目录结构可以配置启动端口号默认端口号:8080MySQL默认:3306http:80https:443<Connectorport=”8080″protocol=”HTTP/1.1

    2022年9月14日
    3
  • 视觉slam和激光slam结合_视觉slam和激光slam

    视觉slam和激光slam结合_视觉slam和激光slam激光SLAM:早在2005年的时候,激光SLAM就已经被研究的比较透彻,框架也已初步确定。激光SLAM,是目前最稳定、最主流的定位导航方法。激光SLAM地图构建VSLAM(基于视觉的定位与建图):随着计算机视觉的迅速发展,视觉SLAM因为信息量大,适用范围广等优点受到广泛关注。视觉SLAM地图构建,图片来源:百度AI(1)基于深度摄像机的Vslam,跟…

    2022年8月23日
    8
  • 用AVX2指令集优化浮点数组求和

    用AVX2指令集优化浮点数组求和用AVX2指令集优化浮点数组求和一、AVX2指令集介绍二、代码实现0.数据生成1.普通数组求和2.AVX2指令集求和:单精度浮点(float)3.AVX2指令集求和:双精度浮点(double)三、性能测试测试环境计时方式测试内容进行性能测试第一次测试第二次测试四、总结个人猜测原因:一、AVX2指令集介绍AVX2是SIMD(单指令多数据流)指令集,支持在一个指令周期内同时对256位内存进行操作。包含乘法,加法,位运算等功能。下附Intel官网使用文档。Intel®IntrinsicsGuid

    2022年5月7日
    47
  • 手机版我的世界怎么查看自己的坐标_我的世界怎样tp坐标点

    手机版我的世界怎么查看自己的坐标_我的世界怎样tp坐标点我的世界手机版中坐标可以方便定位,但是在PE版中不像PC版那么方便可以直接查看坐标。今天4399蕾米为大家带来我的世界手机版坐标怎么看,PE版没有MOD怎么查看坐标,一起来学习一下吧!▍坐标怎么看1.在指令框中输入/tp~~~,输出指令以后就能看到自己的坐标。坐标相关的指令比图/tp/teleport/spawnpoint/setworldspawn等,都能通过~~~来表示当前位置…

    2022年9月23日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号