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

96 Commits

Author SHA1 Message Date
079a6ec5f4 Merge pull request #6346 from haukepetersen/opt_pm_cortexmsleep
cpu/cortexm: added shared cortexm_sleep() function
2017-01-18 10:55:04 +01:00
Joakim Nohlgård
8c82d9952b cortexm_common: Fix -Wsign-compare warning in cortexm_init 2017-01-16 08:55:08 +01:00
Joakim Nohlgård
2c5e1065c5 cortexm_common: Fix unused parameter warnings in mpu_configure 2017-01-16 08:55:08 +01:00
Hauke Petersen
ed5d7ac0fd cpu/cortexm: added shared cortexm_sleep() function 2017-01-13 12:26:42 +01:00
807a190e20 cpu: cortexm: adapt to periph/pm 2017-01-12 16:26:01 +01:00
ca7bf15ac4 core: panic: adapt to pariph/pm 2017-01-12 16:26:01 +01:00
0194091673 remove obsolete lpm code 2017-01-12 11:24:15 +01:00
Hauke Petersen
04b246cb01 cpu/cortexm_common: added cortexm_isr_end() function 2016-12-21 11:27:46 +01:00
Ian Martin
299a3eed3b cpu/cortexm_common: simplify ARVALID tests and fix BFARVALID test. 2016-12-01 17:18:06 -05:00
zhuoshuguo
a60fa5b8d3 cpu/cortexm_common: fix include guards. 2016-11-16 11:45:03 +01:00
0dfcefc003 cpu: cortexm_common: fix compile warning 2016-10-27 15:20:56 +02:00
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.
2016-10-24 12:40:44 -04:00
Ian Martin
b7bd6b3479 cpu/cortexm_common: add Memory Protection Unit (MPU) driver 2016-10-19 11:12:36 -04:00
Joakim Nohlgård
11c11a5ecf Merge pull request #5727 from kaspar030/fix_panic_compile
cpu: cortexm_common: fix compile warning
2016-10-14 10:08:42 +02:00
3dfafde027 cpu: cortexm_common: fix compile warning 2016-10-07 12:06:43 +02:00
5a03f08f91 cpu: cortexm_common: compile thread_arch.c without LTO 2016-08-29 13:30:17 +02:00
0bd2805b0c cpu: cortexm_common: explicitly define isr_pendsv and isr_svc 2016-08-29 13:30:17 +02:00
Antoine Faure
31e675b359 cpu: cortex_common: Add entry point to tell gdb where to start 2016-07-23 13:27:47 +02:00
Joakim Nohlgård
5cd91bc784 cortexm: Hard fault: Try to output as much as possible even with corrupt stack 2016-07-20 13:25:23 +02:00
Joakim Nohlgård
b02e0eca47 ps: Add current stack pointer and start of stack to isr_stack ps output (DEVELHELP) 2016-07-12 10:17:49 +02:00
Joakim Nohlgård
cb19a4c709 cortexm_common: Fix isr_stack_usage
Refactor and add multiply by word size to get the usage in number of
bytes instead of in number of words.

Verified implementation by manual memory inspection in GDB.
2016-06-20 14:33:17 +02:00
Joakim Nohlgård
4c91121372 Merge pull request #5455 from locicontrols/move-stack
cortexm_common: move the stack to the bottom of RAM
2016-06-20 14:28:10 +02:00
zhuoshuguo
1cbe79a373 CPU: fix include header guards
Fix cpu/lpc2387/include/lpc2387.h
2016-06-08 16:38:20 +02:00
Martine Lenders
9b1ad7820c Merge pull request #5491 from MohmadAyman/isr_stack_usage
cpu: add capability to show stack usage of ISR
2016-06-02 12:31:06 +02:00
MohmadAyman
53df3e8b57 core: cpu: provide function to acquire ISR stack usage 2016-06-01 23:01:35 +02:00
Joakim Nohlgård
9ad9f400e6 cpu/cortexm_common: Remove register keyword from variables
register is deprecated when building C++11 code and removed in C++17,
using it will cause build failures with C++ and -Werror. The register
hint keyword is likely ignored in GCC anyway.
2016-06-01 16:12:38 +02:00
Ian Martin
87e06756a5 cortexm_common: move the stack to the bottom of RAM 2016-05-19 15:55:36 -04:00
Toon Stegen
63c0e9bec6 cortexm_common: print trapped interrupt from ipsr
The IPSR (=Interrupt Program Status Register) contains the exception
type number of the current Interrupt Service Routine. Printing this
out can be useful to detect if a certain interrupt is not implemented.
2016-04-20 11:41:13 +02:00
DipSwitch
b6140f15f3 cpu/cortex-m: Enable STKALIGN to make the Cortex-M keep the stack 8 byte aligned on 4 byte aligned stack pointers 2016-04-07 00:27:26 +02:00
c3f7186d4e unify usage of inline assembly 2016-03-31 22:23:35 +02:00
DipSwitch
64b3957323 cpu/cortexm_common: Fix cpu_sleep_until_event() 2016-03-16 00:23:50 +01:00
Joakim Nohlgård
d8b01a714c cpu/cortexm_common: Doxygen fix for cmsis_gcc.h 2016-03-14 22:16:52 +01:00
Joakim Nohlgård
61c9ba2c64 cpu/cortexm_common: Whitespace fix CMSIS header 2016-03-14 22:08:33 +01:00
Joakim Gebart
bea6cb9f15 cortexm: CMSIS: Add extern "C" to CMSIS headers 2016-03-14 22:05:57 +01:00
Joakim Nohlgård
26f43786b8 cpu/cortexm_common: Update CMSIS v4.5
Original headers unmodified from CMSIS-SP-00300-r4p5-00rel0.zip
2016-03-14 18:16:36 +01:00
6881f65f46 cpu: cortexm*: move cpu_conf.h stuff from cpu.h into cpu_conf_common.h 2016-03-05 18:20:17 +01:00
Martine Lenders
01248f0599 Merge pull request #4944 from gebart/pr/cortexm-irqn-unsigned-int
cpu/cortexm_common: use int for counter in startup IRQn loop
2016-03-04 05:40:51 +01:00
Oleg Hahm
cdd6878fca Merge pull request #4942 from gebart/pr/clang-asm
cpu/cortexm_common: Fix inline asm for ARMv6-M so that it compiles in Clang as well
2016-03-03 12:53:24 +01:00
Joakim Nohlgård
3da2c2d1c1 cpu/cortexm_common: use int for counter in startup IRQn loop 2016-03-02 10:58:59 +01:00
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:

********************
2016-03-02 10:28:10 +01:00
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
2016-03-02 10:26:55 +01:00
Hauke Petersen
eb79646ab1 cpu/cortexm_common: added sleep_until_event 2016-03-01 23:22:03 +01:00
9082273746 core: header cleanup 2016-02-28 22:46:28 +01:00
938ff5c5e7 core: cpu: sys: simplify reboot() 2016-01-27 13:30:01 +01:00
Oleg Hahm
f24e810de5 cpu cortexm_common: fix pedantic compiler warnings 2015-12-07 20:28:52 +01:00
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
2015-11-23 12:13:17 +01:00
Hauke Petersen
cf11b073d6 cpu/cortexm_common: define ISR stacksize in cpu.h 2015-11-19 11:55:35 +01:00
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
2015-11-02 18:04:57 +01:00
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
2015-10-28 07:01:32 +01:00
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]
2015-10-28 06:59:28 +01:00