Поиск
Показаны результаты для тегов 'libmetal'.
-
Добрый день, подскажите, пожалуйста, если кто сталкивался. Задача: Я пытаюсь запустить libmetal demo из Xilinx UG1186 одновременно в двух процессорах R5_0 и R5_1. Настройки libmetal demo создают один /sys/class/remoteproc/remoteproc0 Соответственно, я могу запустить один экземпляр demo на процессоре R5_0 и не имею возможности запустить второй экземпляр на втором процессоре R5_1. Что я пытался сделать: Обновил Device Tree, добавив элементы для второго ядра R5_1 Пример взял из: https://github.com/Xilinx/meta-openamp/blob/rel-v2017.4/recipes-bsp/device-tree/files/zynqmp/openamp-overlay-split.dtsi Проблема: Petalinux запускает только один remoteproc0. Второй remoteproc1 отсутствует. Что я пропустил? Спасибо. Environment: Zynq UltraScale++, ядра: 4x A53 и 2x R5, Petalinux 2017.4, Vivado/SDK 2018.1, своя плата, детали в system-user.dtsi Мой system-user.dtsi прицеплен к посту. Вот выдержка, относящаяся к libmetal: reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; rproc_0_reserved: rproc@3ed000000 { no-map; reg = <0x0 0x3ed00000 0x0 0x2000000>; }; }; amba { /* Shared memory */ shm0: shm@0 { compatible = "shm_uio"; reg = <0x0 0x3ed80000 0x0 0x1000000>; }; /* IPI device */ ipi_amp: ipi@ff340000 { compatible = "ipi_uio"; reg = <0x0 0xff340000 0x0 0x1000>; interrupt-parent = <&gic>; interrupts = <0 29 4>; }; /* firmware memory nodes */ r5_0_tcm_a: tcm@ffe00000 { compatible = "mmio-sram"; reg = <0x0 0xFFE00000 0x0 0x10000>; pd-handle = <&pd_tcm_0_a>; }; r5_0_tcm_b: tcm@ffe20000 { compatible = "mmio-sram"; reg = <0x0 0xFFE20000 0x0 0x10000>; pd-handle = <&pd_tcm_0_b>; }; r5_1_tcm_a: tcm@ffe90000 { compatible = "mmio-sram"; reg = <0 0xFFE90000 0x0 0x10000>; pd-handle = <&pd_tcm_1_a>; }; r5_1_tcm_b: tcm@ffe92000 { compatible = "mmio-sram"; reg = <0 0xFFEB0000 0x0 0x10000>; pd-handle = <&pd_tcm_1_b>; }; elf_ddr_0: ddr@3ed00000 { compatible = "mmio-sram"; reg = <0x0 0x3ed00000 0x0 0x100000>; }; elf_ddr_1: ddr@3ed40000 { compatible = "mmio-sram"; reg = <0 0x3ed40000 0x0 0x40000>; }; test_r5_0: zynqmp_r5_rproc@0 { compatible = "xlnx,zynqmp-r5-remoteproc-1.0"; reg = <0x0 0xff9a0100 0 0x100>, <0x0 0xff340000 0 0x100>, <0x0 0xff9a0000 0 0x100>; reg-names = "rpu_base", "ipi", "rpu_glbl_base"; dma-ranges; core_conf = "split0"; srams = <&r5_0_tcm_a &r5_0_tcm_b &elf_ddr_0>; pd-handle = <&pd_r5_0>; interrupt-parent = <&gic>; interrupts = <0 29 4>; }; test_r5_1: zynqmp_r5_rproc@1 { compatible = "xlnx,zynqmp-r5-remoteproc-1.0"; reg =<0x0 0xff9a0200 0 0x100>, <0x0 0xff340000 0 0x100>, <0x0 0xff9a0000 0 0x100>; reg-names = "rpu_base", "ipi", "rpu_glbl_base"; dma-ranges; core_conf = "split1"; srams = <&r5_1_tcm_a &r5_1_tcm_b &elf_ddr_1>; pd-handle = <&pd_r5_1>; interrupt-parent = <&gic>; interrupts = <0 29 4>; } ; }; power-domains { pd_r5_0: pd_r5_0 { #power-domain-cells = <0x0>; pd-id = <0x7>; pd_r5_1: pd_r5_1 { #power-domain-cells = <0x0>; pd-id = <0x8>; }; pd_tcm_0_a: pd_tcm_0_a { #power-domain-cells = <0x0>; pd-id = <0xf>; }; pd_tcm_0_b: pd_tcm_0_b { #power-domain-cells = <0x0>; pd-id = <0x10>; }; pd_tcm_1_a: pd_tcm_1_a { #power-domain-cells = <0x0>; pd-id = <0x11>; }; pd_tcm_1_b: pd_tcm_1_b { #power-domain-cells = <0x0>; pd-id = <0x12>; }; }; system-user.dtsi