nuttx/arch/arm/src/at32
chao an 87f134cfaa sched/sleep: replace all Signal-based sleep implement to Scheduled sleep
Nuttx currently has 2 types of sleep interfaces:

1. Signal-scheduled sleep: nxsig_sleep() / nxsig_usleep() / nxsig_nanosleep()
Weaknesses:
a. Signal-dependent: The signal-scheduled sleep method is bound to the signal framework, while some driver sleep operations do not depend on signals.
b. Timespec conversion: Signal-scheduled sleep involves timespec conversion, which has a significant impact on performance.

2. Busy sleep: up_mdelay() / up_udelay()
Weaknesses:
a. Does not actively trigger scheduling, occupy the CPU loading.

3. New interfaces: Scheduled sleep: nxsched_sleep() / nxsched_usleep() / nxsched_msleep() / nxsched_ticksleep()
Strengths:
a. Does not depend on the signal framework.
b. Tick-based, without additional computational overhead.

Currently, the Nuttx driver framework extensively uses nxsig_* interfaces. However, the driver does not need to rely on signals or timespec conversion.
Therefore, a new set of APIs is added to reduce dependencies on other modules.

(This PR also aims to make signals optional, further reducing the code size of Nuttx.)

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-10-17 14:05:02 +08:00
..
hardware style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
at32.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_adc.c Remove duplicate includes across multiple files 2025-01-09 23:30:23 +08:00
at32_adc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_allocateheap.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_can.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_can.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_can_sock.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_dbgmcu.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_dma.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_dma.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_dma_v1mux.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_dumpgpio.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_eth.c arch: remove reference to non-existent readme 2025-10-11 17:07:51 -04:00
at32_eth.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_exti.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_exti_alarm.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_exti_gpio.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_exti_pwr.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_exti_pwr.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_exti_wakeup.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_flash.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_flash.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_gpio.c gpio: use small lock to protect configgpio 2024-12-17 16:37:59 +08:00
at32_gpio.h fix nxstyle 2024-12-10 01:29:00 +08:00
at32_i2c.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
at32_i2c.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_idle.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_irq.c arch/init: call up_color_intstack before up_irq_enable 2025-10-14 17:42:01 +08:00
at32_iwdg.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_lowputc.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_lowputc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_lse.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_lsi.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_mpuinit.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_mpuinit.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_otgfs.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_otgfsdev.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
at32_otgfshost.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
at32_pm.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_pminitialize.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_pmsleep.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_pmstandby.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_pmstop.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_pwm.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
at32_pwm.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_pwr.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_pwr.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_rcc.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_rcc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_rtc.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_rtc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_rtc_lowerhalf.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_sdio.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
at32_sdio.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_serial.c arch | boards | drivers: fix whitespace issues for switch case statements 2025-05-23 10:48:41 +08:00
at32_spi.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_spi.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_start.c arch/arm: add missing itm_syslog.h include 2025-03-19 12:17:28 -03:00
at32_start.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_syscfg.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_tim.c fix nxstyle 2024-12-10 01:29:00 +08:00
at32_tim.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_tim_lowerhalf.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_timerisr.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_uart.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_uid.c fix nxstyle 2024-12-10 01:29:00 +08:00
at32_uid.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_usbhost.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_usbhost.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_userspace.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_userspace.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_waste.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_waste.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_wdg.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32_wwdg.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32f43xx_flash.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32f43xxx_alarm.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32f43xxx_rcc.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
at32f43xxx_rtcc.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
chip.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
Kconfig style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
Make.defs arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00