1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

31419 Commits

Author SHA1 Message Date
79d733a1af picolibc: glue sbrk to heap start/end [v2]
---
v2:
	Squash fixes in
2020-08-24 08:26:16 -07:00
26c1920cf1 posix/select: Add picolibc to cyclic dependency resolution 2020-08-24 08:26:16 -07:00
Keith Packard
531050ada2 picolibc: Enable TLS support [v4]
Allocate and initialize a thread-local block for each thread at the
top of the stack.

Set the tls base when switching to a new thread.

Add tdata/tbss linker instructions to cortex_m and risc-v scripts.

Signed-off-by: Keith Packard <keithp@keithp.com>

---

v2:
	Squash fixes

v3:
	Replace tabs with spaces

v4:
	Add tbss to fe310 linker script
2020-08-24 08:26:16 -07:00
Keith Packard
a0d3436486 cpu/fe310: Add PICOLIBC support [v3]
Disable the newlib-nano stubs code when picolibc is in use

Signed-off-by: Keith Packard <keithp@keithp.com>

---
v2:
	Squash fixes in
v3:
	call stdio_init in _PICOLIBC_ mode to initialize uart
v3:
	Remove call to stdio_init from nanostubs_init, always
	call from cpu_init.
2020-08-24 08:24:54 -07:00
Benjamin Valentin
cd5a847684 cpu/sam0_common: define CPU_FAM based on CPU_MODEL 2020-08-24 16:13:18 +02:00
Benjamin Valentin
52a95642d5 sam0/adc: make driver MCU family agnostic
Replace checks for `CPU_SAMD21` with checks for actual defines.
2020-08-24 16:13:18 +02:00
Benjamin Valentin
7ed4979148 cpu/samd5x: define CPU_COMMON_SAMD5X symbol and use it 2020-08-24 16:13:18 +02:00
Benjamin Valentin
cc7f897cbc cpu/saml1x: define CPU_COMMON_SAML1X symbol and use it 2020-08-24 16:13:18 +02:00
Benjamin Valentin
5d96151775 cpu/saml21: define CPU_COMMON_SAML21 symbol and use it 2020-08-24 16:13:18 +02:00
Benjamin Valentin
e32b0783c4 cpu/samd21: define CPU_COMMON_SAMD21 symbol and use it 2020-08-24 16:13:18 +02:00
Benjamin Valentin
582da9b233 cpu/sam0_common: add script to generate Kconfig files for all parts
e.g. Usage:

	./sam0_common/dist/kconfig_gen.sh samd51
2020-08-24 16:13:18 +02:00
Benjamin Valentin
bc904cb396 cpu/saml21: add all parts to Kconfig 2020-08-24 16:13:18 +02:00
Benjamin Valentin
2cd0236a8c cpu/samd5x: add all parts to Kconfig 2020-08-24 16:11:48 +02:00
Benjamin Valentin
6a490af52b cpu/saml1x: add all parts to Kconfig 2020-08-24 16:11:48 +02:00
Benjamin Valentin
6b7cce02ec cpu/samd21: add all parts to Kconfig 2020-08-24 16:11:48 +02:00
benpicco
4b91866392
Merge pull request #14781 from ant9000/yarm
boards/yarm: Support for YARM board
2020-08-24 16:11:17 +02:00
benpicco
4f00aa16db
Merge pull request #14819 from aabadie/pr/boards/nucleo-l452re-clock
boards/nucleo-l452re: use common L4 clock configuration
2020-08-24 15:54:16 +02:00
d15d123eef
boards/stm32g4: enable max 170MHz clock by default 2020-08-24 15:42:14 +02:00
84bbee784d
cpu/stm32: add transition phase when raising +80MHz clock 2020-08-24 15:42:13 +02:00
benpicco
500bb83d16
Merge pull request #14760 from janosbrodbeck/adc/same54
cpu/sam0_common: ADC: add support for samd5x/same5x
2020-08-24 13:49:21 +02:00
benpicco
6298ba282d
Merge pull request #12600 from maribu/at86rf2xx-fix
drivers/at86rf2xx: Fix L2 addr genration/handling
2020-08-24 11:18:05 +02:00
benpicco
64fb92e65d
Merge pull request #14574 from maribu/fix-indent-switch
uncrustify-riot.cfg: Don't indent switch cases
2020-08-24 11:15:40 +02:00
Marian Buschsieweke
eb1279005c
tests: Cleanup access to internal variables
Replace direct accesses to sched_active_thread and sched_active_pid with
the helper functions thread_getpid() and thread_get_active(). This serves
two purposes:

1. It makes accidental writes to those variable from outside core less likely.
2. Casting off the volatile qualifier is now well contained to those two
   functions
2020-08-24 09:08:01 +02:00
Keith Packard
76f6362292 cpu/fe310: Don't register __libc_fini_array with atexit
Picolibc makes atexit state per-thread instead of global, so we can't
register destructors with atexit in a non-thread context as we won't
have any TLS space initialized.

Signed-off-by: Keith Packard <keithp@keithp.com>
2020-08-23 13:13:28 -07:00
ff3bee24b9 picolibc: Provide integration into the build system [v3]
Support for picolibc as alternative libc implementation is added with
this commit. For now only cortex-m CPU's are supported.

Enable via PICOLIBC=1

---
v2:
	squash fixes in

v3:
	Remove picolibc integer printf/scanf stuff from sys/Makefile.include,
	it gets set in makefiles/libc/picolibc.mk

