nobody wrote on Saturday, June 24, 2006:
I am quite new to FreeRTOS and often find myself doing some changes to my code, only to find it doesnt work anymore… recognise this? Especially if you change more than just a few lines of code…
So, heres my personal check-list when that happens. Please post also your tips here!
Crash solving for FreeRTOS, AT91SAM7A3-EK and IAR EWARM:
* try to reboot the Eval card
* no bounds check : added too much text to a string (than allocated)?
* no auto size heap: added too much vars for the task heap size?
* some task blocking long times, and locking itself?
* some task in a non-blocking wait, locking other lower tasks?
* vars in a function are only initialised once
…
* increase total heap size if added more tasks, queues, semaphores
* check task prios - someone locking the others?
* check irq levels - someone taking over?
* check rtos tick rate, runing too fast/slow?
* try reboot jtag
* try reboot iar ewarm
* constant meant to be float is defined without decimal point
* connected peripheral cant keep up (115200kbps serial port for example)
* queuSendFromIsr must always start with taskwoken=pdFALSE
* any ISR running too much/fast/wild? pwm… adc… dbgu/usart…
* check the A3 errata section in the datasheet
* could be a bug in an example file, in FreeRTOS or the A3 chip, check the web