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

117 Commits

Author SHA1 Message Date
Teufelchen1
c8d5fe2352 boards/cpu: Add limited GBA boot support to RIOT 2024-04-10 17:06:14 +02:00
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
MrKevinWeiss
7a68fb0d5e
*Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
Teufelchen1
583a1da348 cpu/arm7: Fix undefined behavior based on invalid assembly 2023-05-19 11:34:30 +02:00
Benjamin Valentin
aa376f05c0 cpu/arm7_common: drop cyclic include 2022-12-13 15:55:17 +01:00
Marian Buschsieweke
f57a15131e
cpu/arm7_common: align stacks correctly
`thread_stack_init()` didn't correctly set up the stack alignment.
This fixes the issue and brings the function closer to the Cortex M
version, laying the groundwork for future code duplication.

This fixes https://github.com/RIOT-OS/RIOT/issues/11885
2022-10-12 21:53:16 +02:00
Marian Buschsieweke
e7c030cc86
cpu/arm7_common: fix compilation with 12.2.0
This fixes:

    Assembler messages:
    Fatal error: unknown option `-ggdb'
2022-09-23 18:41:12 +02:00
bca6f44edc
cpu/arm7_common: uncrustify vectors.c 2022-04-28 11:57:05 +02:00
Keith Packard
b21e624280 cpu/arm7, arch/cortexm: Remove -fno-builtin flag
This flag disables all builtin functions provided by the compiler as
well as disabling all optimizations and error checking related to
standard C library functions. If you're using a C library which
conforms to the ANSI C standard, you want to leave these compiler
features enabled.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-04-02 16:58:09 -07: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
Leandro Lanzieri
81d646ea03
cpu/arm7_common: model Kconfig 2021-12-01 10:14:32 +01:00
Marian Buschsieweke
fcba75d86d
cpu/arm7_common: suppress false positives of cppcheck 2021-11-16 21:51:48 +01:00
Jean-Pierre De Jesus DIAZ
8c9759063e cpu/arm7_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-05 20:38:30 +02:00
Hauke Petersen
7baf5b4a46 cpu/arm7: add irq_is_enabled() 2021-08-25 08:01:05 +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
Francisco Molina
63a2a6ce1b
treewide: model newlib as a FEATURE 2021-01-27 09:24:25 +01:00
84dfc88ca3
cpu/arm7_common: Inline thread_yield_higher function 2021-01-20 10:37:42 +01:00
Marian Buschsieweke
915d14eb98
cpu/arm7_common: use malloc_thread_safe
This should fix concurrent dynamic memory allocation.
2020-12-18 17:23:12 +01:00
Marian Buschsieweke
dd48ced151
cpu/*/atomic_utils_arch.h: Add volatile qualifier 2020-11-24 14:00:52 +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
9c6aed75e6
cpu/arm7_common: Add atomic_utils_arch.h 2020-11-10 10:55:13 +01:00
8df645cfe9
Merge pull request #15011 from benpicco/picolobc_feature
picolibc: model as a feature
2020-10-14 17:02:04 +02:00
Marian Buschsieweke
a206df5399
Merge pull request #15104 from maribu/platform
sys/architecture: New module to access architecture internals in platform-independent way
2020-09-29 18:12:34 +02:00
Marian Buschsieweke
29132c9013
cpu/arm7_common: Add architecture_arch.h 2020-09-29 12:34:00 +02:00
Marian Buschsieweke
833afc03e1
cpu/arm7_common: Silence -Wcast-align
- Enforced that ISR_STACKSIZE is indeed a multiple of 4
- With this enforced, every cast that triggers a -Wcast-align warning is now
  a false positives, so those were silenced by (intermediately) casting to
  `uintptr_t`.
2020-09-28 11:03:33 +02:00
Marian Buschsieweke
cc2382220f
cpu/arm7_common: Align thread stacks to 32 bit
This didn't change binaries for me. Either the linker script already took care
of it through the section names of the stacks, or I just was lucky. If I was
just luck, this fixes a bug. If not, it makes the hidden alignment explicit in
the C code, so that code review is easier.
2020-09-28 11:00:34 +02:00
Benjamin Valentin
cff8e862b8 picolibc: model as a feature 2020-09-15 22:11:21 +02:00
Cenk Gündoğan
0d0bc91553
Merge pull request #14754 from leandrolanzieri/pr/no_archives
build system: link object files
2020-09-10 09:36:29 +02:00
Francisco
f08e65cd0c
Merge pull request #14981 from maribu/target-arch
build system: Overwrite TARGET_ARCH per arch
2020-09-09 09:10:52 +02:00
Marian Buschsieweke
7c1949341e
build system: Overwrite TARGET_ARCH per arch
Add `TARGET_ARCH_<ARCH>` for each architecture (e.g. `TARGET_ARCH_CORTEX` for
Cortex M) to allow users to overwrite the target triple for a specific arch
from ~/.profile or ~/.bashrc (or the like) without overwriting it for all others
as well.
2020-09-08 22:28:41 +02:00
Leandro Lanzieri
81cb769cad
makefiles: avoid building archives when compiling 2020-09-04 15:01:10 +02:00
Benjamin Valentin
727e9240eb cpu/arm7_common: enable support for picolibc 2020-08-24 18:08:08 +02:00
Keith Packard
e215261ced picolibc: Use most NEWLIB code with picolibc
In most places, picolibc and newlib are the same, so use
the existing newlib code when compiling with picolibc.

Signed-off-by: Keith Packard <keithp@keithp.com>
2020-08-24 08:26:16 -07:00
Marian Buschsieweke
da4979963d
cpu/arm7_common: Don't access sched_active_*
Replaced accesses to sched_active_* with API calls in C files
2020-08-17 11:22:03 +02:00
d59233baf1
Merge pull request #14556 from benpicco/bitarithm_test_and_clear
core/bitarithm: add bitarithm_test_and_clear()
2020-07-28 10:11:47 +02:00
Marian Buschsieweke
c6df3ad643
cpu/arm7_common/Kconfig: Select HAS_LIBSTDCPP 2020-07-23 20:30:26 +02:00
benpicco
f3bce19646
Merge pull request #14503 from maribu/cpp-feature
build system: Add libstdcpp feature and doc
2020-07-23 19:05:10 +02:00
Benjamin Valentin
464dc63f08 cpu/arm7_common: add __ARM_FEATURE_CLZ feature test
The feature test macro should work on all ARM CPUs supported by gcc.
2020-07-21 16:03:59 +02:00
Leandro Lanzieri
c71c2b79a7
cpu/arm7_common: Add Kconfig symbols
HAS_ARCH_ARM features now is moved to Kconfig.features as it is being
used by multiple architectures.
2020-07-16 19:03:38 +02:00
Marian Buschsieweke
cf482c5d46
build system: Add libstdcpp feature and doc
- Add libstdcpp feature to indicate a platform is providing a libstdc++
  implementation ready for use
- The existing cpp feature now only indicates a working C++ toolchain without
  libstdc++. (E.g. still useful for the Arduino compatibility layer.)
- Added libstdcpp as required feature were needed
- Added some documentation on C++ on RIOT
2020-07-15 11:45:22 +02:00
Benjamin Valentin
e26ed32cd6 cpu/arm7_common: simplify irq_restore()
We do not manipulate the CPSR register outside of irq_%, so we can just
restore it's previous value and don't have to fiddle with the IRQ MASK bit.

See https://www.keil.com/pack/doc/CMSIS/Core_A/html/group__CMSIS__CPSR.html
2020-05-15 13:43:04 +02:00
Benjamin Valentin
8d0e902d38 cpu/arm7_common: add inlined header only def for irq_% 2020-05-15 13:43:04 +02:00
benpicco
99f3f67e67
Merge pull request #13317 from benpicco/arm7-event_thread
tests/event_threads: remove arch_arm7 from blacklist
2020-02-26 08:39:00 +01:00
ed101a6b92
cpu: remove useless export of TARGET_ARCH 2020-02-25 09:42:11 +01:00
92f2b820cd
cpu: remove exports of UNDEF vars 2020-02-25 09:40:34 +01:00
Benjamin Valentin
ceee5b1809 cpu/lpc2387: don't define interrupt stack size in linkerscript
Define the interrupt stacks in C code like it is done for Cortex-M.
2020-02-11 15:39:34 +01:00
Benjamin Valentin
76e19602a2 cpu/lpc2387: rename cpu_woke_from_backup()
The function would always return `true` after early boot, so it
is not very useful for applications.

Now it will only (but always) return true when we woke from Deep Sleep
*after* early boot. This makes it behave the same ways as the function
of the same name on SAME54.

Rename the existing function to cpu_backup_ram_is_initialized() to better
match it's semantics.
2020-02-10 23:04:47 +01:00
98780ea023
cpu/armv7: move dependencies to Makefile.dep 2020-01-28 13:20:52 +01:00
Sören Tempel
5ef5ab7e4b Add CPU feature for stack smash protections 2020-01-22 15:59:02 +01:00