fixup for dependency
2020-08-23 13:12:57 -07:00
b64f8a22a3 picolibc: Add default syscall implementations [v2]
picolibc: Use thread_getpid for getpid() in picolibc_syscalls_default

Instead of directly accessing the sched_active_pid variable (which
isn't defined in this context), use the existing wrapper function
to get that value.

Signed-off-by: Keith Packard <keithp@keithp.com>

---
v2:
	Squash a couple of fixes in

	* fixup! picolibc: Use thread_getpid for getpid() in
          picolibc_syscalls_default

	* squashme: Add `times` to picolibc syscalls

	* Add __noreturn__ attribute to _exit

	* Add VFS syscall wrappers. This provides the POSIX api used
          by picolibc stdio
2020-08-23 12:43:51 -07:00
Marian Buschsieweke
8745d820ba
core/thread_flags: Fix code indention
Apply coding convention on the indent in the single switch statement within
core.
2020-08-23 21:18:10 +02:00
Marian Buschsieweke
bb064e0580
uncrustify-riot.cfg: Don't indent switch cases
`uncrustify` currently enforces that cases in a switch statement are indented,
but the should be on the same level as the switch statement according to the
coding convention. This commit fixes this.
2020-08-23 21:17:20 +02:00
Marian Buschsieweke
7b743cda13
drivers/at86rf2xx: Fix address generation
Do not generate address during reset, but during setup. Otherwise the device
will get a new address after every reset. Also: Use common IEEE 802.15.4
setup function for this.
2020-08-23 21:09:21 +02:00
659c351c02
Merge pull request #14821 from bergzand/pr/cortexm_common/enable_mpu_after_config
cortexm_common: Enable MPU after configuring regions
2020-08-23 18:02:40 +02:00
79737fb44f
Merge pull request #14831 from benpicco/drivers/at86rf2xx-fix_assert
drivers/at86rf2xx: fix assert
2020-08-23 14:48:27 +02:00
Benjamin Valentin
0f4c5f5b10 drivers/at86rf2xx: fix assert
The assert is reversed. It must check if the config value does not
exceed the maximum address length, not the other way round.

previously this would lead to a crash when setting a short address:

2020-08-23 13:59:56,080 #  ifconfig 7 set addr_short 2
2020-08-23 13:59:56,081 # 0xdcad
2020-08-23 13:59:56,083 # *** RIOT kernel panic:
2020-08-23 13:59:56,085 # FAILED ASSERTION.

With this it works as expected

2020-08-23 14:05:07,988 #  ifconfig 7 set addr_short 2
2020-08-23 14:05:07,992 # success: set (short) address on interface 7 to 2
2020-08-23 14:05:52 +02:00
Antonio Galea
1031da354f boards/yarm: delay terminal connection after flashing 2020-08-23 02:35:15 +02:00
Antonio Galea
21c69d6899 boards/yarm: adapt memory requirements for test 2020-08-22 16:37:17 +02:00
Antonio Galea
80cc4b3204 boards/yarm: skip tests requiring too much RAM 2020-08-22 16:36:28 +02:00
Martine Lenders
6e504bf326
Merge pull request #14825 from haukepetersen/fix_gnrcnib_typo
net/gnrc/nib_ft.c: fix minor typo in comment
2020-08-21 22:44:35 +02:00
Marian Buschsieweke
92ae260617
Merge pull request #14778 from benpicco/sys/luid_netdev
sys/luid: add luid_netdev_get_eui48() & luid_netdev_get_eui64()
2020-08-21 21:30:14 +02:00
bb62b242c1
Merge pull request #14823 from aabadie/pr/cpu/stm32g0_disable_mpu
cpu/stm32: disable MPU for cortex-m0+ (stm32g0 and stm32l052t8)
2020-08-21 16:53:45 +02:00
Martine Lenders
fb63453a1d
Merge pull request #14498 from brummer-simon/evtimer-add_mbox_support
evtimer: add mbox support
2020-08-21 16:33:06 +02:00
Hauke Petersen
05347190b9 net/gnrc/nib_ft.c: fix minor typo in comment 2020-08-21 16:06:04 +02:00
Benjamin Valentin
9823801cf6 drivers/at86rf215: use netdev_ieee802154_setup() 2020-08-21 15:33:19 +02:00
Benjamin Valentin
d29397cfd8 netdev_ieee802154: add netdev_ieee802154_setup() 2020-08-21 15:33:19 +02:00
b4aa2dae3e
cpu/stm32: remove MPU feature from stm32l052t8 2020-08-21 15:25:26 +02:00
Simon Brummer
5d67daebb2 evtimer: add mbox support 2020-08-21 15:19:22 +02:00
Antonio Galea
6a59569f1f boards/yarm: definition for SAML21J18B CPU model 2020-08-21 15:18:41 +02:00
fd71e09b69
cpu/stm32: disable MPU for stm32g0
MPU is broken on cortex-m0+ in the current state
2020-08-21 14:56:47 +02:00
edb9726322
Merge pull request #14800 from benpicco/pkg/cn-cbor-1.0.0
pkg/cn-cbor bump to 1.0.0
2020-08-21 14:04:58 +02:00
40c05de192
Merge pull request #14734 from hugueslarrive/boards/nucleo-f334r8
boards/nucleo-f334r8: dma support added
2020-08-21 13:52:30 +02:00
e2d8d40792
cortexm_common: Enable MPU after configuring regions
Reordering this ensures that the MPU regions are configured before
enabling the MPU and restricting the memory access.
2020-08-21 13:38:59 +02:00
4da86404ec
boards/nucleo-l452re: use common L4 clock configuration 2020-08-21 13:03:32 +02:00