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平台总线工作原理

linux内核源码分析之设备驱动(platform)

linux platform device/driver--Platform Device和Platform_driver注册过程之代码对比

linux设备驱动之platform平台总线工作原理

Linux ALSA驱动之Platform源码分析(wm8350.c)