1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/avr8_common
Gerson Fernando Budke facede13fd cpu/avr8_common: Rework and add xmega registers
The current context switch and thread stack init don't have a generic
way to save/restore registers for all AVR-8 variations.  This add
defines to check flash/data sizes and rework:

 - thread_stack_init
 - avr8_context_save
 - avr8_context_restore

The new implementation add missing RAMP D/X/Y registers that are used
by XMEGA variations.

The rules to add EIND, RAMP(D,X,Y,Z) register are:

 - EIND must be added if device have more than 128k flash.  This means,
   device can access more than 64k words in flash.
 - RAMP D/X/Y must be added if device have or can address more than
   64k data.
 - RAMPZ must be added if device can address more than 64k bytes of
   flash or data.

With above rules there is no necessity to check by device because it is
mandatory the registers for those MCU variations.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
..
avr_libc_extra cpu/avr8_common: Normalize method prefix name 2021-01-07 16:29:42 -03:00
include cpu/avr8_common/include/cpu.h: Increase number of uart 2021-03-15 20:16:10 -03:00
avr8_cpu.c cpu/avr8_common: Add xmega reset cause register 2021-03-15 20:16:10 -03:00
doc.txt cpu: Refact atmega_common into avr8_common 2021-01-07 16:29:22 -03:00
Kconfig cpu: Refact atmega_common into avr8_common 2021-01-07 16:29:22 -03:00
Makefile cpu: Refact atmega_common into avr8_common 2021-01-07 16:29:22 -03:00
Makefile.dep cpu: Refact atmega_common into avr8_common 2021-01-07 16:29:22 -03:00
Makefile.features cpu: Refact atmega_common into avr8_common 2021-01-07 16:29:22 -03:00
Makefile.include cpu: Refact atmega_common into avr8_common 2021-01-07 16:29:22 -03:00
startup.c cpu/atmega_common: add dbgpin initialization 2021-02-26 11:34:52 +01:00
thread_arch.c cpu/avr8_common: Rework and add xmega registers 2021-03-15 20:16:10 -03:00