Stefan Kerkmann
3f5dc47296
[Core] Use polled waiting on ChibiOS platforms that support it ( #17607 )
...
* Use polled waiting on platforms that support it
Due to context switching overhead waiting a very short amount of time on
a sleeping thread is often not accurate and in fact not usable for timing
critical usage i.e. in a driver. Thus we use polled waiting for ranges
in the us range on platforms that support it instead. The fallback is
the thread sleeping mechanism.
This includes:
* ARM platforms with CYCCNT register (ARMv7, ARMv8) this is
incremented at CPU clock frequency
* GD32VF103 RISC-V port with CSR_MCYCLE register this is incremented at
CPU clock frequency
* RP2040 ARMv6 port which uses the integrated timer peripheral which is
incremented with a fixed 1MHz frequency
* Use wait_us() instead of chSysPolledDelayX
...as it is powered by busy waiting now.
* Add chibios waiting methods test bench
2022-07-11 15:17:05 +02:00
..
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-06-02 19:30:07 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-06-02 19:30:07 +01:00
2022-05-15 20:26:27 +01:00
2022-07-07 05:42:28 -07:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-07-01 15:38:57 +01:00
2022-05-15 20:26:27 +01:00
2022-06-24 12:40:09 +02:00
2022-06-19 07:37:51 +10:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-07-02 21:56:23 +10:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-06-19 07:37:51 +10:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-07-01 15:38:57 +01:00
2022-07-01 15:38:57 +01:00
2022-06-02 17:50:08 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-07-11 15:17:05 +02:00
2022-05-15 20:26:27 +01:00
2022-06-13 22:12:55 +02:00
2022-05-30 22:38:08 -07:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-07-01 15:38:57 +01:00
2022-05-15 20:26:27 +01:00
2022-06-19 07:37:51 +10:00
2022-05-15 20:26:27 +01:00
2022-06-19 07:37:51 +10:00
2022-05-27 06:07:42 +10:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-07-01 14:39:35 +00:00
2022-07-01 14:39:35 +00:00
2022-05-30 22:38:08 -07:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-17 01:45:33 +00:00
2022-05-25 21:11:13 +09:00
2022-05-30 22:38:08 -07:00
2022-07-07 14:14:09 +02:00
2022-06-19 07:37:51 +10:00
2022-06-19 07:37:51 +10:00
2022-07-01 14:39:35 +00:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00
2022-05-15 20:26:27 +01:00