大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
底板迟迟做不出来,所以只能把Linux写到FLASH上了。还好这个FLASH够大。使用的命令和黑金的官方教程有一点不一样,最后也算是可以从FLASH启动了,但是接下来发现没有外设只有串口也不怎么好玩。
后来还是买了底板。。。
记录一下创建一个工程以及遇到的问题吧。
-
设置环境:
source /opt/pkg/petalinux/settings.sh source /opt/Vivado/2018.3/settings64.sh
-
创建工程
$ 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
-
导入硬件描述文件
$ 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
没有做什么配置,都是默认
-
编译
配置一下多线程编译,这样快一点。$ 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
-
打包
打包很简单。
有两种打包方式:$ 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。这里我用第一种。 -
拷贝
给SD卡分区,和720N的U盘一样,第一分区FAT32,第二分区EXT4,将上边编译出来的BOOT.BIN
和image.ub
拷贝到FAT32分区。 -
启动
将FPGA的启动开关拨到SD卡启动。系统就可以从SD卡启动了。
整体上还是比较简单的。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194667.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...