Benjamin Valentin
bcb0df8e18
cpu/cortexm_common: call cpu_init()
2021-10-13 23:21:56 +02:00
Jean Pierre Dudey
ffff68deaf
Merge pull request #16813 from jeandudey/doc1
...
cpu: fix doxygen grouping warnings
2021-09-13 11:30:27 +02:00
Jean-Pierre De Jesus DIAZ
51bab0a5a9
cpu/cortexm_common: fix doxygen grouping warnings
...
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
MrKevinWeiss
636c6c4cdb
cpu/cortexm: Use DEVELHELP to add stack guard
2021-09-08 12:40:30 +02:00
Hauke Petersen
65b7f84568
cpu/cortexm_common: implement irq_is_enabled()
2021-08-25 08:01:05 +02:00
8f10f22b1f
cpu/cortexm: ldscripts: bkup-ram -> bkup_ram
...
Fixes this error with binutils 2.37:
```
/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/bin/ld:cortexm_base.ld:217: warning: memory region `bkup' not declared
/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/bin/ld:cortexm_base.ld:217: syntax error
```
2021-08-18 10:29:38 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines
2021-08-13 19:50:38 +02:00
Benjamin Valentin
6d42c9fcfe
cpu: make newlib_nano a DEFAULT_MODULE
...
This allows to disable nanospecs with
DISABLE_MODULE += newlib_nano
if a full-features version of newlib is desired.
2021-05-04 12:12:36 +02:00
Sebastiaan de Schaetzen
e3c9b0c4ca
cortexm: initialise fpu early
2021-04-29 13:19:47 +02:00
Hauke Petersen
899fe63fe2
cpu/cortexm_common/kconfig: add dbgpin feature
2021-02-26 11:34:52 +01:00
Hauke Petersen
47a031e483
cpu/cortexm_common: add dbgpin initialization
2021-02-26 11:34:52 +01:00
4dc8895093
cpu/cortexm_common: always add jlink as supported programmer
2021-02-24 13:27:04 +01:00
858b5ca6ed
xfa: remove obsolete empty xfa.ld
2021-02-18 10:46:08 +01:00
d8d34e033c
cpu/cortexm_common: add XFA handling to linkerscript
...
The global core/ldscripts/xfa.ld doesn't match our cortexm_base.ld.
This commit directly adds the two XFA lines to cortexm_base.ld.
In addition to that, a dummy (empty) xfa.ld is added, which the linker will pick
instead of core/ldscripts/xfa.ld, effectingly not using it.
2021-02-18 10:46:08 +01:00
Francisco Molina
63a2a6ce1b
treewide: model newlib as a FEATURE
2021-01-27 09:24:25 +01:00
benpicco
4c403d6559
Merge pull request #15788 from bergzand/pr/core/inline_thread_yield_higher
...
core/thread: Allow for inline thread_yield_higher
2021-01-22 20:25:11 +01:00
Marian Buschsieweke
716441d0c3
cpu/cortexm_common: fix atomic_utils_arch.h
...
Only use bit-banding if all of SRAM supports bit-banding
2021-01-20 09:19:33 +01:00
0129e73ec0
cpu/cortexm_common: Inline thread_yield_higher function
2021-01-19 11:03:21 +01:00
6d3d067443
cpu/cortexm_common: Do not use SVC for cpu_switch_context_exit
...
Directly use the pendsv interrupt instead of chaining through the SVC
interrupt
2021-01-18 16:27:17 +01:00
dylad
9d02efb4ea
cpu/cortexm_common: increase RIOTBOOT_LEN size when usbus_dfu is used
2021-01-12 11:34:22 +01:00
Marian Buschsieweke
277ddcb108
cpu/cortexm_common: fix select in Kconfig
...
Only select MODULE_MALLOC_THREAD_SAFE if TEST_KCONFIG is true.
2020-12-18 12:50:33 +01:00
Marian Buschsieweke
c8d16d21f7
Merge pull request #15606 from maribu/malloc-newlib-picolibc
...
sys/malloc_thread_safe: new module
2020-12-17 19:55:32 +01:00
Marian Buschsieweke
09b41d2e1e
cpu/cortexm_common: use malloc_thread_safe module
2020-12-17 15:39:05 +01:00
8f1a42cbbf
cpu/cortexm_common: fix r12 clobber in pendsv for Cortex-M0
2020-12-15 13:16:02 +01:00
benpicco
c5b5788eb7
Merge pull request #15570 from benpicco/sys/bit.h
...
sys/bit: move bit.h header to sys/
2020-12-11 08:36:36 +01:00
Benjamin Valentin
e300dfe47e
sys/bit: move bit.h from cortexm_common/ to sys/
...
The bit access functions are not tied to Cortex-M CPUs, here they only
provide optimisations via bit-banding.
But the functions are generally useful - so move them to an arch independent
location.
2020-12-08 17:07:41 +01:00
04ca147f59
cpu/cortexm_common: fix r12 clobber in pendsv for Cortex-M3+
2020-12-08 13:29:54 +01:00
977f0dfd70
cpu/cortexm_common: split isr_pendsv()
2020-12-08 10:14:45 +01:00
Marian Buschsieweke
dd48ced151
cpu/*/atomic_utils_arch.h: Add volatile qualifier
2020-11-24 14:00:52 +01:00
benpicco
1f7fdbc97a
Merge pull request #15099 from maribu/cortexm-common-cast-align
...
cpu/cortexm_common: Silence -Wcast-align false positives
2020-11-18 00:38:03 +01:00
792e031a95
Merge pull request #14331 from maribu/atomic_utils
...
sys/atomic_utils: Functions for atomic access
2020-11-12 21:44:53 +01:00
Marian Buschsieweke
a3e2d27799
cpu/cortexm_common: Add atomic_utils_arch.h
2020-11-10 10:55:13 +01:00
Bas Stottelaar
22243aec7a
cpu/*: realign ENABLE_DEBUG
2020-10-23 00:46:26 +02:00
Benjamin Valentin
c48b331051
cpu/cortexm_common: flush pipeline before disabling interrupts in idle
...
When enabling & disabling interrupts back-to-back pending interrupts
are not serviced on Cortex-M23/M33.
Flush the pipeline to give interrupts a chance of executing in `sched_arch_idle()`.
This fixes `no_idle_thread` on Cortex-M23.
2020-10-16 15:36:28 +02:00
160d9a53b9
cpu/cortexm_common: also check for picolibc in USEMODULE
2020-10-15 18:52:51 +02:00
8df645cfe9
Merge pull request #15011 from benpicco/picolobc_feature
...
picolibc: model as a feature
2020-10-14 17:02:04 +02:00
Leandro Lanzieri
4d7ea1b50a
makefiles/kconfig: always allow to use KCONFIG_ADD_CONFIG
2020-10-13 09:53:00 +02:00
benpicco
c979fda1f3
Merge pull request #14367 from basilfx/feature/cortex_m33
...
cpu/cortex: add initial support for Cortex-M33
2020-10-08 22:55:06 +02:00
Bas Stottelaar
0f8cecb50b
cpu/cortexm_common: add support for Cortex-M33
2020-10-06 17:11:26 +02:00
2609dc1aa7
cpu/cortexm_common: fix typo 'occured' -> 'occurred'
2020-10-02 07:56:27 +02:00
e5ca237318
cpu/cortexm_common: fix typo 'pre-empt' -> 'preempt'
...
Also fix typo 'efficency' -> 'efficiency'
2020-10-02 07:53:54 +02:00
Marian Buschsieweke
30bebdb3ff
cpu/cortexm_common: Add architecture_arch.h
2020-09-29 12:34:00 +02:00
Marian Buschsieweke
0e097b54a4
cpu/cortexm_common: Silence -Wcast-align false positives
...
Verified that each warning generated by -Wcast-align is indeed a false positive
and used an (intermediate) cast to `uintptr_t` to silence the warnings.
2020-09-28 10:45:50 +02:00
Marian Buschsieweke
49f3d1056d
cpu/cortexm_common: Code style
...
Fix code alignment
2020-09-25 13:58:25 +02:00
Marian Buschsieweke
304f4ec7d4
cpu/cortexm_common: flush pipeline after PendSV
...
https://interrupt.memfault.com/blog/arm-cortex-m-exceptions-and-nvic#pendsv-example
2020-09-25 13:58:06 +02:00
eb73515e2c
cortexm_common: Enable no_thread_idle for all architectures
2020-09-23 11:02:01 +02:00
ba58273b04
cortexm_common: Enable using pendsv IRQ at lower priority
...
This modifies the cortex-m thread specifics to allow running the PendSV
interrupt continuously at lower priority and removes the priority
modifications during the interrupt itself. Interrupts are disabled
during the scheduling itself, but enabled briefly after the sleep to
ensure that they are handled if activated during the scheduling or the
sleep.
2020-09-23 11:01:29 +02:00
Benjamin Valentin
cff8e862b8
picolibc: model as a feature
2020-09-15 22:11:21 +02:00
Marian Buschsieweke
f5398cf57b
Merge pull request #14940 from benpicco/cpu/cortexm_common-puf_sram
...
cpu/cortexm_common: advertise puf_sram feature
2020-09-15 10:58:41 +02:00
Benjamin Valentin
d9116684e5
cpu/cortexm_common: advertise puf_sram feature
...
`puf_sram` is a feature of the linker script, it does not need vendor
specific hardware support.
2020-09-11 16:30:45 +02:00