Commit Graph

27 Commits (62fc1e0c3d1d766eb187fbf9a662144a7a4786a8)

Author SHA1 Message Date
Ian Martin 299a3eed3b cpu/cortexm_common: simplify ARVALID tests and fix BFARVALID test. 7 years ago
Kaspar Schleiser 0dfcefc003 cpu: cortexm_common: fix compile warning 7 years ago
Ian Martin 22b5de86a5 add mpu_stack_guard pseudomodule (just Cortex-M for now)
triggers an exception during stack overflow,
but at a cost of 32-63 bytes of RAM per thread.
7 years ago
Kaspar Schleiser 3dfafde027 cpu: cortexm_common: fix compile warning 7 years ago
Joakim Nohlgård 5cd91bc784 cortexm: Hard fault: Try to output as much as possible even with corrupt stack 7 years ago
MohmadAyman 53df3e8b57 core: cpu: provide function to acquire ISR stack usage 7 years ago
Kaspar Schleiser c3f7186d4e unify usage of inline assembly 8 years ago
Joakim Nohlgård 0ae11cc9bc cpu/cortexm_common: call hard_fault_handler using bl
Fixes this error when building with Clang 3.7.1:

fatal error: error in backend: unsupported relocation on symbol
x86_64-pc-linux-gnu-clang-3.7: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 3.7.1 (tags/RELEASE_371/final)
Target: arm-none--eabi
Thread model: posix
x86_64-pc-linux-gnu-clang-3.7: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
x86_64-pc-linux-gnu-clang-3.7: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
x86_64-pc-linux-gnu-clang-3.7: note: diagnostic msg: /tmp/vectors_cortexm-54333e.c
x86_64-pc-linux-gnu-clang-3.7: note: diagnostic msg: /tmp/vectors_cortexm-54333e.sh
x86_64-pc-linux-gnu-clang-3.7: note: diagnostic msg:

********************
8 years ago
Joakim Nohlgård efa5cd4066 cpu/cortexm_common: Fix inline asm for ARMv6-M so that it compiles in Clang as well
ARMv6 does not have the mov instruction, only movs
8 years ago
Kaspar Schleiser 9082273746 core: header cleanup 8 years ago
Hauke Petersen c389f5be02 cpu/cortexm_common: fixes to vectors_cortexm.c
- (optimization) only fill ISR stack with canary values if
  DEVELHELP macro is set (as we don't use these values otherwise)
- (cosmetic) moved define before variable definitions
8 years ago
Hauke Petersen cf11b073d6 cpu/cortexm_common: define ISR stacksize in cpu.h 8 years ago
Hauke Petersen 3ab389b1fd Merge pull request #4134 from gebart/pr/cortexm-hardfault-naked-fix
cpu/cortexm_common: only set naked attribute on DEVELHELP hardfault handler
8 years ago
Joakim Nohlgård 3033738e30 Merge pull request #4126 from gebart/pr/cortexm-r7-O0-fix
cortexm-common: Workaround for error: r7 cannot be used in asm here
8 years ago
Joakim Nohlgård c3340b7ccf cpu/cortexm_common: Use PRIx32 for printing uint32_t in hard fault handler
fixes errors like:
    error: format specifies type 'unsigned long' but the argument has
    type 'uint32_t' (aka 'unsigned int') [-Werror,-Wformat]
8 years ago
Joakim Nohlgård a5449bcbd4 cpu/cortexm_common: only set naked attribute on DEVELHELP hardfault handler
Fixes error on LLVM/Clang:

   cpu/cortexm_common/vectors_cortexm.c:287:5: error: non-ASM statement in naked function is not supported
       core_panic(PANIC_HARD_FAULT, "HARD FAULT HANDLER");
       ^
   cpu/cortexm_common/include/vectors_cortexm.h:65:46: note: attribute is here
   void hard_fault_default(void) __attribute__((naked));
                                                ^
   1 error generated.
8 years ago
daniel-k c5e220c140 cortexm_common: check for possible stack overflow in hardfault handler 8 years ago
Joakim Nohlgård 30584a49e5 cortexm-common: Workaround for error: r7 cannot be used in asm here
Fixes https://github.com/RIOT-OS/RIOT/issues/4125
8 years ago
Sebastian Sontberg bc1e6c815e cpu/cortexm_common: add used attributes for LTO 8 years ago
Joakim Gebart 56c6d629f7 cpu/cortexm_common: Improve hardfault debug information
Print more relevant information and attempt to reconstruct the state for GDB before halting.
8 years ago
Peter Kietzmann 86af1969b5 Merge pull request #3666 from daniel-k/cortexm_r13_deprecated
cortexm_common: don't compare with r13/sp in assembly, fix #3664
8 years ago
Joakim Gebart 56b0beeebe Merge pull request #3107 from gebart/pr/cppsupport
c++: Define some support functions required by GCC
8 years ago
Daniel Krebs cb4aec676b cortexm_common: don't compare with r13/sp in assembly, fix #3664 8 years ago
daniel-k 7a86344c4d cpu/cortexm_common: gather addition information on hardfault 8 years ago
Joakim Gebart 62b1435646 cortexm: Remove __dso_handle from startup.c in favour of sys/cpp11-compat/cppsupport.cpp 8 years ago
Joakim Gebart ee4182b246 cpu/cortexm_common: Overwrite stack up until the current stack pointer only. 8 years ago
Hauke Petersen c286da8d7f cpu/cortexm: unified startup code and isr handlers 8 years ago