Недавно пришлось портировать FreeRTOS на LPC2368, так вот оказалось у филипсов отсутствует спец таймер для генерации системных тиков (миллисекундный интервал). Все 4 таймера и ШИМ нужны для др. задач. А WDT болтается без толку. Можно ли как-нибудь организовать его работу, чтоб он постоянно, с интервалом в 1 мс генерировал IRQ, и не сбрасывал контроллер?
Пробовал по всякому настраивать получилось только со сбросом.
Если настроить так:
Код
WDMOD_bit.WDEN = 1; // Watchdog interrupt mode: debug with the Watchdog interrupt but no WDRESET enabled.
WDMOD_bit.WDRESET = 0; // No reset
WDCLKSEL_bit.WDSEL = 0x01; // Selects the APB peripheral clock (PCLK) as the Watchdog clock source.
WDTC = ((configCPU_CLOCK_HZ / configTICK_RATE_HZ) - 1); // Watchdog time-out interval.
WDFEED = 0xAA;
WDFEED = 0x55;
install_irq(VIC_WDT,vPortPreemptiveTick, 1);
прерывание возникает, но выйти из него можно только отключив в VIC, при этом WDT перестает тикать.
Вобщем на LPC я перешел недавно, подскажите что не так делаю.