Перейти к содержанию
    

Nuvoton NUC970 не могу заставить WDT срабатывать на сброс.

Прерывание получаю по WDT, но физического ресета не происходит.

#include "nuc970.h"
#include "sys.h"


void WDT_IRQHandler(void)
{
    // Reload WWDT counter and clear WWDT interrupt flag
    sysClearWatchDogTimerCount();
    sysClearWatchDogTimerInterruptStatus();
    
    sysprintf("Reset WDT counter2\n");

}

void enable_reset_pin (void)
{
    UINT32 volatile _mWtcr;

    _mWtcr = inpw(REG_SYS_MISCFCR);
    _mWtcr |= 0x100;
    outpw(REG_SYS_MISCFCR, _mWtcr);
}

int main(void)
{
    sysDisableCache();
    sysFlushCache(I_D_CACHE);
    sysEnableCache(CACHE_WRITE_BACK);
    sysInitializeUART();

    sysprintf("\nThis sample code demonstrate reset WDT function\n");

    // Disable write protect mode to control WDT register
    outpw(REG_SYS_REGWPCTL,0x59);
    outpw(REG_SYS_REGWPCTL,0x16);
    outpw(REG_SYS_REGWPCTL,0x88);
    while(!(inpw(REG_SYS_REGWPCTL)&(1<<0)));
    
    outpw(REG_CLK_PCLKEN0, inpw(REG_CLK_PCLKEN0) | 1); // Enable WDT engine clock

    sysSetWatchDogTimerInterval(6);     // Set WDT time out interval to 2^16 Twdt = 0.7 sec. Where Twdt = 12MHZ / 128
//    sysInstallWatchDogTimerISR(HIGH_LEVEL_SENSITIVE | IRQ_LEVEL_1, WDT_IRQHandler);
    sysEnableWatchDogTimerReset(); // 0x02
    
//    enable_reset_pin();
    
    sysEnableWatchDogTimer(); // 7 бит = 0x80
    

    
    while(1)
    {
//        sysClearWatchDogTimerCount();
    }
}

Это почти пример из BSP. Я уже и SYS_MISCFCR активировал, нет реакции. И статусы регистров проверял. В общем, прерывание есть, а сброса проца нету.

Так же - не могу найти как вообще можно ф-ей его сбросить? Типа NVIC_systemreset();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, Метценгерштейн сказал:

В общем, прерывание есть, а сброса проца нету.

Может там есть селектор сброс или прерывание, просто смысл прерывания при сбросе)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, mantech said:

Может там есть селектор сброс или прерывание, просто смысл прерывания при сбросе)))

Там - уже ни в чем не уверен- есть задержка на сброс после прерывания. Т.е. происходит прерывание, задержка, идет сброс. Селектора не видел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю про этот процессор, но, возможно, нога Reset блокирует сброс, если на ней активный уровень. Попробуйте завести туда открытый коллектор с подтяжкой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 minutes ago, Alex11 said:

Не знаю про этот процессор, но, возможно, нога Reset блокирует сброс, если на ней активный уровень. Попробуйте завести туда открытый коллектор с подтяжкой.

Раз прерывание есть, то можно GPIO завести на транзистор и замыкает пусть кнопку сброса. Раз схему переделывать. На отладочной фирменной плате то же поведение- пример из коробки не работает

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проц конечно старый, отстойный. Мы им уже 5 лет не пользуемся. Но может поможет.

 

Nuvoton.pdf

Изменено пользователем Samum421

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 28.05.2024 в 14:51, Samum421 сказал:

Поможет если найдете MX66L51235FMI-10G, без него не заработает.Последняя версия платы приложена.

Nuvoton New.pdf

 

Единственное место где можно купить эту память и совсем недешево. Мой совет, бегите от Nuvotona подальше.

Изменено пользователем Samum421

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Samum421 said:

Единственное место где можно купить эту память и совсем недешево. Мой совет, бегите от Nuvotona подальше.

