diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2017-08-15 11:05:30 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2017-08-15 11:05:30 -0400 |
commit | 0adea120cdff5c68876d5d8d7152cb90cf4934b1 (patch) | |
tree | 2ecc629b13870844e106aa8f88b8a5ecd4199be5 | |
parent | 71bb7acb8e9ec5a9838d60604ac9e74614e234b4 (diff) | |
download | kutter-0adea120cdff5c68876d5d8d7152cb90cf4934b1.tar.gz kutter-0adea120cdff5c68876d5d8d7152cb90cf4934b1.tar.xz kutter-0adea120cdff5c68876d5d8d7152cb90cf4934b1.zip |
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>
-rw-r--r-- | docs/Features.md | 2 | ||||
-rw-r--r-- | src/pru/main.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/docs/Features.md b/docs/Features.md index 9c718977..49980118 100644 --- a/docs/Features.md +++ b/docs/Features.md @@ -86,7 +86,7 @@ represent total number of steps per second on the micro-controller. | 20Mhz AVR | 189K | 125K | | 16Mhz AVR | 151K | 100K | | 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 stepper stepping. On the Due, the highest step rate is with two diff --git a/src/pru/main.c b/src/pru/main.c index 6eed82e3..49d929ef 100644 --- a/src/pru/main.c +++ b/src/pru/main.c @@ -89,7 +89,7 @@ _irq_poll(void) } CT_INTC.SECR0 = (1 << IEP_EVENT) | (1 << KICK_PRU1_EVENT); } -void +void __attribute__((optimize("O2"))) irq_poll(void) { if (read_r31() & (1 << (WAKE_PRU1_IRQ + R31_IRQ_OFFSET))) |