mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-01-18 12:52:44 +01:00
5d8c00e302
cc2538 implements 4 sleep modes. In the lightest mode (3) any interrupt source can wake up the CPU. In mode 2, only RTT, GPIO or USB may wake the CPU. In mode 1 only RTT and GPIO can wake the CPU. In mode 0 only GPIO can wake the CPU. In mode 0 and 1 the lower 16k RAM are lost. This is a problem since those are usually used by RIOT. The linkerscripts in cc2538/ldscripts take different approaches towards that. Some only use the upper 16k and leave the other half to be managed by the application. `cc2538sf53.ld` which is used by `openmote-b` uses the entire RAM starting at the lower half, so it will not be able to wake up from those modes. A quick fix to test those modes with `tests/periph_pm` would be --- a/cpu/cc2538/ldscripts/cc2538sf53.ld +++ b/cpu/cc2538/ldscripts/cc2538sf53.ld @@ -21,7 +21,7 @@ MEMORY { rom (rx) : ORIGIN = 0x00200000, LENGTH = 512K - 44 cca : ORIGIN = 0x0027ffd4, LENGTH = 44 - ram (w!rx) : ORIGIN = 0x20000000, LENGTH = 32K + ram (w!rx) : ORIGIN = 0x20004000, LENGTH = 16K }
7 lines
127 B
Makefile
7 lines
127 B
Makefile
ifneq (,$(filter cc2538_rf,$(USEMODULE)))
|
|
USEMODULE += netdev_ieee802154
|
|
USEMODULE += netif
|
|
endif
|
|
|
|
USEMODULE += pm_layered
|