[coldfire-gnu-discuss] real time problem with MCF5485
Jean Christophe BARRIOL
jean-christophe.barriol at rsautomation.com
Fri Jul 25 11:18:01 UTC 2008
> Jean Christophe BARRIOL wrote:
>> Hi,
>>
>> We notice a strange problem with Coldfire MCF5485 (and also with
>> MCF5234):
>>
>> The treatment time (the time for the CPU to run the code) of an ISR,
>> which has the highest priority level, varies according to the code that
>> run on others ISR or Main task. !!!!
>>
>> We verified that the Real time ISR (the one with the highest priority) is
>> never preempt !
>>
>> We also use MCF5407. There’s no problem with it.
>>
>> Any idea ?
>
> This doesn't look like a toolchain issue. Have you contacted Freescale
> about it?
>
> Maxim
>
Yes,
They found out that "The cause of the problem is due to code-misalignment in
memory.
By including the extra interrupt, the code was becoming mis-aligned and
thus taking two memory access to retrieve data instead of one. This is
what caused the longer execution time."
With GCC, we added the option "malign-int".
Things are better: with Cache desable, it seams there's no more jitter,
but with cache enable, we still have a jitter on the treatment time of the
Real time ISR: The treatment time still varies according to the the task
that is preempted !
thanks you for help
Jean Christophe.
More information about the coldfire-gnu-discuss
mailing list