【Xilinx】基于MPSoC的OpenAMP实现(一)
- 一、开发环境
- 1、开发思路
- 2、下载官方bsp包
- 二、编译Linux
- 1、配置petalinux环境变量
- 2、创建工程
- 3、进入目录
- 4、设置缓存目录(重点:可离线编译,加快编译速度)
- 5、配置u-boot
- 6、配置内核
- 6.1 增加内核选项(重点:没有正确选择会导致运行时各种奇怪的报错)
- 6.2 修改设备树(重点:参考官方wiki里的OpenAMP Base Hardware Configurations章节)
- 7、配置rootfs(重点:只有选中了下面的选项,rootfs里面才会有默认的测试程序)
- 7.1 选择以下内容以确保包含 OpenAMP 应用程序和 RPMsg 模块
- 7.2 选择下面以包含默认演示测试固件文件
- 8、编译
- 9、打包生成BOOT.BIN
- 10、输出到指定目录
- 三、测试
- 1、启动u-boot
- 2、手动加载系统
- 3、执行测试命令
- 附录:参考资料
一、开发环境
本文基于Petalinux2020.2,硬件平台是ZCU106开发板,其他版本和硬件平台方法类似。
1、开发思路
基本的开发思路
- 官方开发板+官方镜像+官方demo:开发基线,如果这个测试不成功,就不用往下走了。验证这步非常简单,官方bsp已经提供了预编译的镜像和demo,只需要复制到SD卡运行即可。
- 官方开发板+自己修改后的镜像+官方demo:验证内核编译环境和打包流程是否ok。我们这篇文章主要讲解第2步,如何自定义镜像。
- 官方开发板+自己修改后的镜像+自己的demo:验证demo环境。下一篇文章会讲解第3步,如何手动编译和修改demo,OpenAMP应用程序的主要框架和流程。
- 自己的硬件+自己修改后的镜像+自己的demo:正式的产品验证
2、下载官方bsp包
从官网下载xilinx-zcu106-v2020.2-final.bsp文件(需要注册账号才能下载)。这个文件有1.7G,主要是因为里面包含了预编译的镜像用于直接测试,这个目录比较大。另外还包含的Vivado工程文件。跟软件开发相关的主要是project-spec目录下的文件,因此我把预编译和Vivado工程删除,重新打了一个包,大概为17M。
https://download.csdn.net/download/aatu/88354560
官网链接下载方式:按红色箭头找到zcu106对应的压缩包
https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/archive.html
二、编译Linux
详细步骤参考这个链接,以下是我的命令记录
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2423488521/OpenAMP+Project+Build+Process
1、配置petalinux环境变量
source /opt/xilinx/p202/settings.sh
2、创建工程
petalinux-create -t project -s xilinx-zcu106-v2020.2-final.bsp
3、进入目录
cd xilinx-zcu106-2020.2/
4、设置缓存目录(重点:可离线编译,加快编译速度)
gedit project-spec/meta-user/conf/petalinuxbsp.conf
DL_DIR = "/opt/xilinx/p202/downloads"
SSTATE_DIR = "/opt/xilinx/p202/sstate/aarch64"
RM_WORK_EXCLUDE += "linux-xlnx"
RM_WORK_EXCLUDE += "u-boot-xlnx"
5、配置u-boot
petalinux-config -c u-boot
6、配置内核
petalinux-config -c kernel
6.1 增加内核选项(重点:没有正确选择会导致运行时各种奇怪的报错)
gedit project-spec/meta-user/recipes-kernel/linux/linux-xlnx/bsp.cfg
CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_RPMSG_CHAR=m
CONFIG_RPMSG_VIRTIO=m
CONFIG_RPMSG=m
CONFIG_VIRTIO=m
CONFIG_REMOTEPROC=y
CONFIG_ZYNQMP_R5_REMOTEPROC=m
CONFIG_SPARSEMEM_VMEMMAP=y
6.2 修改设备树(重点:参考官方wiki里的OpenAMP Base Hardware Configurations章节)
在以下路径包含了一个openamp的设备树例子,用这个文件覆盖默认的system-user.dtsi
/project-spec/meta-user/recipes-bsp/device-tree/files/openamp.dtsi
cd project-spec/meta-user/recipes-bsp/device-tree/files/
cp openamp.dtsi system-user.dtsi
cd ../../../../../
openamp.dtsi的完整内容如下
/ {reserved-memory {#address-cells = <2>;#size-cells = <2>;ranges;rpu0vdev0vring0: rpu0vdev0vring0@3ed40000 {no-map;reg = <0x0 0x3ed40000 0x0 0x4000>;};rpu0vdev0vring1: rpu0vdev0vring1@3ed44000 {no-map;reg = <0x0 0x3ed44000 0x0 0x4000>;};rpu0vdev0buffer: rpu0vdev0buffer@3ed48000 {no-map;reg = <0x0 0x3ed48000 0x0 0x100000>;};rproc_0_reserved: rproc@3ed00000 {no-map;reg = <0x0 0x3ed00000 0x0 0x40000>;};};zynqmp-rpu {compatible = "xlnx,zynqmp-r5-remoteproc-1.0";#address-cells = <2>;#size-cells = <2>;ranges;core_conf = "split";reg = <0x0 0xFF9A0000 0x0 0x10000>;r5_0: r5@0 {#address-cells = <2>;#size-cells = <2>;ranges;memory-region = <&rproc_0_reserved>, <&rpu0vdev0buffer>, <&rpu0vdev0vring0>, <&rpu0vdev0vring1>;pnode-id = <0x7>;mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>;mbox-names = "tx", "rx";tcm_0_a: tcm_0@0 {reg = <0x0 0xFFE00000 0x0 0x10000>;pnode-id = <0xf>;};tcm_0_b: tcm_0@1 {reg = <0x0 0xFFE20000 0x0 0x10000>;pnode-id = <0x10>;};};};zynqmp_ipi1 {compatible = "xlnx,zynqmp-ipi-mailbox";interrupt-parent = <&gic>;interrupts = <0 29 4>;xlnx,ipi-id = <7>;#address-cells = <1>;#size-cells = <1>;ranges;/* APU<->RPU0 IPI mailbox controller */ipi_mailbox_rpu0: mailbox@ff990600 {reg = <0xff990600 0x20>,<0xff990620 0x20>,<0xff9900c0 0x20>,<0xff9900e0 0x20>;reg-names = "local_request_region","local_response_region","remote_request_region","remote_response_region";#mbox-cells = <1>;xlnx,ipi-id = <1>;};};
};
7、配置rootfs(重点:只有选中了下面的选项,rootfs里面才会有默认的测试程序)
petalinux-config -c rootfs
7.1 选择以下内容以确保包含 OpenAMP 应用程序和 RPMsg 模块
Petalinux Package Groups-> packagegroup-petalinux-openamp
7.2 选择下面以包含默认演示测试固件文件
Filesystem Packages --->misc --->openamp-fw-echo-testd --->[*] openamp-fw-echo-testdopenamp-fw-mat-muld --->[*] openamp-fw-mat-muldopenamp-fw-rpc-demo --->[*] openamp-fw-rpc-demo
8、编译
time petalinux-build
前面加time是用来统计编译时间
9、打包生成BOOT.BIN
cd images/linux/
petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit --force
cd ../../
10、输出到指定目录
把文件复制到sd卡
cd images/linux/
cp BOOT.BIN /media/sf_xilinx_share/
cp image.ub /media/sf_xilinx_share/
cp system.dtb /media/sf_xilinx_share/
cd ../../
三、测试
1、启动u-boot
插入SD卡,打开电源,按任意键打断启动,进入u-boot
Xilinx Zynq MP First Stage Boot Loader
Release 2020.2 Sep 18 2023 - 05:49:48
NOTICE: ATF running on XCZU7EG/EV/silicon v4/RTL5.1 at 0xfffea000
NOTICE: BL31: v2.2(release):xilinx_rebase_v2.2_2020.1-10-ge6eea88b1
NOTICE: BL31: Built : 05:35:06, Sep 18 2023U-Boot 2020.01 (Sep 18 2023 - 05:37:52 +0000)Model: ZynqMP ZCU106 RevA
Board: Xilinx ZynqMP
DRAM: 4 GiB
PMUFW: v1.1
EL Level: EL2
Chip ID: zu7e
NAND: 0 MiB
MMC: mmc@ff170000: 0
In: serial@ff000000
Out: serial@ff000000
Err: serial@ff000000
Bootmode: LVL_SHFT_SD_MODE1
Reset reason: EXTERNAL
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-idWarning: ethernet@ff0e0000 using MAC address from ROM
eth0: ethernet@ff0e0000
Hit any key to stop autoboot: 0
ZynqMP>
2、手动加载系统
以下两种方式任选其一
方式一:image.ub包含了dtb和rootfs
fatload mmc 0 0x10000000 image.ub
bootm 0x10000000
方式二:单独指定每一个文件的加载
fatload mmc 0 0x10000000 Image &&&& fatload mmc 0 0x2000000 system.dtb &&&& fatload mmc 0 0x2A00000 rootfs.cpio.gz.u-boot
booti 0x10000000 0x2A00000 0x2000000
然后就进入Linux启动过程,输入用户名root,密码root进入Linux控制台
ZynqMP> fatload mmc 0 0x10000000 image.ub
86051240 bytes read in 5649 ms (14.5 MiB/s)
ZynqMP> bootm 0x10000000
## Loading kernel from FIT Image at 10000000 ...Using 'conf@system-top.dtb' configurationTrying 'kernel@1' kernel subimageDescription: Linux kernelType: Kernel ImageCompression: gzip compressedData Start: 0x100000e8Data Size: 8453743 Bytes = 8.1 MiBArchitecture: AArch64OS: LinuxLoad Address: 0x00080000Entry Point: 0x00080000Hash algo: sha256Hash value: ba05b9e9882d244e61bc3769d8aee205cb61304073025b6e95eefa1f4ada21b6Verifying Hash Integrity ... sha256+ OK
## Loading ramdisk from FIT Image at 10000000 ...Using 'conf@system-top.dtb' configurationTrying 'ramdisk@1' ramdisk subimageDescription: petalinux-image-minimalType: RAMDisk ImageCompression: uncompressedData Start: 0x1081d710Data Size: 77540640 Bytes = 73.9 MiBArchitecture: AArch64OS: LinuxLoad Address: unavailableEntry Point: unavailableHash algo: sha256Hash value: ccfd8efa35240cb60bd2084162920ff95980dd55db47b3f38e99847ca4b8480dVerifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 10000000 ...Using 'conf@system-top.dtb' configurationTrying 'fdt@system-top.dtb' fdt subimageDescription: Flattened Device Tree blobType: Flat Device TreeCompression: uncompressedData Start: 0x10810068Data Size: 54744 Bytes = 53.5 KiBArchitecture: AArch64Hash algo: sha256Hash value: 84e7520e602a17eab2a18e988e8f28dd3b7eca74a4acaa562f9341a1438cbcebVerifying Hash Integrity ... sha256+ OKBooting using the fdt blob at 0x10810068Uncompressing Kernel ImageLoading Ramdisk to 7460d000, end 78fffd20 ... OKLoading Device Tree to 000000000ffef000, end 000000000ffff5d7 ... OKStarting kernel ...[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.4.0-xilinx-v2020.2 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP Mon Sep 18 05:34:06 UTC 2023
[ 0.000000] Machine model: ZynqMP ZCU106 RevA
[ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[ 0.000000] printk: bootconsole [cdns0] enabled
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 256 MiB at 0x0000000064400000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.1
[ 0.000000] percpu: Embedded 22 pages/cpu s49880 r8192 d32040 u90112
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] Speculative Store Bypass Disable mitigation not required
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1031617
[ 0.000000] Kernel command line: earlycon clk_ignore_unused
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x7bf00000-0x7ff00000] (64MB)
[ 0.000000] Memory: 3689608K/4191968K available (12092K kernel code, 740K rwdata, 3764K rodata, 768K init, 562K bss, 240216K reserved, 262144K cma-reserved)
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] random: get_random_bytes called from start_kernel+0x2a8/0x42c with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x170f8de2d3, max_idle_ns: 440795206112 ns
[ 0.000003] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511101ns
[ 0.008347] Console: colour dummy device 80x25
[ 0.012376] printk: console [tty0] enabled
[ 0.016439] printk: bootconsole [cdns0] disabled
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.4.0-xilinx-v2020.2 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP Mon Sep 18 05:34:06 UTC 2023
[ 0.000000] Machine model: ZynqMP ZCU106 RevA
[ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[ 0.000000] printk: bootconsole [cdns0] enabled
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 256 MiB at 0x0000000064400000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.1
[ 0.000000] percpu: Embedded 22 pages/cpu s49880 r8192 d32040 u90112
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] Speculative Store Bypass Disable mitigation not required
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1031617
[ 0.000000] Kernel command line: earlycon clk_ignore_unused
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x7bf00000-0x7ff00000] (64MB)
[ 0.000000] Memory: 3689608K/4191968K available (12092K kernel code, 740K rwdata, 3764K rodata, 768K init, 562K bss, 240216K reserved, 262144K cma-reserved)
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] random: get_random_bytes called from start_kernel+0x2a8/0x42c with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x170f8de2d3, max_idle_ns: 440795206112 ns
[ 0.000003] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511101ns
[ 0.008347] Console: colour dummy device 80x25
[ 0.012376] printk: console [tty0] enabled
[ 0.016439] printk: bootconsole [cdns0] disabled
[ 0.021040] Calibrating delay loop (skipped), value calculated using timer frequency.. 199.98 BogoMIPS (lpj=399960)
[ 0.021053] pid_max: default: 32768 minimum: 301
[ 0.021204] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.021225] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.022207] ASID allocator initialised with 32768 entries
[ 0.022266] rcu: Hierarchical SRCU implementation.
[ 0.022612] EFI services will not be available.
[ 0.022744] smp: Bringing up secondary CPUs ...
[ 0.023083] Detected VIPT I-cache on CPU1
[ 0.023113] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.023473] Detected VIPT I-cache on CPU2
[ 0.023492] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.023821] Detected VIPT I-cache on CPU3
[ 0.023840] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.023887] smp: Brought up 1 node, 4 CPUs
[ 0.023919] SMP: Total of 4 processors activated.
[ 0.023927] CPU features: detected: 32-bit EL0 Support
[ 0.023934] CPU features: detected: CRC32 instructions
[ 0.023967] CPU: All CPU(s) started at EL2
[ 0.023983] alternatives: patching kernel code
[ 0.024815] devtmpfs: initialized
[ 0.030766] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.030790] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.036382] xor: measuring software checksum speed
[ 0.073126] 8regs : 2375.000 MB/sec
[ 0.113152] 32regs : 2724.000 MB/sec
[ 0.153182] arm64_neon: 2365.000 MB/sec
[ 0.153191] xor: using function: 32regs (2724.000 MB/sec)
[ 0.153240] pinctrl core: initialized pinctrl subsystem
[ 0.153620] DMI not present or invalid.
[ 0.153872] NET: Registered protocol family 16
[ 0.154753] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.154782] audit: initializing netlink subsys (disabled)
[ 0.154909] audit: type=2000 audit(0.148:1): state=initialized audit_enabled=0 res=1
[ 0.155278] cpuidle: using governor menu
[ 0.155359] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.155503] Serial: AMBA PL011 UART driver
[ 0.169120] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.169137] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.169147] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.169156] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 1.231968] cryptd: max_cpu_qlen set to 1000
[ 1.254745] DRBG: Continuing without Jitter RNG
[ 1.329990] raid6: neonx8 gen() 1564 MB/s
[ 1.398029] raid6: neonx8 xor() 1450 MB/s
[ 1.466097] raid6: neonx4 gen() 1488 MB/s
[ 1.534117] raid6: neonx4 xor() 1406 MB/s
[ 1.602201] raid6: neonx2 gen() 1115 MB/s
[ 1.670222] raid6: neonx2 xor() 1119 MB/s
[ 1.738319] raid6: neonx1 gen() 733 MB/s
[ 1.806319] raid6: neonx1 xor() 743 MB/s
[ 1.874378] raid6: int64x8 gen() 1165 MB/s
[ 1.942447] raid6: int64x8 xor() 758 MB/s
[ 2.010488] raid6: int64x4 gen() 966 MB/s
[ 2.078545] raid6: int64x4 xor() 710 MB/s
[ 2.146648] raid6: int64x2 gen() 666 MB/s
[ 2.214636] raid6: int64x2 xor() 532 MB/s
[ 2.282672] raid6: int64x1 gen() 438 MB/s
[ 2.350791] raid6: int64x1 xor() 363 MB/s
[ 2.350799] raid6: using algorithm neonx8 gen() 1564 MB/s
[ 2.350807] raid6: .... xor() 1450 MB/s, rmw enabled
[ 2.350814] raid6: using neon recovery algorithm
[ 2.351217] iommu: Default domain type: Translated
[ 2.351435] SCSI subsystem initialized
[ 2.351583] usbcore: registered new interface driver usbfs
[ 2.351620] usbcore: registered new interface driver hub
[ 2.351651] usbcore: registered new device driver usb
[ 2.351688] mc: Linux media interface: v0.10
[ 2.351712] videodev: Linux video capture interface: v2.00
[ 2.351735] pps_core: LinuxPPS API ver. 1 registered
[ 2.351743] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 2.351760] PTP clock support registered
[ 2.351784] EDAC MC: Ver: 3.0.0
[ 2.352181] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[ 2.352405] zynqmp-ipi-mbox mailbox@ff990600: Registered ZynqMP IPI mbox with TX/RX channels.
[ 2.352509] FPGA manager framework
[ 2.352664] Advanced Linux Sound Architecture Driver Initialized.
[ 2.352928] Bluetooth: Core ver 2.22
[ 2.352955] NET: Registered protocol family 31
[ 2.352963] Bluetooth: HCI device and connection manager initialized
[ 2.352975] Bluetooth: HCI socket layer initialized
[ 2.352984] Bluetooth: L2CAP socket layer initialized
[ 2.353001] Bluetooth: SCO socket layer initialized
[ 2.353265] clocksource: Switched to clocksource arch_sys_counter
[ 2.353363] VFS: Disk quotas dquot_6.6.0
[ 2.353411] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 2.357484] NET: Registered protocol family 2
[ 2.357832] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[ 2.357885] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 2.358096] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[ 2.358496] TCP: Hash tables configured (established 32768 bind 32768)
[ 2.358572] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 2.358651] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 2.358815] NET: Registered protocol family 1
[ 2.359093] RPC: Registered named UNIX socket transport module.
[ 2.359103] RPC: Registered udp transport module.
[ 2.359110] RPC: Registered tcp transport module.
[ 2.359117] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 2.359377] PCI: CLS 0 bytes, default 64
[ 2.359485] Trying to unpack rootfs image as initramfs...
[ 6.179699] Freeing initrd memory: 75720K
[ 6.266346] Initialise system trusted keyrings
[ 6.266456] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[ 6.267276] NFS: Registering the id_resolver key type
[ 6.267296] Key type id_resolver registered
[ 6.267303] Key type id_legacy registered
[ 6.267315] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 6.267338] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 6.282293] NET: Registered protocol family 38
[ 6.282306] Key type asymmetric registered
[ 6.282314] Asymmetric key parser 'x509' registered
[ 6.282346] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 6.282357] io scheduler mq-deadline registered
[ 6.282365] io scheduler kyber registered
[ 6.284478] ps_pcie_dma init()
[ 6.309111] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 6.310312] Serial: AMBA driver
[ 6.313072] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 6.317329] brd: module loaded
[ 6.321754] loop: module loaded
[ 6.322733] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 6.324060] libphy: Fixed MDIO Bus: probed
[ 6.325158] tun: Universal TUN/TAP device driver, 1.6
[ 6.325242] CAN device driver interface
[ 6.326223] usbcore: registered new interface driver asix
[ 6.326266] usbcore: registered new interface driver ax88179_178a
[ 6.326293] usbcore: registered new interface driver cdc_ether
[ 6.326321] usbcore: registered new interface driver net1080
[ 6.326348] usbcore: registered new interface driver cdc_subset
[ 6.326376] usbcore: registered new interface driver zaurus
[ 6.326413] usbcore: registered new interface driver cdc_ncm
[ 6.327406] usbcore: registered new interface driver uas
[ 6.327444] usbcore: registered new interface driver usb-storage
[ 6.327885] rtc_zynqmp ffa60000.rtc: registered as rtc0
[ 6.327948] i2c /dev entries driver
[ 6.329807] usbcore: registered new interface driver uvcvideo
[ 6.329816] USB Video Class driver (1.1.1)
[ 6.330764] Bluetooth: HCI UART driver ver 2.3
[ 6.330775] Bluetooth: HCI UART protocol H4 registered
[ 6.330783] Bluetooth: HCI UART protocol BCSP registered
[ 6.330805] Bluetooth: HCI UART protocol LL registered
[ 6.330813] Bluetooth: HCI UART protocol ATH3K registered
[ 6.330833] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 6.330879] Bluetooth: HCI UART protocol Intel registered
[ 6.330900] Bluetooth: HCI UART protocol QCA registered
[ 6.330933] usbcore: registered new interface driver bcm203x
[ 6.330966] usbcore: registered new interface driver bpa10x
[ 6.330996] usbcore: registered new interface driver bfusb
[ 6.331027] usbcore: registered new interface driver btusb
[ 6.331071] usbcore: registered new interface driver ath3k
[ 6.331193] EDAC MC: ECC not enabled
[ 6.331357] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[ 6.331862] sdhci: Secure Digital Host Controller Interface driver
[ 6.331871] sdhci: Copyright(c) Pierre Ossman
[ 6.331877] sdhci-pltfm: SDHCI platform and OF driver helper
[ 6.332260] ledtrig-cpu: registered to indicate activity on CPUs
[ 6.332310] zynqmp_firmware_probe Platform Management API v1.1
[ 6.332320] zynqmp_firmware_probe Trustzone version v1.0
[ 6.335397] zynqmp-pinctrl firmware:zynqmp-firmware:pinctrl: zynqmp pinctrl initialized
[ 6.358911] alg: No test for xilinx-zynqmp-aes (zynqmp-aes)
[ 6.360821] zynqmp_aes zynqmp_aes: AES Successfully Registered
[ 6.360821]
[ 6.361078] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)
[ 6.362925] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[ 6.364723] usbcore: registered new interface driver usbhid
[ 6.364732] usbhid: USB HID core driver
[ 6.367236] ARM CCI_400_r1 PMU driver probed
[ 6.367783] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[ 6.368259] usbcore: registered new interface driver snd-usb-audio
[ 6.369209] pktgen: Packet Generator for packet performance testing. Version: 2.75
[ 6.369794] Initializing XFRM netlink socket
[ 6.369888] NET: Registered protocol family 10
[ 6.370303] Segment Routing with IPv6
[ 6.370426] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 6.370753] NET: Registered protocol family 17
[ 6.370773] NET: Registered protocol family 15
[ 6.370796] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 6.370809] can: controller area network core (rev 20170425 abi 9)
[ 6.370840] NET: Registered protocol family 29
[ 6.370849] can: raw protocol (rev 20170425)
[ 6.370857] can: broadcast manager protocol (rev 20170425 t)
[ 6.370867] can: netlink gateway (rev 20190810) max_hops=1
[ 6.370939] Bluetooth: RFCOMM TTY layer initialized
[ 6.370952] Bluetooth: RFCOMM socket layer initialized
[ 6.370969] Bluetooth: RFCOMM ver 1.11
[ 6.370981] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 6.370988] Bluetooth: BNEP filters: protocol multicast
[ 6.370998] Bluetooth: BNEP socket layer initialized
[ 6.371006] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 6.371016] Bluetooth: HIDP socket layer initialized
[ 6.371132] 9pnet: Installing 9P2000 support
[ 6.371157] Key type dns_resolver registered
[ 6.371350] registered taskstats version 1
[ 6.371358] Loading compiled-in X.509 certificates
[ 6.372295] Btrfs loaded, crc32c=crc32c-generic
[ 6.381211] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 42, base_baud = 6249375) is a xuartps
[ 7.644940] printk: console [ttyPS0] enabled
[ 7.649854] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 43, base_baud = 6249375) is a xuartps
[ 7.659200] of-fpga-region fpga-full: FPGA Region probed
[ 7.666164] xilinx-dpdma fd4c0000.dma: Xilinx DPDMA engine is probed
[ 7.672741] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
[ 7.679860] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
[ 7.686973] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success
[ 7.694084] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
[ 7.701191] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success
[ 7.708303] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success
[ 7.715412] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
[ 7.722521] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success
[ 7.729697] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success
[ 7.736811] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success
[ 7.743920] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[ 7.751033] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success
[ 7.758148] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success
[ 7.765266] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[ 7.772373] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[ 7.779486] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[ 7.786804] xilinx-psgtr fd400000.zynqmp_phy: Lane:1 type:8 protocol:4 pll_locked:yes
[ 7.797934] xilinx-dp-snd-codec fd4a0000.zynqmp-display:zynqmp_dp_snd_codec0: Xilinx DisplayPort Sound Codec probed
[ 7.808645] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm0: Xilinx DisplayPort Sound PCM probed
[ 7.816708] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm1: Xilinx DisplayPort Sound PCM probed
[ 7.825302] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: xilinx-dp-snd-codec-dai <-> xilinx-dp-snd-codec-dai mapping ok
[ 7.837742] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: xilinx-dp-snd-codec-dai <-> xilinx-dp-snd-codec-dai mapping ok
[ 7.850094] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: ASoC: no DMI vendor name!
[ 7.859595] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: Xilinx DisplayPort Sound Card probed
[ 7.869779] OF: graph: no port node found in /amba/zynqmp-display@fd4a0000
[ 7.876763] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 7.883375] [drm] No driver support for vblank timestamp query.
[ 7.889367] xlnx-drm xlnx-drm.0: bound fd4a0000.zynqmp-display (ops 0xffff800010d1b3c8)
[ 8.977277] [drm] Cannot find any crtc or sizes
[ 8.982045] [drm] Initialized xlnx 1.0.0 20130509 for fd4a0000.zynqmp-display on minor 0
[ 8.990157] zynqmp-display fd4a0000.zynqmp-display: ZynqMP DisplayPort Subsystem driver probed
[ 8.998975] ahci-ceva fd0c0000.ahci: fd0c0000.ahci supply ahci not found, using dummy regulator
[ 9.007711] ahci-ceva fd0c0000.ahci: fd0c0000.ahci supply phy not found, using dummy regulator
[ 9.016369] ahci-ceva fd0c0000.ahci: fd0c0000.ahci supply target not found, using dummy regulator
[ 9.025392] xilinx-psgtr fd400000.zynqmp_phy: Lane:3 type:3 protocol:2 pll_locked:yes
[ 9.033285] ahci-ceva fd0c0000.ahci: AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl platform mode
[ 9.042253] ahci-ceva fd0c0000.ahci: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst
[ 9.052598] scsi host0: ahci-ceva
[ 9.056160] scsi host1: ahci-ceva
[ 9.059597] ata1: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x100 irq 40
[ 9.067518] ata2: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x180 irq 40
[ 9.076219] spi-nor spi0.0: found mt25qu512a (n25q512a), expected m25p80
[ 9.083442] spi-nor spi0.0: mt25qu512a (n25q512a) (131072 Kbytes)
[ 9.089561] 4 fixed-partitions partitions found on MTD device spi0.0
[ 9.095909] Creating 4 MTD partitions on "spi0.0":
[ 9.100701] 0x000000000000-0x000000100000 : "qspi-fsbl-uboot"
[ 9.107239] 0x000000100000-0x000000600000 : "qspi-linux"
[ 9.113242] 0x000000600000-0x000000620000 : "qspi-device-tree"
[ 9.119736] 0x000000620000-0x000000c00000 : "qspi-rootfs"
[ 9.127897] macb ff0e0000.ethernet: Not enabling partial store and forward
[ 9.135244] libphy: MACB_mii_bus: probed
[ 9.142609] TI DP83867 ff0e0000.ethernet-ffffffff:0c: attached PHY driver [TI DP83867] (mii_bus:phy_addr=ff0e0000.ethernet-ffffffff:0c, irq=POLL)
[ 9.155671] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 31 (00:0a:35:07:e3:90)
[ 9.165867] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[ 9.172412] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[ 9.178934] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[ 9.185453] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[ 9.193391] dwc3 fe200000.dwc3: Failed to get clk 'ref': -2
[ 9.199179] xilinx-psgtr fd400000.zynqmp_phy: Lane:2 type:0 protocol:3 pll_locked:yes
[ 9.209473] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[ 9.214974] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[ 9.222737] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x0000000202010810
[ 9.232158] xhci-hcd xhci-hcd.0.auto: irq 50, io mem 0xfe200000
[ 9.238292] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 9.246565] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 9.253790] usb usb1: Product: xHCI Host Controller
[ 9.258666] usb usb1: Manufacturer: Linux 5.4.0-xilinx-v2020.2 xhci-hcd
[ 9.265281] usb usb1: SerialNumber: xhci-hcd.0.auto
[ 9.270439] hub 1-0:1.0: USB hub found
[ 9.274212] hub 1-0:1.0: 1 port detected
[ 9.278312] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[ 9.283804] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[ 9.291464] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[ 9.298197] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[ 9.306462] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 9.313681] usb usb2: Product: xHCI Host Controller
[ 9.318555] usb usb2: Manufacturer: Linux 5.4.0-xilinx-v2020.2 xhci-hcd
[ 9.325169] usb usb2: SerialNumber: xhci-hcd.0.auto
[ 9.330293] hub 2-0:1.0: USB hub found
[ 9.334064] hub 2-0:1.0: 1 port detected
[ 9.339093] pca953x 0-0020: 0-0020 supply vcc not found, using dummy regulator
[ 9.347029] pca953x 0-0021: 0-0021 supply vcc not found, using dummy regulator
[ 9.362763] i2c i2c-0: Added multiplexed i2c bus 3
[ 9.373722] i2c i2c-0: Added multiplexed i2c bus 4
[ 9.379659] i2c i2c-0: Added multiplexed i2c bus 5
[ 9.384640] i2c i2c-0: Added multiplexed i2c bus 6
[ 9.387480] ata2: SATA link down (SStatus 0 SControl 330)
[ 9.389433] pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544
[ 9.394839] ata1: SATA link down (SStatus 0 SControl 330)
[ 9.402147] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 33
[ 9.415162] at24 7-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
[ 9.421889] i2c i2c-1: Added multiplexed i2c bus 7
[ 9.426873] i2c i2c-1: Added multiplexed i2c bus 8
[ 9.434493] si570 9-005d: registered, current frequency 300000000 Hz
[ 9.440874] i2c i2c-1: Added multiplexed i2c bus 9
[ 9.460616] si570 10-005d: registered, current frequency 148500000 Hz
[ 9.467082] i2c i2c-1: Added multiplexed i2c bus 10
[ 9.472170] si5324 11-0069: si5328 probed
[ 9.530917] random: fast init done
[ 9.538451] si5324 11-0069: si5328 probe successful
[ 9.543361] i2c i2c-1: Added multiplexed i2c bus 11
[ 9.548433] i2c i2c-1: Added multiplexed i2c bus 12
[ 9.553429] i2c i2c-1: Added multiplexed i2c bus 13
[ 9.558420] i2c i2c-1: Added multiplexed i2c bus 14
[ 9.563303] pca954x 1-0074: registered 8 multiplexed busses for I2C switch pca9548
[ 9.571204] i2c i2c-1: Added multiplexed i2c bus 15
[ 9.576207] i2c i2c-1: Added multiplexed i2c bus 16
[ 9.581210] i2c i2c-1: Added multiplexed i2c bus 17
[ 9.586574] i2c i2c-1: Added multiplexed i2c bus 18
[ 9.591571] i2c i2c-1: Added multiplexed i2c bus 19
[ 9.596569] i2c i2c-1: Added multiplexed i2c bus 20
[ 9.601586] i2c i2c-1: Added multiplexed i2c bus 21
[ 9.606588] i2c i2c-1: Added multiplexed i2c bus 22
[ 9.611470] pca954x 1-0075: registered 8 multiplexed busses for I2C switch pca9548
[ 9.619059] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 34
[ 9.629107] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[ 9.636578] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s
[ 9.644186] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 1199880 KHz
[ 9.651635] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 1199999 KHz
[ 9.694993] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[ 9.705362] rtc_zynqmp ffa60000.rtc: setting system clock to 2023-09-18T10:38:10 UTC (1695033490)
[ 9.714237] of_cfs_init
[ 9.716693] of_cfs_init: OK
[ 9.719647] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 9.768267] mmc0: new high speed SDHC card at address e624
[ 9.774214] mmcblk0: mmc0:e624 SL16G 14.8 GiB
[ 9.783662] mmcblk0: p1
[ 9.861891] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 9.868427] clk: Not disabling unused clocks
[ 9.872946] ALSA device list:
[ 9.875908] #0: DisplayPort monitor
[ 9.879858] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 9.888474] cfg80211: failed to load regulatory.db
[ 9.893476] Freeing unused kernel memory: 768K
[ 9.913297] Run /init as init process
INIT: version 2.88 booting
[ 9.987917] /dev/root: Can't open blockdev
Starting udev
[ 10.020310] udevd[297]: starting version 3.2.8
[ 10.025121] random: udevd: uninitialized urandom read (16 bytes read)
[ 10.031615] random: udevd: uninitialized urandom read (16 bytes read)
[ 10.038123] random: udevd: uninitialized urandom read (16 bytes read)
[ 10.049872] udevd[298]: starting eudev-3.2.8
[ 10.109546] [drm] Cannot find any crtc or sizes
[ 10.113874] mali: loading out-of-tree module taints kernel.
[ 10.175363] zynqmp_r5_remoteproc ff9a0000.zynqmp-rpu: RPU core_conf: split
[ 10.182867] remoteproc remoteproc0: r5@0 is available
[ 10.475131] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
board_name:ZCU106 - board_rev:1.0
Valid Board Information Not Found, Loading rev1.0 bitstream and dtbo as default (see fpgautil -h for removing and loading different bitstream and dtbo)
Loading dtbo and bitstream from /lib/firmware/zcu106_1.0
[ 10.826016] fpga_manager fpga0: writing zcu106_1.bit.bin to Xilinx ZynqMP FPGA Manager
[ 10.987176] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
[ 10.997284] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets
[ 11.007135] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/overlay0
[ 11.016973] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/overlay1
[ 11.026806] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0
[ 11.036293] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking0
[ 11.046216] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking1
[ 11.056138] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking2
[ 11.066062] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking3
[ 11.075982] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/overlay2
[ 11.085818] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/v_frmbuf_rd_0
[ 11.096088] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_0
[ 11.106097] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/v_frmbuf_wr_0
[ 11.116366] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/vcu_0
[ 11.125941] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/encoder
[ 11.135692] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/decoder
[ 11.145438] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_1
[ 11.155447] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/vcu_ddr4_controller_0
[ 11.166412] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_2
[ 11.183164] zynqmp_clk_divider_set_rate() set divider failed for pl0_ref_div1, ret = -13
[ 11.193450] xilinx-frmbuf a00f0000.v_frmbuf_rd: failed to get ap_clk (-517)
[ 11.201403] xilinx-frmbuf a0200000.v_frmbuf_wr: Unable to locate reset property in dt
[ 11.209243] xilinx-frmbuf: probe of a0200000.v_frmbuf_wr failed with error -2
[ 11.218360] xilinx-frmbuf a00f0000.v_frmbuf_rd: Unable to locate reset property in dt
[ 11.226235] xilinx-frmbuf: probe of a00f0000.v_frmbuf_rd failed with error -2
[ 11.233850] VCU PLL: enable
[ 11.237495] xilinx-vcu xilinx-vcu: xvcu_probe: Probed successfully
Configuring packages on first boot....(This may take several minutes. Please do not power off the machine.)
Running postinst /etc/rpm-postinsts/100-sysvinit-inittab...
[ 11.262679] al5e a0100000.al5e: l2 prefetch size:17530880 (bits), l2 color bitdepth:10
[ 11.272686] al5d a0120000.al5d: l2 prefetch size:17530880 (bits), l2 color bitdepth:10
Running postinst /etc/rpm-postinsts/101-libmali-xlnx...
[ 11.331082] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[ 11.371895] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[ 11.400582] Warn: update-alternatives: libmali-xlnx has multiple providers with the same priority, please check /usr/lib/opkg/alternatives/libmali-xlnx for details
[ 11.426916] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[ 11.467248] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
update-rc.d: /etc/init.d/run-postinsts exists during rc.d purge (continuing)
INIT: Entering runlevel: 5
Configuring network interfaces... [ 11.547752] pps pps0: new PPS source ptp0
[ 11.551797] macb ff0e0000.ethernet: gem-ptp-timer ptp clock registered.
udhcpc: started, v1.31.0
udhcpc: sending discover
[ 12.553825] macb ff0e0000.ethernet eth0: link up (1000/Full)
[ 12.559510] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
udhcpc: sending discover
udhcpc: sending select for 10.0.0.176
udhcpc: lease of 10.0.0.176 obtained, lease time 86400
/etc/udhcpc.d/50default: Adding DNS 10.0.0.1
done.
Starting system message bus: dbus.
Starting haveged: haveged: listening socket at 3
haveged: haveged starting upStarting Xserver
Starting Dropbear SSH server:
Generating 2048 bit rsa key, this may take a while...X.Org X Server 1.20.5
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.10.0-693.el7.x86_64 x86_64
Current Operating System: Linux xilinx-zcu106-2020_2 5.4.0-xilinx-v2020.2 #1 SMP Mon Sep 18 05:34:06 UTC 2023 aarch64
Kernel command line: earlycon clk_ignore_unused
Build Date: 15 November 2020 12:58:03PMCurrent version of pixman: 0.38.4Before reporting problems, check http://wiki.x.orgto make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,(++) from command line, (!!) notice, (II) informational,(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Sep 18 10:38:15 2023
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
haveged: haveged: ver: 1.9.5; arch: generic; vend: ; build: (gcc 9.2.0 CTV); collect: 128Khaveged: haveged: cpu: (VC); data: 16K (D); inst: 16K (D); idx: 11/40; sz: 15456/64452haveged: haveged: tot tests(BA8): A:1/1 B:1/1 continuous tests(B): last entropy estimate 7.99974haveged: haveged: fills: 0, generated: 0 [ 15.973869] random: crng init done
[ 15.977273] random: 7 urandom warning(s) missed due to ratelimiting
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Unsupported high keycode 372 for name <I372> ignored
> X11 cannot support keycodes above 255.
> This warning only shows for the first high keycode.
Errors from xkbcomp are not fatal to the X server
D-BUS per-session daemon address is: unix:abstract=/tmp/dbus-wps8B5w89w,guid=d3189735fdda72fb6e4957be65082899
matchbox: Cant find a keycode for keysym 269025056
matchbox: ignoring key shortcut XF86Calendar=!$contactsmatchbox: Cant find a keycode for keysym 2809
matchbox: ignoring key shortcut telephone=!$datesmatchbox: Cant find a keycode for keysym 269025050
matchbox: ignoring key shortcut XF86Start=!matchbox-remote -desktop[settings daemon] Forking. run with -n to prevent fork
dbus-daemon[939]: Activating service name='org.a11y.atspi.Registry' requested by ':1.0' (uid=0 pid=941 comm="matchbox-panel --start-applets showdesktop,windows")
dbus-daemon[939]: Successfully activated service 'org.a11y.atspi.Registry'
SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry** (matchbox-desktop:940): WARNING **: 10:38:18.695: Error loading icon: Icon 'applications-multimedia' not present in theme Sato** (matchbox-desktop:940): WARNING **: 10:38:18.710: Error loading icon: Icon 'applications-multimedia' not present in theme Sato
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCJnlgllIgeX1safx2tsDouH2vK0pG5H2TeGa93BU7KaM5OX+pR5eCeHZ8e5Rs5326tzeRraG8JoIUBS/bFQIlosw2lyO4p0rcakgh6mrwzf9x0xyRqkSTK2b1Um0IM5hZ5JqY8Q9DE1LQ7jyLOSW63nDT2y8zLiO4ZxT2s58GrjgPyKsjccM9tlxYcc2nnWWipVkpVdEBNbT95OXq/hbeLkrwNkV/WD5XsQpQUQp3BWoSHX2jr443XnIVqKzmPJV9emOkqJ3OBoXj/9hQbF1rcfeDzsgIMVHbUbxqEoKUOymVbvQpBusQMBCHpRaqsJkfwj5QFJHPID3GYuwv3lOWl root@xilinx-zcu106-2020_2
Fingerprint: sha1!! 8b:27:55:53:c5:c8:78:4b:3e:fe:b2:45:70:73:3d:a6:52:50:72:3f
dropbear.
Starting internet superserver: inetd.
Starting syslogd/klogd: done
Starting tcf-agent: OKPetaLinux 2020.2 xilinx-zcu106-2020_2 /dev/ttyPS0xilinx-zcu106-2020_2 login: root
Password:
root@xilinx-zcu106-2020_2:~#
3、执行测试命令
注意在echo_test运行起来后才有/dev/rpmsg0,之前没有是正常的。
cd /lib/firmware
echo image_echo_test > /sys/class/remoteproc/remoteproc0/firmware
echo start > /sys/class/remoteproc/remoteproc0/state
echo_test
root@xilinx-zcu106-2020_2:~# cd /lib/firmware
root@xilinx-zcu106-2020_2:/lib/firmware# ls
al5d.fw al5d_b.fw al5e.fw al5e_b.fw base image_echo_test image_matrix_multiply image_rpc_demo zcu106_1.0 zcu106_2.0
root@xilinx-zcu106-2020_2:/lib/firmware# echo image_echo_test > /sys/class/remoteproc/remoteproc0/firmware
root@xilinx-zcu106-2020_2:/lib/firmware# ls /dev/rpmsg0
ls: /dev/rpmsg0: No such file or directory
root@xilinx-zcu106-2020_2:/lib/firmware# echo start > /sys/class/remoteproc/remoteproc0/state
[ 347.049482] remoteproc remoteproc0: powering up r5@0
[ 347.055166] remoteproc remoteproc0: Booting fw image image_echo_test, size 654444
Starting application...[ 347.069288] r5@0: RPU boot from TCM.
Initialize remoteproc successfully.
creating remoteproc virtio
[ 347.069470] r5@0#vdev0buffer: registered virtio0 (type 7)
[ 347.086262] remoteproc remoteproc0: remote processor r5@0 is now upntializing rpmsg shared buffer pool
initializing rpmsg vdev
initializing rpmsg vdev
Try to create rpmsg endpoint.Successfully created rpmsg endpoint.[ 347.086653] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 347.097023] virtio_rpmsg_bus virtio0: creating channel rpmsg-openamp-demo-channel addr 0x0
root@xilinx-zcu106-2020_2:/lib/firmware# ls /dev/rpmsg0
ls: /dev/rpmsg0: No such file or directory
root@xilinx-zcu106-2020_2:/lib/firmware# echo_testEcho test start Master>probe rpmsg_charOpen rpmsg dev virtio0.rpmsg-openamp-demo-channel.-1.0!
Opening file rpmsg_ctrl0.
checking /sys/class/rpmsg/rpmsg_ctrl0/rpmsg0/name
svc_name: rpmsg-openamp-demo-channel
.**************************************Echo Test Round 0 **************************************sending payload number 0 of size 17
echo test: sent : 17received payload number 0 of size 17sending payload number 1 of size 18
echo test: sent : 18received payload number 1 of size 18sending payload number 2 of size 19
echo test: sent : 19received payload number 2 of size 19......
......
中间循环输出,省略了
......
......sending payload number 470 of size 487
echo test: sent : 487received payload number 470 of size 487sending payload number 471 of size 488
echo test: sent : 488received payload number 471 of size 488**************************************Echo Test Round 0 Test Results: Error count = 0**************************************
root@xilinx-zcu106-2020_2:/lib/firmware# ls /dev/rpmsg0
/dev/rpmsg0
root@xilinx-zcu106-2020_2:/lib/firmware#
附录:参考资料
如何配置硬件
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1837006921/OpenAMP+Base+Hardware+Configurations
如何编译工程
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2423488521/OpenAMP+Project+Build+Process