mqn wrote on Thursday, March 17, 2016:
My watchdog was enabled, with no periodic clear on its counter. So it was doing what it is designed to do :). I disabled it and the resets stopped. Thanks.
All looking good now appart from my interrupt latency is a longer than I would like. The raw latency for my edge triggered ISR is 1.6 uS, but when the semaphored call to my task is included it goes up to 40uS. It would be better if it was closer to 10uS. I am using this code in my ISR to pass on the interrupt control…
BaseType_t task_woken = 0;
vPortYield(); // FromISR not defined
my task is running at PRIORTY 3, which is one greater than my CLI task. The only other tasks I am running are the example FlashCORoutines PRIORTY 1 , which I have tried to remove but if I do, strangly, nothing works.
My original question about the configUSE_PORT_OPTIMISED_TASK_SELECTION was one attempt to speed things up. So any other suggestions on speeding it up would be very welcome.
IF I have reached a ceiling as reguards to latency, I will have to code a “mixed” OS where the high priorty control stuff remains in the raw ISRs and the lower priorty UI and MTM interfaces are in RTOS tasks. Do you think this is feasible, what would be the minimum time for isr activity to keep the Rtos happy?
Sorry there are a few questions in there.