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

47 Commits

Author SHA1 Message Date
Marian Buschsieweke
97857d2740
cpu/msp430_common: add support for MSP432F2618 2023-06-08 23:42:50 +02:00
Benjamin Valentin
ea917f4b07 cpu: cpu_print_last_instruction() -> cpu_get_caller_pc() 2022-09-15 10:49:56 +02: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
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
Jean-Pierre De Jesus DIAZ
63017413e9 cpu/msp430*: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Hauke Petersen
d65442a32b cpu/msp430: implement 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
bce9e3caeb
cpu/msp430_common: Add dummy thread_arch.h header 2021-01-19 11:03:22 +01:00
Marian Buschsieweke
dd48ced151
cpu/*/atomic_utils_arch.h: Add volatile qualifier 2020-11-24 14:00:52 +01:00
benpicco
d9598a0f54
Merge pull request #15412 from bergzand/pr/flashpage/merge_raw
periph_flashpage: Make pagewise API optional
2020-11-12 22:32:21 +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
61052dbed7
msp430: Adapt to flashpage/flashpage_pagewise API 2020-11-11 23:16:41 +01:00
Marian Buschsieweke
3f4577d430
cpu/msp430_common: Add atomic_utils_arch.h 2020-11-10 10:55:13 +01:00
Marian Buschsieweke
008e2d3b97
cpu/msp430_common: Prevent conflicting defines
irq_arch.h previously included cpu.h, which in term included the vendor header
files. Those were needed to get the GIE define (general interrupt enable bit).
However, the vendor files use fancy defines like `#define N (0x0004)` that
easily conflict with application code. Due to the widespread use of the IRQ API,
it is better to not include the vendor files in irq_arch.h.

This commit adds a local define for the GIE bit and uses this instead of
including cpu.h.
2020-11-06 21:10:19 +01:00
Marian Buschsieweke
3812ff7689
cpu/msp430_common: Add architecture_arch.h 2020-09-29 12:33:59 +02:00
Marian Buschsieweke
c01ef33ccc
cpu/msp430_common: Don't access sched_active_*
Replaced accesses to sched_active_* with API calls in C files
2020-08-17 12:16:07 +02:00
789f10e816 cpu/msp430_common: increase THREAD_STACKSIZE_DEFAULT to 384
Both tests/pthread_tls and tests/prng_sha256prng fail without this, but
other platforms run fine with their defaults. Lets consider the higher
value a better default.
2020-08-05 14:32:58 +02:00
5a00e2e36c cpu/msp430_common: use __stack for ISR stacks 2020-08-05 14:32:58 +02:00
ef099f9d46 cpu/msp430_common: add NOPs to irq functions
They might not be necessary, but GCC warns if they're absent.
Thus let's pay the one or two extra instructions for silencing the
warnings.
2020-08-05 14:32:58 +02:00
fd335d30ee cpu/msp430: re-create c11_atomics_compat_cpu.hpp using msp430-elf-gcc 2020-08-05 14:32:58 +02:00
8753457e45 cpu/msp430_common: use default newlib heap_stats 2020-08-05 14:29:07 +02:00
30cf61dd35 cpu/msp430: remove obsolete msp430 specific headers 2020-08-05 14:29:07 +02:00
Marian Buschsieweke
1a8defd209
cpu/msp430_common: Refactor cpu.{c,h}
Drop `__enable_irq()` and `__disable_irq()` and replace single remaining
call of them with the standard IRQ API, as this is now equally fast.
2020-07-15 13:09:11 +02:00
Marian Buschsieweke
c5c83cfe3c
cpu/msp430_common: Update to inline-able IRQ API
- Updated to inline-able IRQ API
- Improved robustness of functions
    - Added memory barrier to prevent the compiler from moving code outside of
      a critical section guarded by irq_disable() ... irq_restore()
- Reduced overhead of `irq_disable()`
    - After clearing the global interrupt enable (GIE) bit, IRQs remain enabled
      for up to one CPU cycle
    - The previous implementation just added a nop to fill that cycle
    - This implementation uses the cycle for masking the return value
- Reduced overhead of `irq_restore()`
    - Now only one CPU cycle is needed
- `irq_disable()`, `irq_restore()`, and `irq_enable()` work now in constant time
2020-06-25 21:32:17 +02:00
Akshai M
5523d119b6 gnrc/pktbuf : Move 'GNRC_PKTBUF_SIZE' to 'CONFIG_' 2020-06-11 14:46:36 +05:30
Marian Buschsieweke
ac246cfd10
cpu/msp430_common: Fix missing include 2020-05-04 10:58:36 +02:00
d0d6e53ff4
Merge pull request #11960 from fjmolinas/pr_msp430_flashpage_raw
cpu/msp430_common: add flashpage_raw
2019-11-25 12:48:48 +01:00
fjmolinas
5368415c9a cpu/msp430_common: add flashpage_raw support 2019-11-24 13:19:19 +01:00
Francisco Molina
291727c9e7 cpu/msp430_common: specify FLASHPAGE_SIZE/NUMOF type
- Since msp430 uses 16bit it is important that the variables
  are treated as unsigned and not int so FLASHPAGE_NUMOF*FLASHPAGE_SIZE
  doesn't overflow
2019-11-24 13:19:17 +01:00
Francisco Molina
22177258df msp430_common/include: fix FLASHPAGE definitions
- TI documentation for msp430f1xx is ambiguous regarding length
  of some memmory sectors. For some cpu's the acual size is 1/4 byte
  smaller than advertised and one of the sectors is actually 256b and
  not 512.
  ref: https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/798838/2962979#2962979
- Remove the first 256b sector from usage since there is not support for
  variable sized pages
- Fix msp430f2617 FLASHPAGE_NUMOFF to represent accesible memory
2019-11-24 13:18:54 +01:00
ac7027268c cpu/msp430_common: fix typos 2019-11-23 22:39:36 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
Marian Buschsieweke
314184adb5
cpu: Platform specific C11 atomics compat headers
Added headers to define platform specific sizes and types for the C11 atomics
compatibility module for C++.
2019-10-24 23:08:36 +02:00
Gunar Schorcht
a9db53e04a cpu/msp430_common: changes for heap command 2019-09-05 09:20:55 +02:00
PeterKietzmann
df58b7293b cpu/msp430: increase default stacksize for gnrc_ipv6 thread 2018-09-26 11:06:05 +02:00
Joakim Nohlgård
d512967fb6 Merge pull request #7512 from aabadie/cpu_mips_doc
cpu: doxygen cleanup
2017-09-01 11:34:08 +02:00
Hauke Petersen
25f285f1d1 cpu/msp430: added flashpage driver implementation 2017-08-29 12:08:33 +02:00
7222f76ac0 cpu/msp430: cleanup doxygen grouping 2017-08-28 14:26:10 +02:00
0fcc7d3834 cleanup: apply headerguard script output 2017-05-24 17:54:02 +02:00
Joakim Nohlgård
5e27bf4f31 msp430: Add all expected POSIX unistd.h declarations 2017-03-07 17:59:57 +01:00
Vincent Dupont
3485ab4e96 msp430: add libc missing symbols and defines 2017-03-07 17:59:57 +01:00
Joakim Nohlgård
33566a2fe7 msp430: Discard order argument when using __sync_xxx for atomics 2017-03-07 10:21:37 +01:00
Joakim Nohlgård
0cb384829c msp430-common: Add stdatomic.h, sys/cdefs.h, sys/features.h from newlib 2017-02-08 16:23:47 +01:00
Joakim Nohlgård
48eeda4126 msp430-common: stdio.h: Move extern "C" brace to correct place 2017-02-08 16:06:09 +01:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01:00
Hauke Petersen
63599e25b4 cpu/msp430_common: fixed doxygen for msp430_types.h 2017-01-16 12:22:23 +01:00
Hauke Petersen
f8eaff4bbe cpu: moved msp430-common to msp430_common 2017-01-13 13:33:32 +01:00