Benjamin Valentin
ea917f4b07
cpu: cpu_print_last_instruction() -> cpu_get_caller_pc()
2022-09-15 10:49:56 +02:00
Benjamin Valentin
8cf20a286d
cpu/cortexm_common: allow to overwrite nmi_handler
...
If a user wants to handle NMI events, let them do so by
providing an implementation for nmi_handler() instead of
paniking.
2022-06-20 18:22:22 +02:00
benpicco
a64f722a42
Merge pull request #17781 from benpicco/hard_fault-BKPT
...
cpu/cortexm_common: remove breakpoint from hard_fault_handler
2022-06-07 15:28:08 +02:00
6f52b90e58
cpu/cortexm_common: enable FPU on cortexm33
2022-05-05 21:16:10 +02:00
chrysn
facb5e633f
Merge pull request #17436 from Ollrogge/reserve_flash
...
cpu: add flash_writable section to linker script
2022-03-17 21:44:32 +01:00
Benjamin Valentin
1fa1d348d8
cpu/cortexm_common: remove breakpoint from hard_fault_handler
...
The hard fault handler would normally call core_panic() which in turn
calls ps() - this already helps debugging a lot of crashes caused by
a thread stack overflow.
With the breakpoint in place, the code will not advance to this, leaving
users unknown of this feature in the dark.
On top, the breakpoint is not very helpful if thread stacks are already
corrupted.
Let's just drop it for simplicity's sake - it's not there for any other
architectures.
2022-03-09 23:32:46 +01:00
Ollrogge
5587f5d88f
cpu/cortexm_common: add flash_writable section to linker script
2022-03-07 11:23:44 +01:00
chrysn
f7dfa2f84d
Merge pull request #17133 from chrysn-pull-requests/doc-develhelp-stackoverflow-precision
...
doc: Start documenting pseudomodules
2022-01-27 15:09:22 +01:00
chrysn
bb8402fc0b
doc: Document the MPU pseudomodules
2022-01-27 13:49:25 +01:00
Fabian Hüßler
70d3d647d1
cpu/{cortexm_common, stm32}: add support for backup RAM
2022-01-21 15:53:18 +01:00
8272e4fbd2
Merge pull request #17359 from benpicco/irq_is_in-bool
...
core: change return type of irq_is_in(), irq_is_enabled() to bool
2022-01-06 18:13:20 +01:00
chrysn
afdabcf9b6
Merge pull request #16274 from chrysn-pull-requests/rust-application
...
Add some Rust building infrastructure and example
2021-12-16 16:17:28 +01:00
chrysn
1838cdf69c
rust: Add triples for M23 and M33 (but keep disabled)
2021-12-16 13:29:31 +01:00
chrysn
b557fdce55
rust: Enable on Cortex-M0(+) boards
2021-12-16 13:29:31 +01:00
MrKevinWeiss
51fdbdd75c
cpu/cortexm: fix kconfig libc_implemention
2021-12-15 08:39:00 +01:00
chrysn
a2e1b92e1d
makefiles: Define RUST_TARGET for use with Cargo / Rust
...
For RISC-V and Cortex-M-not-3, triples are known and have worked in some
configuration, but do not work at the moment and stay disabled until the
reference platforms (native, M3) have been established well.
2021-12-14 12:55:13 +01:00
Leandro Lanzieri
df7ce1c647
makefiles/kconfig: use two lists for boards and CPUs default configs
...
This introduces KCONFIG_BOARD_CONFIG and KCONFIG_CPU_CONFIG variable for
boards and CPUs (including common directories) to add default
configuration files to be merged. The current approach, as it uses
Makefile.features, would include boards first, not allowing them to
override CPU configurations.
2021-12-13 12:33:21 +01:00
Benjamin Valentin
41a5b7ef7a
core: change return type of irq_is_in(), irq_is_enabled() to bool
...
This only cleans up the API, no change in behavior or users of the API
is expected.
2021-12-08 15:53:15 +01:00
Erik Ekman
b5f96d2040
cpu/cortexm_common: Suppress cppcheck errors
...
cpu/cortexm_common/thread_arch.c:262: error (comparePointers): Comparing pointers that point to different objects
cpu/cortexm_common/thread_arch.c:266: error (comparePointers): Subtracting pointers that point to different objects
2021-11-25 13:08:51 +01:00
Marian Buschsieweke
7885130809
cpu/cortexm_common: make CI happy
2021-11-16 21:52:55 +01:00
Ollrogge
37403c09eb
periph/flashpage: fix wrong doxygen group
2021-11-15 17:25:59 +01:00
Francisco
7f3344870d
Merge pull request #16972 from Ollrogge/flashpage_pr
...
periph/flashpage: extend API
2021-10-26 12:51:05 +02:00
Ollrogge
d38f6c68b5
cpu/cortexm_common: extend flashpage API
2021-10-19 22:33:15 +02:00
Benjamin Valentin
3e20e939c6
cpu: drop cpu_init() from public headers
...
Boards are no longer supposed fo call the function, so drop it from
public header files.
2021-10-18 17:31:26 +02:00
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