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:
Kevin O'Connor 2017-08-15 11:05:30 -04:00
parent 71bb7acb8e
commit 0adea120cd
2 changed files with 2 additions and 2 deletions

View File

@ -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

View File

@ -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)))