We are working on a project using FreeRTOS on an Atmel AVR32 UC3A0512 CPU.
The sample FreeRTOS code supplied by Atmel is built on V4 of FreeRTOS. I decided that we should upgrade to FreeRTOS V5, since it would be beneficial to get access to its stack and heap check features.
I downloaded the latest V5 FreeRTOS, and have replaced all the FreeRTOS files with their V5 counterparts. I also fixed all the FromISR() calls, as directed. The project now builds, and even runs.
However, the FreeRTOS timer tick rate is incorrect. I have configTICK_RATE_HZ set to 1000, and with V4 I got 1ms ticks very nicely. With V5, I don’t. With configTICK_USE_TC set to 0, I get a tick period of about 800ms! With configTICK_USE_TC set to 1, I get a tick period of 0.5ms (better, but not quite).
I also found that the new port.c references a symbol called “INT0”, which does not appear to exist in any of Atmel’s header files. I replaced it with AVR32_INTC_INT0, because that seemed a reasonable replacement (and it’s defined as 0). There were more problems with exception.S, so I decided to keep my V4 version of exception.S.
Any idea whether I’m doing something wrong, or whether maybe the V5 AVR32 port has not been fully tested?
My thanks in advance for any suggestions.