[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