MCF5225x peripheral access speed?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MCF5225x peripheral access speed?

1,136 Views
Obetz
Contributor III

Hi all,

 

the MCF52259 docs contain no data about the speed for accesses to internal peripherals (IPS). Since the MCF5213 was extremly slow in this respect: Does anybody know whether the  MCF52259 is faster?

 

IOW how fast can the MCF52259 toggle a port pin (by software control)? The MCF5213 needed 12 cycles for consecutive accesses to "off platform peripherals" like port registers, so the loop couldn't be executed in less than 24 cycles, resulting in 3,3MHz at 80MHz bus speed.

 

If there is still a difference: Is there a list of "platform peripherals" and "off platform peripherals" in the 5225x?

 

Oliver

Labels (1)
0 Kudos
1 Reply

421 Views
RichTestardi
Senior Contributor II

That seems to be exactly the number I see on a MCF52259 running at 80MHz accessing GPIO with this code, and optimizations turned on:

 

MCF_GPIO_PQSPAR = 0;
MCF_GPIO_DDRQS = 0x01;
while (1) {
    MCF_GPIO_SETQS = 0x01;
    MCF_GPIO_CLRQS = ~0x01;
}

 

Some of the MCF52259 peripherals (mini-flexbus, uarts, i2c, spi, dma timers, etc. -- see the excellent figure 7-1 in the Reference Manual) are clocked before the "fsys divide by 2", so if you can get them involved somehow, you might do better; GPIO is clocked after the "fsys divide by 2".

 

One thing to keep in mind is that my understanding is that the "flash speculation" works on the MCF52259, so I no longer disable it (i.e., no longer set FLASHBAR[6] = 1) during startup, and as a result I see a 10% performance increase, clock-for-clock, on CPU intensive work vs. MCF5222x and MCF5223x.

 

-- Rich

0 Kudos