карамболь 0 5 марта, 2021 Опубликовано 5 марта, 2021 · Жалоба Здравствуйте. Не получается сторожевой таймер запустить на 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" ? Что ему еще надо ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 6 марта, 2021 Опубликовано 6 марта, 2021 · Жалоба неужели никто на поднимал пса на Цинке ? Мне нужно, в случае зависания Линукса, перезагрузить PS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 9 марта, 2021 Опубликовано 9 марта, 2021 · Жалоба На fpga-systems.ru недавно была серия стримов по работе с Zync. Рекомендую, там же в чате есть спецы по Zync, вероятно ответят и на этот вопрос Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 9 марта, 2021 Опубликовано 9 марта, 2021 · Жалоба On 3/5/2021 at 3:28 PM, карамболь said: zynqmp_clk_mux_get_parent() getparent failed for clock: lpd_wdt, ret = -22 Это ATF копать надо, хилые там накосячили изрядно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 10 марта, 2021 Опубликовано 10 марта, 2021 · Жалоба 16 hours ago, gosha-z said: Это ATF копать надо, хилые там накосячили изрядно... Да вроде PMU этим рулит. Нашел похожие траблы у коллег и варианты решения - типа пропатчить фирмваре PMU. Посмотрел этот патч, сравнил со своим - очень отличается. Понатыкал дефайнов, как советуют - загрузка отваливается на определенном этапе, видимо как раз сброс срабатывает, там 60 сек по дефолту. Отложил пока. Как мне кажется, проще свой модуль на ФПГА запилить (у меня так на Альтере реализовано) - выход модуля на ногу внешнего сброса. Дешево и сердито Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 10 марта, 2021 Опубликовано 10 марта, 2021 · Жалоба PMU, но через ATF - там тоже проверки есть. И -ENODEV больше на ATF похоже Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 25 марта, 2021 Опубликовано 25 марта, 2021 · Жалоба On 3/10/2021 at 10:35 AM, gosha-z said: PMU, но через ATF - там тоже проверки есть. И -ENODEV больше на ATF похоже вы это имели ввиду ? 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 26 марта, 2021 Опубликовано 26 марта, 2021 · Жалоба В общем, Watchdog работает. Нужно было добавить в PMU ENABLE_RECOVERY_RESET_SYSTEM_VAL = 1 Сейчас другая проблема. Если сразу после загрузки Линукса не начать пинать Watchdog, то система перезагружается. Как сделать, чтобы Watchdog включался из юзер спейса ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ovn 0 31 мая, 2021 Опубликовано 31 мая, 2021 · Жалоба На голом железе без операционки недавно поднимал, тоже была проблема https://forums.xilinx.com/t5/Processor-System-Design-and-AXI/Ultrascale-watchdog-timer-does-not-expire/m-p/1240523#M57888 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 1 июня, 2021 Опубликовано 1 июня, 2021 · Жалоба 17 hours ago, ovn said: На голом железе без операционки недавно поднимал, тоже была проблема https://forums.xilinx.com/t5/Processor-System-Design-and-AXI/Ultrascale-watchdog-timer-does-not-expire/m-p/1240523#M57888 не понял... WTD не запускается из-за сброса APU ? Это как ? Можно ссылку на объяснение от xilinx ? Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ovn 0 4 июня, 2021 Опубликовано 4 июня, 2021 (изменено) · Жалоба 01.06.2021 в 10:04, карамболь сказал: не понял... WTD не запускается из-за сброса APU ? Это как ? Можно ссылку на объяснение от xilinx ? Спасибо Сам не знаю, галочку снял и сторожевой таймер запустился, как связано, без понятия. Подобных глюков в IDE полно. Изменено 4 июня, 2021 пользователем ovn Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться