14020.petalinux之platform-auto.h和platform-top.h
Posted xhome516
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14020.petalinux之platform-auto.h和platform-top.h相关的知识,希望对你有一定的参考价值。
文章目录
1 背景
最近想将petalinux flash启动的系统直接拷贝修改成sd启动,发现内核启动时候被卡死了,petalinux-config中 flash的 启动的3个选项修改为了SD卡启动,但是还是不好使。
https://blog.csdn.net/xiongjia516/article/details/120295713
2 SD卡启动platform-auto.h和platform-top.h
platform-auto.h
- clobstart 大块地址
- tftpboot addr filename ,从服务器下载文件到addr地址。
- mmc 主要是 SD卡和EMMC 操作指令
使用petalinux建立工程
新建工程
1、从.xas创建工程(使用 Vivado Design Suite 设置硬件参数,产生的文件)
$ petalinux-create --type project --template <PLATFORM> --name <PROJECT_NAME>
参数:
–template - 支持下列平台类型:
○ zynqMP (UltraScale+™ MPSoC)
○ zynq (Zynq-7000 器件)
○ microblaze (MicroBlaze™ CPU)
2、硬件描述<PATH-TO-HDF/DSA-DIRECTORY> 为使用vivado生成的文件
$ petalinux-config --get-hw-description=<PATH-TO-HDF/DSA-DIRECTORY>
会出现图形界面,根据自己的要求配置参数
1)kernel和uboot的源码采用petalinux内部还是外部的?此处选择外部的
![在这里插入图片描述](https://img-blog.csdnimg.cn/9ae4ebafa743409ca1466666e5d79988.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Li65LqG57u05oqk5LiW55WM5ZKM5bmzXw==,size_12,color_FFFFFF,t_70,g_se,x_16)
如果选择ext-local-src,则在此上一个图形界面上添加路径文件
输入源码路径
同理内核设置也一样:
查看使用的配置文件,这里使用默认的配置
u-boot Configuration —>
添加配置文件,默认为│xilinx_zynqmp_virt_defconfig
选择启动介质
配置uboot
petalinux-config -c u-boot
首次配置非常慢,因为要从网上下载很多东西,有时候可能会出现错误,在出现错误时,再次执行。
配置kernel
petalinux-config -c kernel
配置rootfs
petalinux-config -c rootfs
编译,这个过程非常慢,因为要下载文件,有时候会下载失败导致编译出错。
petalinux-build
编译的程序在本工程的 image/linux文件下
wy@ubuntu:/opt/pkg/petalinux/2020.2/ZYNQ/images/linux$ ls
bl31.bin image.ub rootfs.cpio.gz.u-boot system.dtb zynqmp-qemu-arm.dtb
bl31.elf pmufw.elf rootfs.jffs2 u-boot.bin zynqmp-qemu-multiarch-arm.dtb
BOOT.BIN pxelinux.cfg rootfs.manifest u-boot.elf zynqmp-qemu-multiarch-pmu.dtb
boot.scr rootfs.cpio rootfs.tar.gz vmlinux
Image rootfs.cpio.gz system.bit zynqmp_fsbl.elf
板子上所使用的文件
BOOT.BIN,image.ub
编译所有程序
也可以单独编译
petalinux-build -c kernel
Petalinux-build -c u-boot
Petalinux 常用命令
清理:
#petalinux-build -x distclean
彻底清理,build文件夹都将被清理掉
#petalinux-build -x mrproper /清理彻底/
以上是关于14020.petalinux之platform-auto.h和platform-top.h的主要内容,如果未能解决你的问题,请参考以下文章
Linux ALSA驱动之五:Linux ALSA驱动之Platform源码分析(基于Linux 5.18)
linux platform device/driver--Platform Device和Platform_driver注册过程之代码对比