mirror of
https://github.com/apache/nuttx.git
synced 2026-09-08 01:46:35 +00:00
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:
parent
4000eaa1b8
commit
bce6ef6aad
4 changed files with 1107 additions and 1 deletions
|
|
@ -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
|
||||
================
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
1096
arch/avr/src/avrdx/avrdx_timerisr_tickless_alarm.c
Normal file
1096
arch/avr/src/avrdx/avrdx_timerisr_tickless_alarm.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue