Jump to content

    

карамболь

Участник*
  • Content Count

    241
  • Joined

  • Last visited

Community Reputation

0 Обычный

About карамболь

  • Rank
    Местный

Информация

  • Город
    Array

Recent Profile Visitors

2749 profile views
  1. не понял... WTD не запускается из-за сброса APU ? Это как ? Можно ссылку на объяснение от xilinx ? Спасибо
  2. Vitis нужен. Там автоматом собирается FSBL ATF PMUFW DTB и собирается загрузочный образ Ядро и U-boot скачиваете с оф. репозитория Petalinux не нужен
  3. вот эта ссылка мне здорово помогла на старте https://habr.com/ru/post/235707/
  4. В общем, Watchdog работает. Нужно было добавить в PMU ENABLE_RECOVERY_RESET_SYSTEM_VAL = 1 Сейчас другая проблема. Если сразу после загрузки Линукса не начать пинать Watchdog, то система перезагружается. Как сделать, чтобы Watchdog включался из юзер спейса ?
  5. вы это имели ввиду ? It is also necessary to build ATF with following flags (see APU Idling for details) ZYNQMP_WARM_RESTART=1 здесь нарыл https://www.linuxsecrets.com/xilinx/Zynq Ultrascale Plus Restart solution.html
  6. Извиняюсь, что сразу не ответил. Проблему я решил. Через одно место, но решил. Определяющим было то, что на виртуалке с Дебианом у меня проект нормально деплоился. Короче, поступил так : 1. Создал юзера, как на Дебиновской машине 2. Скопировал всю папку с QT на Астру 2. Запустил qtcreator из скопированной папки 3. Создал комплект с путями до qmake в скопированной папке 4. Пересобрал проект полностью 5. Собрал все необходимые потроха с помощью cqtdeployer 6. Сразу экзешник не запустился. Оказывается cqtdeployer собирает не все qml файлы 7. Скопировал всю папку qml (благо весит она около 10 М) 8. Профит. Софтина запускается на чистой Астре без QT Основная проблема, как мне видится, в том, что изначально ставил QT на Астру из локального репозитория стандартным методом. А на Дебиане собирал из исходников. В тонкости не вникал особо, нет на это ни времени, ни желания
  7. Здравствуйте. Пытаюсь собрать в кучу библиотеки и qml. Имеется в наличии рабочий проект, софтина собирается и запускается из QT. В качестве сборщика использую cqtdeployer. В результате получаю каталоги с библиотеками, qml, плагинами и каталог /bin, в котором лежит мой исполняемый файл и qt.conf. При запуске сгенерированного скрипта получаю ошибку test: ../../../src/libgomp/oacc-init.c:79: goacc_register: Assertion `!dispatchers[disp->type]' failed. ./test.sh: строка 11: 16532 Аварийный останов "$BASE_DIR"/bin/test "$@" Нагуглить ничего не удалось Куда копать ? Забыл упомянуть, целевая Astra Linux 1_6 Смоленск. На Дебиане, кстати, cqtdeployer сработал корректно
  8. Да вроде PMU этим рулит. Нашел похожие траблы у коллег и варианты решения - типа пропатчить фирмваре PMU. Посмотрел этот патч, сравнил со своим - очень отличается. Понатыкал дефайнов, как советуют - загрузка отваливается на определенном этапе, видимо как раз сброс срабатывает, там 60 сек по дефолту. Отложил пока. Как мне кажется, проще свой модуль на ФПГА запилить (у меня так на Альтере реализовано) - выход модуля на ногу внешнего сброса. Дешево и сердито
  9. неужели никто на поднимал пса на Цинке ? Мне нужно, в случае зависания Линукса, перезагрузить PS
  10. Здравствуйте. Не получается сторожевой таймер запустить на ZynqMP. В DTB все прописал watchdog0: watchdog@fd4d0000 { compatible = "cdns,wdt-r1p2"; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 113 1>; reg = <0x0 0xfd4d0000 0x0 0x1000>; timeout-sec = <60>; reset-on-timeout; }; ................. &watchdog0 { status = "okay"; }; в ядре нужные галочки установил. root@igor-VirtualBox:~# dmesg | grep wdt [ 7.585896] zynqmp_clk_mux_get_parent() getparent failed for clock: lpd_wdt, ret = -22 [ 8.749524] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s [ 8.757062] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s root@igor-VirtualBox:~# echo s > /dev/watchdog0 [ 1536.392464] watchdog: watchdog0: watchdog did not stop! Для настройки использую рабочий код, который прекрасно функционирует на 5-й Арии int fd = open("/dev/watchdog", O_WRONLY); if (fd == -1) { exit(EXIT_FAILURE); } //int interval = 3; int interval = 10; ioctl(fd, WDIOC_SETTIMEOUT, &interval); while(1) { ioctl(fd, WDIOC_KEEPALIVE, &timeout); sleep(2); } Запускаю код, удаляю - в консоли root@igor-VirtualBox:~# [ 1825.753499] watchdog: watchdog1: watchdog did not stop! root@igor-VirtualBox:~# [ 1831.966288] cdns-wdt ff150000.watchdog: Watchdog timed out. Internal reset not enabled WTF "Internal reset not enabled" ? Что ему еще надо ?
  11. а так ? gcc -I ../../../../project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi -E -nostdinc -undef -D__DTS__ -x assembler-with-cpp -o my_dts/system-top.dts.tmp system-top.dts dtc -I dts -O dtb -o system-top.dtb system-top.dts.tmp https://forums.xilinx.com/t5/Embedded-Linux/Device-tree-system-user-dtsi-not-building/td-p/1026183
  12. я пока без FITа обхожусь. Гружу по отдельности Image и DTB. Во всех мануалах описана загрузка uImage и грузят соотвественно через bootm. У меня так не получилось, пришлось грузить через "booti adr1 - adr2". Сейчас хочу загрузить rootfs в ОЗУ. В каком формате должна быть файловая система для загрузки через booti ?
  13. я скачал с гитхаба исходники. Сконфигурировал по дефолту для Mpsoc. Не собирает...
  14. zImage аналогично.. только чистый бинарник Image собирается