06.08.2020 Asymmetric multiprocessing

Материал из SRNS
Перейти к: навигация, поиск


Содержание

INTRO

Качаем читаем File:ug1186-zynq-openamp-gsg-6_2017.4.pdf

petalinux-config

Высталяем стартовый адрес для ядра не ноль. Предположительно rtos не умеет стартовать не с 0-го адреса, но это вроде хрень. В клоникус выставляем:

Subsystem AUTO ... ->
     Memory Settings ->
          kernel base address ->
               0x1000000

petalinux-config -c kernel

Убеждаемся в том, что все включено, как в даташите. Реально нужно самостоятельно включить:

Kernel Features ... ->
     Memory split->
          2G/2G

petalinux-config -c rootfs

Включаем нужные либы

Эта может быть и не нужна...

    Location:
        -> Filesystem Packages
            -> libs
                -> open-amp

Device tree

В более старых версиях petalinux (2017.1) использовалось поле sram0, сейчас srams

/include/ "system-conf.dtsi"
/ {
    reserved-memory {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;
        rproc_0_reserved: rproc@e000000 {
            no-map;
            reg = <0xe000000 0x01000000>;
        };
    };
    amba {
        elf_ddr_0: ddr@0 {
            compatible = "mmio-sram";
            reg = <0xe000000 0x400000>;
        };
    };
    remoteproc0: remoteproc@0 {
        compatible = "xlnx,zynq_remoteproc";
        firmware = "firmware";
        vring0 = <15>;
        vring1 = <14>;
        srams = <&elf_ddr_0>;
    };
};

Запуск

Закидываем name.elf в /lib/firmware/

Указываем путь к шашему .elf

echo name.elf > /sys/class/remoteproc/remoteproc0/firmware

Запускаем:

echo start > /sys/class/remoteproc/remoteproc0/state

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.

Персональные инструменты
Пространства имён

Варианты
Действия
SRNS Wiki
Рабочие журналы
Приватный файлсервер
QNAP Сервер
Инструменты