pru: Compile the irq_poll() function with -O2 optimization
Compile the PRU binary with -Os optimization, but request that the timer dispatch code be compiled with -O2 optimization. This improves the performance of timers slightly. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
71bb7acb8e
commit
0adea120cd
|
@ -86,7 +86,7 @@ represent total number of steps per second on the micro-controller.
|
||||||
| 20Mhz AVR | 189K | 125K |
|
| 20Mhz AVR | 189K | 125K |
|
||||||
| 16Mhz AVR | 151K | 100K |
|
| 16Mhz AVR | 151K | 100K |
|
||||||
| Arduino Due (ARM) | 382K | 337K |
|
| Arduino Due (ARM) | 382K | 337K |
|
||||||
| Beaglebone PRU | 680K | 680K |
|
| Beaglebone PRU | 689K | 689K |
|
||||||
|
|
||||||
On AVR platforms, the highest achievable step rate is with just one
|
On AVR platforms, the highest achievable step rate is with just one
|
||||||
stepper stepping. On the Due, the highest step rate is with two
|
stepper stepping. On the Due, the highest step rate is with two
|
||||||
|
|
|
@ -89,7 +89,7 @@ _irq_poll(void)
|
||||||
}
|
}
|
||||||
CT_INTC.SECR0 = (1 << IEP_EVENT) | (1 << KICK_PRU1_EVENT);
|
CT_INTC.SECR0 = (1 << IEP_EVENT) | (1 << KICK_PRU1_EVENT);
|
||||||
}
|
}
|
||||||
void
|
void __attribute__((optimize("O2")))
|
||||||
irq_poll(void)
|
irq_poll(void)
|
||||||
{
|
{
|
||||||
if (read_r31() & (1 << (WAKE_PRU1_IRQ + R31_IRQ_OFFSET)))
|
if (read_r31() & (1 << (WAKE_PRU1_IRQ + R31_IRQ_OFFSET)))
|
||||||
|
|
Loading…
Reference in New Issue