arch/avr/avrdx: provide tickless OS option

This patch adds tickless OS support for AVR architecture in alarm mode.
Currently, only devices from AVR DA/DB family are supported.
This commit is contained in:
Kerogit 2025-03-23 13:40:02 +01:00 committed by Xiang Xiao
parent 4000eaa1b8
commit bce6ef6aad
4 changed files with 1107 additions and 1 deletions

View file

@ -18,6 +18,13 @@ System timer is provided by RTC peripheral and takes over it. (In theory,
the Periodic Interrupt - PIT - component of it can be still used
but they share single clock.)
Tickless OS mode is supported in alarm mode. Configure it
in :menuselection:`RTOS Features --> Clocks and Timers --> Support tick-less OS`
:menuselection:`Tickless alarm` must be set, timer mode is not supported.
:menuselection:`System timer tick period (microseconds)` also needs to be
changed to value of at least 300. Higher value is recommended though,
300us is not going to be precise at all.
Supported Boards
================

View file

@ -27,6 +27,7 @@ config ARCH_CHIP_AVRDX
bool "AVR 32/64/128 DA/DB core"
select ARCH_FAMILY_AVR
select MM_SMALL
select ARCH_HAVE_TICKLESS
---help---
Atmel/Microchip AVR 32/64/128 DA/DB core family.

View file

@ -53,6 +53,8 @@ endif
CHIP_ASRCS = avrdx_exceptions.S
CHIP_CSRCS = avrdx_lowconsole.c avrdx_lowinit.c avrdx_serial.c
ifneq ($(CONFIG_SCHED_TICKLESS),y)
ifeq ($(CONFIG_SCHED_TICKLESS),y)
CHIP_CSRCS += avrdx_timerisr_tickless_alarm.c
else
CHIP_CSRCS += avrdx_timerisr.c
endif

File diff suppressed because it is too large Load diff