Мне его дали и сказали делать )) Не фонтан конечно проц, но вроде работает. Но вот ресет от вотчдога- нет. Буду пробовать ваш вариант.

Ну это схема. Она же и в отладке. Да, нажимаю кнопку ресет- замыкаю nReset на землю- происходит сброс.

Вопрос был- как программно это сделать? И почему от WDT прерывание есть, а самого ресета не происходит? Я там уже все комбинации перепробовал с инициализацией.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 28.05.2024 в 17:24, Метценгерштейн сказал:

Мне его дали и сказали делать )) Не фонтан конечно проц, но вроде работает. Но вот ресет от вотчдога- нет. Буду пробовать ваш вариант.

Ну это схема. Она же и в отладке. Да, нажимаю кнопку ресет- замыкаю nReset на землю- происходит сброс.

Вопрос был- как программно это сделать? И почему от WDT прерывание есть, а самого ресета не происходит? Я там уже все комбинации перепробовал с инициализацией.

Я уже не помню. Много лет назад делали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/28/2024 at 6:24 PM, Метценгерштейн said:

Но вот ресет от вотчдога- нет.

в linux работает

Quote

  497 root     watchdog -t 1 /dev/watchdog0
  498 root     ps
# kill -9 497
# watchdog watchdog0: nowayout prevents watchdog being stopped!
watchdog watchdog0: watchdog did not stop!


U-Boot 2013.04-rc2 (Sep 21 2016 - 14:01:21)

CPU: NUC976
DRAM:  64 MiB
MMC:   mmc: 0
SF: Detected MX25L6405D with page size 64 KiB, total 8 MiB
*** Warning - bad CRC, using default environment

 

https://github.com/OpenNuvoton/NUC970_Linux_Kernel/blob/master/drivers/watchdog/nuc970_wdt.c

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/28/2024 at 3:51 PM, Samum421 said:

Проц конечно старый, отстойный. Мы им уже 5 лет не пользуемся.

Они ядро Linux для него обновили. Всего через 7 лет 🙂

https://www.nuvoton.com/export/resource-files/en-us--NUC970_Linux_5.10_BSP_User_Manual_EN.pdf

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 29.05.2024 в 00:33, sasamy сказал:

Они ядро Linux для него обновили. Всего через 7 лет 🙂

https://www.nuvoton.com/export/resource-files/en-us--NUC970_Linux_5.10_BSP_User_Manual_EN.pdf

По нашим платам, Нувотон в 6 раз медленнее T113 загружается. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Samum421 said:

По нашим платам, Нувотон в 6 раз медленнее T113 загружается. 

Странно почему, ведь NUC970 1х300Mhz, а T113 2x1000Mhz 😉

Мы на нем от безрыбья сделали проект под linux, но он конечно тормозит и по сути оказался тупиковой веткой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

45 минут назад, vguard сказал:

он конечно тормозит и по сути оказался тупиковой веткой.

Это было еще ясно на момент его появления, ибо 300МГц АРМ9 в наше время уже просто архаика...

46 минут назад, vguard сказал:

Мы на нем от безрыбья сделали проект под linux

Есть такая контора вендотек, так вот они тоже видимо "от безрыбья" сделали на подобном ппроце платежный терминал, он грузится минуты 2 не меньше, да еще там есть "сюрприз" - стоит батарейка, и если ее заменить, то терминал превращается в кирпич, "раскирпичивание" только у них за большие деньги...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 29.05.2024 в 09:29, vguard сказал:

Странно почему, ведь NUC970 1х300Mhz, а T113 2x1000Mhz 😉

Мы на нем от безрыбья сделали проект под linux, но он конечно тормозит и по сути оказался тупиковой веткой.

Нувотон имеет слабый Линукс на 20 Мб и грузится полторы две минуты. У T113-S3 Линукс с прогой 180 мб, грузится 15 секунд. A40i грузился 12 секунд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...