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

703 Commits

Author SHA1 Message Date
Victor Arino
be146741c9 core/list: add remove method 2017-01-11 09:00:25 +01:00
Victor Arino
ea12433a8d core/mutex: support locked initialization 2016-12-14 10:24:45 +01:00
Francisco Acosta
84d0d61279 Merge pull request #5608 from gebart/pr/xtimer-ticks
xtimer: Allow arbitrary timer frequency, second attempt
2016-11-29 23:00:31 +01:00
Martine Lenders
235375f664 native: always assert() verbosely 2016-11-29 19:28:23 +01:00
Joakim Nohlgård
0ba6c9f3a4 core/sched: Use xtimer ticks for sched statistics 2016-11-28 11:00:42 +01:00
Martine Lenders
8406164ece core: fix stdio.h include for assert 2016-11-18 15:44:25 +01:00
Peter Kietzmann
11a8969ab0 Merge pull request #6003 from miri64/core/doc/msg-init-queue-power-of-two
doc: make the 2^x requirement for msg_queue more visible
2016-11-01 12:16:09 +01:00
Martine Lenders
f93ab1a1f6 doc: make the 2^x requirement for msg_queue more visible 2016-11-01 11:07:59 +01:00
Martine Lenders
61daeff04c Merge pull request #5881 from miri64/core/enh/add-verbose-assert
core: define macro for verbose behavior for assert()
2016-10-31 20:13:59 +01:00
Martine Lenders
65a11162fe core: define macro for verbose behavior for assert()
Since this is also done for MSP430 specifically that file can be
removed.
2016-10-31 13:51:54 +01:00
Ian Martin
28a7ddc9a8 core: save the stack_start in the thread context for mpu_stack_guard 2016-10-24 12:36:15 -04:00
057274b1fb Merge pull request #5877 from miri64/core/doc/assert-addr2line
core: add documentation on how to get line of failed assert()
2016-10-18 12:06:41 +02:00
Lotte Steenbrink
8bd0bd17f3 thread.h: rearrange docs, add small tutorial 2016-10-16 12:46:54 -07:00
Martine Lenders
d724b7c9aa core: add documentation on how to get line of failed assert() 2016-10-11 09:06:41 +02:00
25a6ef5273 core: sched: mark sched_run() as used 2016-08-29 13:30:17 +02:00
Ludwig Knüpfer
49e76997a5 core/panic: add missing #ifdef NDEBUG
In case NDEBUG is not defined, `crash_code` is used later on
2016-07-26 19:37:35 +02:00
7a3c63fddb core: clist: clist_lpeek(): add missing return statement 2016-07-20 22:25:48 +02:00
Martine Lenders
e16bbda5f6 Merge pull request #5629 from kaspar030/improve_clist
core: improve clist
2016-07-18 19:36:16 +02:00
3a6f95008d core: mbox: introduce thread decoupled message queues 2016-07-18 16:56:41 +02:00
d86c141842 core, tests: adapt to changed clist function names 2016-07-18 16:20:40 +02:00
9bfea9410e cib: add unsafe operations 2016-07-18 16:14:19 +02:00
6d12a9166a core: clist: API enhancements
- renamed clist_insert() -> clist_rpush()
- renamed clist_remove_head() -> clist_lpop()
- renamed clist_advance() -> clist_lpoprpush()
- added clist_lpush(),
    clist_rpop(),
    clist_remove(),
    clist_find(),
    clist_find_before(),
    clist_lpeek(),
    clist_rpeek()

- improved documentation
2016-07-18 13:18:15 +02:00
ec897a868c core, gnrc_netreg: remove redundant or unneeded clist.h include 2016-07-18 13:17:31 +02:00
Victor Arino
de173ff48f core/cib: add peek capabilities 2016-07-14 16:47:03 +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
7718f114cb all: remove pointer casts for msg.content.ptr 2016-06-02 23:13:42 +02:00
f0b44d5175 core: change type of msg.content.ptr to void* 2016-06-02 20:17:50 +02:00
MohmadAyman
53df3e8b57 core: cpu: provide function to acquire ISR stack usage 2016-06-01 23:01:35 +02:00
Martine Lenders
c313c26dbb Merge pull request #5444 from OlegHahm/msg_send_receive_fix
core: msg_send_receive if receiver is not ready
2016-05-31 20:45:57 +02:00
Oleg Hahm
dc7d191748 core: msg_send_receive if receiver is not ready 2016-05-31 20:06:35 +02:00
Andreas "Paul" Pauli
c805853c34 Merge pull request #5376 from OlegHahm/doxy_fixes
doc: document THREAD_STACKSIZE correctly and fix PRNG documentation
2016-05-18 15:00:10 +02:00
Oleg Hahm
1319c5e874 doc: add a hint to cpu_conf.h 2016-05-18 12:48:35 +02:00
Martine Lenders
15130e8674 Merge pull request #5298 from cgundogan/pr/cib/cib_get_check_fix
cib: check (write > read) explicitly
2016-05-17 23:02:13 +02:00
Oleg Hahm
435685cf4a doc: add missing information about thread_create 2016-04-21 14:38:13 +02:00
Oleg Hahm
06e5c13b3d core: doc: do not exclude CPU specific values
This patch ensures that doxygen will add the CPU dependent defines for stack sizes.
2016-04-20 18:46:14 +02:00
Hauke Petersen
f977654a70 Merge pull request #5270 from authmillenon/core/fix/mutex-debug
core: allow DEBUG in mutex.c to run without DEVELHELP
2016-04-20 15:05:11 +02:00
Martine Lenders
1750e1bad8 core: mutex: piggy-back some style fixes 2016-04-18 17:23:55 +02:00
Oleg Hahm
8690a888f5 Merge pull request #5295 from OlegHahm/msg_init_queue_assert
core: assert correct msq queue size on creation
2016-04-17 14:49:54 +02:00
Martine Lenders
85dfed3249 Merge pull request #5283 from kaspar030/make_msg_use_list
core: msg: use new list instead of priority_queue
2016-04-17 14:48:50 +02:00
Oleg Hahm
bb35913840 core: assert correct msq queue size on creation
The return value was never checked. Hence, this runtime check was rather
pointless. Better assert the correct size during development.
2016-04-17 13:55:21 +02:00
Martine Lenders
ccb4521599 core: allow DEBUG in mutex.c to run without DEVELHELP 2016-04-17 13:38:49 +02:00
Cenk Gündoğan
e7b86361e2 cib: check (write > read) explicitly 2016-04-12 08:06:13 +02:00
DipSwitch
4e8834ae87 core: Remove _t from struct names 2016-04-11 21:46:53 +02:00
Oleg Hahm
57e9a25e2b doc: a note about creating threads w/ same prio 2016-04-11 12:11:48 +02:00
Cenk Gündoğan
aa15ec59dc Merge pull request #5275 from cgundogan/pr/cib/doc_fix
cib: doc fix
2016-04-11 07:39:30 +02:00
Cenk Gündoğan
2f21c623ab core/thread_flags: remove superfluous bitarithm.h include 2016-04-10 13:01:19 +02:00
dc8f55df7e core: msg: use new list instead of priority_queue 2016-04-10 00:16:48 +02:00
Cenk Gündoğan
2adc0eae75 cib: doc fix 2016-04-09 13:01:32 +02:00
Oleg Hahm
c09190b979 Merge pull request #3851 from kaspar030/make_messaging_optional
core: make messaging optional
2016-03-30 23:56:55 +02:00
58a12e5034 core: make messaging optional 2016-03-30 23:27:09 +02:00
46143c6bdc core: thread_flags: optimize thread_flags_wait_one, fix doxygen 2016-03-30 17:11:49 +02:00
abff2e3fb7 core: introduce thread flags 2016-03-30 10:38:53 +02:00
f9f6adb48d core: clist: make singly linked 2016-03-30 00:27:49 +02:00
f626ee5969 Merge pull request #4557 from kaspar030/introduce_intrusive_singly_linked_list
core: mutex: several optimizations
2016-03-29 22:25:43 +02:00
350c341ce1 core: mutex: use of intrusive linked list instead of priority queue 2016-03-29 21:50:17 +02:00
7c39134d5d core: introduce intrusive singly linked list 2016-03-29 21:50:17 +02:00
Yonezawa-T2
1ce140d910 debug: fix compilation error for %p formatter 2016-03-29 11:46:29 +09:00
DipSwitch
0bb4748a94 core: Fix/refactor function naming in core/incude/irq.h 2016-03-20 16:47:34 +01:00
Martine Lenders
5a415a91e2 Merge pull request #4052 from IldarValiev/patch-1
Added thread existence check at thread_wakeup
2016-03-16 12:19:08 +01:00
Joakim Nohlgård
0cf0278e0f core/lpm.h: Fix Doxygen typo 2016-03-14 23:09:49 +01:00
cc1771787e core: panic: use LOG_ERROR instead of printf 2016-03-11 00:42:11 +01:00
René Kijewski
818d703810 Merge pull request #5004 from OlegHahm/core_kernel_macros_attributs_merge
core: merge kernel_macros.h and attributes.h into kernel_defines.h
2016-03-10 16:47:10 +01:00
IldarValiev
475b1af26d core: added assert to cib_init() 2016-03-10 13:32:00 +01:00
Oleg Hahm
bdcf8879fd core: merged kernel_macros.h and attributes.h
Merged into new kernel_defines.h and updated all includes.
2016-03-09 22:29:06 +01:00
IldarValiev
a8391e346e core: added documentation to cib.h
size can be equal 0 or 2^n only. Because else mask won't consist of consecutive '1' only (e.g., 0b00111111) and functions cib_get() and cib_put() will return wrong values.
2016-03-09 01:53:12 +01:00
IldarValiev
4f5bea7d99 core: thread: Added stack size validation 2016-03-07 18:56:51 +05:00
IldarValiev
bad2b5c187 core: thread: Added validation of pid 2016-03-07 18:56:47 +05:00
2b010b5337 core: rename tcb_t -> thread_t, move into thread.h 2016-03-05 18:20:17 +01:00
Joakim Nohlgård
e088403ce0 Merge pull request #4082 from daniel-k/pr/msg_reply_missing_irq_restore
core/msg: add missing irq restoration in msg_reply()
2016-03-04 15:59:06 +01:00
Oleg Hahm
76c397f252 Merge pull request #4924 from kaspar030/smaller_core_types
core: reduce types of tcb->status and tcb->priority
2016-03-02 11:15:38 +01:00
daniel-k
4295d028ec core/msg_reply: only assert target tcb, no error handling 2016-03-01 21:34:01 +01:00
a8865a2808 core: reduce types of tcb->status and tcb->priority 2016-02-29 01:48:08 +01:00
9082273746 core: header cleanup 2016-02-28 22:46:28 +01:00
bdfc76a052 core: msg: fix msg_try_receive not checking msg_waiters 2016-02-23 14:43:42 +01:00
Martine Lenders
c9f05efbb7 doc: atomic: provide explanation about why atomic_int_t is struct
See also https://github.com/RIOT-OS/RIOT/pull/2321#issuecomment-72088818
2016-02-16 13:43:10 +01:00
Hauke Petersen
35eb99a46e Merge pull request #3984 from kaspar030/simplify_reboot
core: cpu: sys: simplify reboot()
2016-01-29 14:24:08 +01:00
938ff5c5e7 core: cpu: sys: simplify reboot() 2016-01-27 13:30:01 +01:00
Martine Lenders
febcac6d43 core: add capability to output message queue 2016-01-23 15:33:48 +01:00
1d22374196 Merge pull request #4475 from authmillenon/doc/enh/msg
core: msg: update detail section on IPC
2015-12-16 23:00:15 +01:00
Martine Lenders
49167a4b7d core: msg: piggy-back some style fixes by uncrustify 2015-12-15 17:10:17 +01:00
Martine Lenders
512448ba12 core: msg: update detail section on IPC 2015-12-15 11:46:47 +01:00
64674d21d5 core: irq.h: remove dINT/eINT traces 2015-12-14 21:34:35 +01:00
Hauke Petersen
cf53aeddd8 Merge pull request #4382 from haukepetersen/rm_core_flagsh
core: move thread flags from flags.h to thread.h
2015-12-08 11:36:43 +01:00
Hauke Petersen
22428f6cfb core: adapted to renamed THREAD_FLAGS 2015-12-07 22:09:46 +01:00
Hauke Petersen
7dcb40b46a core/thread.h: renamed thread creation flags 2015-12-07 22:09:46 +01:00
Hauke Petersen
7f5ab0cd5f core: moved flags.h to thread.h 2015-12-07 22:09:46 +01:00
Oleg Hahm
a82835a72b core: mute compiler warning 2015-12-07 20:28:52 +01:00
Oleg Hahm
6de92b0843 Merge pull request #4378 from haukepetersen/fix_core_includeguards
core: fixed include guards a minor style/doxygen
2015-12-07 11:33:31 +01:00
René Kijewski
0906c729a4 Merge pull request #4379 from haukepetersen/fix_core_doc
core/atomic.h: fix doxygen to get rid of warning
2015-12-02 11:35:32 +01:00
Hauke Petersen
0f43fb9023 core/atomic.h: fix doxygen to get rid of warning 2015-12-02 11:14:07 +01:00
Hauke Petersen
f326beb3f7 core/native_sched.h: style and doxygen fixes 2015-12-02 11:11:00 +01:00
Hauke Petersen
6fc26f8d18 core: fixed include guards for selected headers 2015-12-02 11:08:23 +01:00
Oleg Hahm
349d333ede Merge pull request #3997 from DipSwitch/core_msg_avail_support
core: add support to see if there are messages available for the curr…
2015-12-02 11:07:17 +01:00
DipSwitch
15e8f4e3d1 core: add support to see if there are messages available for the current thread 2015-12-02 09:08:15 +01:00
5c0154b5de core: msg: remove pointless warning in doxygen 2015-11-28 23:59:09 +01:00
Cenk Gündoğan
acd7728dea Merge pull request #4357 from OlegHahm/assert_WARNER
core: make assertions easier to spot
2015-11-27 23:01:11 +01:00
Oleg Hahm
d86f1af34b core: make assertions easier to spot 2015-11-27 18:09:40 +01:00
Martine Lenders
5d524f947c Merge pull request #3689 from OlegHahm/priority_queue_not_add_twice
core: assertion not to add twice to priority_queue
2015-11-27 16:29:44 +01:00
Martine Lenders
0532d98b51 Merge pull request #3934 from locicontrols/sched-test-stack2
core: fix stack test when SCHED_TEST_STACK=1 but DEVELHELP=0
2015-11-27 16:25:43 +01:00
Oleg Hahm
07e2505ebd core: assertion not to add twice to priority_queue 2015-11-27 14:57:17 +01:00
BytesGalore
2b2408ddb3 core: fix typo in kernel_macros.h (alternative to #3364) 2015-11-24 17:42:10 +01:00
Ludwig Knüpfer
8320a121ee core/log: add @file doxygen command
Without this command the `log.h` documentation gets mangled with the
`core_util` documentation.
2015-11-01 15:21:46 +01:00
Oleg Hahm
bb306038ae core: disallow msg_send_receive() on same thread 2015-09-29 12:45:27 +02:00
Ludwig Knüpfer
eda6328e21 documentation: update my name (Ortmann -> Knüpfer) 2015-09-27 18:58:30 +02:00
Ian Martin
2579e64e9f core: fix stack test when SCHED_TEST_STACK=1 but DEVELHELP=0 2015-09-22 11:59:21 -04:00
Cenk Gündoğan
8aa04e82a0 core/panic: call cpu_print_last_instruction before printing other messages 2015-09-22 14:54:55 +02:00
Joakim Nohlgård
98c465008b all: Update @gebart family name, email 2015-09-20 13:47:39 +02:00
Oleg Hahm
e15bdd257a debug: replace __FILE__ by RIOT_RELATIVE_FILE 2015-09-20 01:51:47 +02:00
Oleg Hahm
ac88d7960c core: remove DEBUGF macro 2015-09-20 01:51:47 +02:00
Hauke Petersen
3b26f742cd core/lpm: removed hwtimer dependent flag 2015-09-17 11:26:45 +02:00
085383bfae core: remove hwtimer, switch schedstatistics to xtimer 2015-09-16 10:58:51 +02:00
Oleg Hahm
ef5a7e7d05 core mutex: use ATOMIC_VALUE for debug output 2015-09-16 03:30:05 +02:00
Martine Lenders
93f555ef69 Merge pull request #3782 from OlegHahm/RIOT_assert
core: RIOT's own assert macro
2015-09-12 13:12:34 +02:00
Oleg Hahm
49917a5797 core: cpu: fix check for DEVELHELP 2015-09-12 12:43:15 +02:00
Oleg Hahm
f3245cecac core: panic: last instruction's address for assert 2015-09-11 23:23:31 +02:00
René Kijewski
888e146fe4 core: define assertion failed message in one place 2015-09-11 23:23:30 +02:00
Oleg Hahm
c4ba1c53ed core: added RIOT's own assert macro 2015-09-11 16:09:28 +02:00
Hauke Petersen
5e7a026365 core: optimized output on kernel-init
This PR saves some memory by ommiting redundant output. The printing
of "jumpint into first task..." is obsolete, as the thread_create
calls are not checked for errors anymore.

Further the version print is moved into the main_trampoline. This
prevents the STDLIB from using precious stack space on the ISR
stack, on which it is running before jumping into main - hence
opening the option to decrease the stacksize for the ISR stack.
2015-09-09 16:23:46 +02:00
Oleg Hahm
e2639d7f83 core: use enums for panic 2015-09-04 16:14:35 +02:00
René Kijewski
c0c2d8660f core: missing restoreIRQ in mutex_unlock
`mutex_unlock()` did not restore IRQsbefore yielding for the woken up
thread.
2015-08-21 09:16:54 +02:00
afd68d1f31 core: remove needless thread creation checks in kernel_init 2015-08-14 01:35:48 +02:00
Oleg Hahm
705e70e6c6 Merge pull request #3322 from gebart/pr/add-missing-inttypes-includes
Add missing inttypes.h includes
2015-07-07 16:49:39 +02:00
c762b43221 debug: add DEBUG_EXTRA_STACKSIZE define 2015-07-07 11:47:32 +02:00
Joakim Gebart
555085acdc core/sched: Add missing inttypes.h include when debugging. 2015-07-07 00:53:26 +02:00
Joakim Gebart
23e01dd4c8 core: Add C11 atomic helpers for GCC
These functions are required for std::atomic in C++11 on Cortex-M0.
The functions are only used if GCC does not know how to generate any
lock-free atomic hardware operations.
2015-07-06 12:17:57 +02:00
Martine Lenders
ed5b960928 Merge pull request #3192 from kaspar030/fix_hwtimer_warning
core: hwtimer: fix debug message newline
2015-06-14 17:49:07 +02:00
ximus
5f422a9d07 Fix write of thread stack end marker
Only the lower half of the stack end marker is being writtem
to the stack buffer end.
2015-06-12 16:02:40 -07:00
a7e50d3c4d core: hwtimer: fix debug message newline 2015-06-11 21:31:58 +02:00
Lotte Steenbrink
738c700daf Merge pull request #3141 from Lotterleben/panic_warn
core: get rid of warning: unused parameter 'crash_code'
2015-06-11 16:44:32 +02:00
Martine Lenders
905aacd87f core: include missing thread.h to debug.h 2015-06-02 18:01:16 +02:00
Lotte Steenbrink
6274a2b982 get rid of warning: unused parameter 'crash_code' 2015-06-01 12:41:07 -07:00
f953ae8187 core: optimize panic.c 2015-05-29 17:17:11 +02:00
Hauke Petersen
9943f51080 global: renamed cpu-conf.h into cpu_conf.h 2015-05-28 15:45:05 +02:00
Joakim Gebart
41ef11c215 core: Remove atomic_set_return() 2015-05-26 21:24:10 +02:00
Joakim Gebart
748499b737 core/mutex: Use atomic_int_t for lock variable. 2015-05-26 21:23:48 +02:00
Joakim Gebart
13832d8e62 everything: Remove filename from @file Doxygen command 2015-05-22 07:34:41 +02:00
Lucas Jenss
426170b064 Improve naming of thread stacksize/priority constants
As discussed in #2725, this commit renames a number of stacksize constants to
better convey their intended usage. In addition, constants for thread priority
are given a `THREAD_` prefix. Changes are:

* KERNEL_CONF_STACKSIZE_PRINTF renamed to THREAD_EXTRA_STACKSIZE_PRINTF
* KERNEL_CONF_STACKSIZE_DEFAULT renamed to THREAD_STACKSIZE_DEFAULT
* KERNEL_CONF_STACKSIZE_IDLE renamed to THREAD_STACKSIZE_IDLE
* KERNEL_CONF_STACKSIZE_MAIN renamed to THREAD_STACKSIZE_MAIN
* Move thread stacksizes from kernel.h to thread.h, since the prefix changed
* PRIORITY_MIN renamed to THREAD_PRIORITY_MIN
* PRIORITY_IDLE renamed to THREAD_PRIORITY_IDLE
* PRIORITY_MAIN renamed to THREAD_PRIORITY_MAIN
* Move thread priorities from kernel.h to thread.h since the prefix has changed
* MINIMUM_STACK_SIZE renamed to THREAD_STACKSIZE_MINIMUM for consistency
2015-05-21 00:14:23 +02:00
Joseph Noir
bddaee751d Add replacement headers for thread, mutex and cond
These headers do not provide full stl functionality,
but a small subset:
* thread and this_thread
* condition_variable (some timed functions are missing)
* mutex, lock_guard and unique_lock
2015-05-18 13:57:02 +02:00
c944d54171 core: log: introduce logging API 2015-05-17 21:49:22 +02:00
Oleg Hahm
4e7b89599b core: print thread table on crash 2015-05-12 07:46:10 +02:00
Oleg Hahm
cb1f047f59 core: unified core_panic implementation 2015-05-10 11:58:43 +02:00
Oleg Hahm
828839316b core: renamed crash.h to panic.h 2015-05-09 18:44:10 +02:00
Joakim Gebart
215ccc1213 core: Introduce atomic counters
- Move generic implementation of atomic_set_return to core/atomic.c
 - Generic implementation of atomic compare and swap in core/atomic.c
 - atomic_cas is used to implement atomic counters in core/include/atomic.h
 - atomic_int_t is an atomic integer type
 - ATOMIC_INIT can be used as an initializer for atomic_int_t
 - ATOMIC_VALUE gets a reference to the value of an atomic integer
2015-05-07 18:52:13 +02:00
Oleg Hahm
89e871e7e3 doc: fixes doxygen warnings in core 2015-04-21 18:53:36 +02:00
Martine Lenders
4e7a32efc1 core: Allow debug messages without DEVELHELP 2015-04-10 09:15:34 +02:00
Martine Lenders
5214e14e66 Revert "debug.h: check stacksize fixed" 2015-03-31 22:38:04 +02:00
Simon Brummer
b495c24609 debug.h: check stacksize fixed 2015-03-31 13:26:21 +02:00
altairpearl
a409191b71 core: Updated include guards to remove leading underscores 2015-03-30 06:10:58 +05:30
Ludwig Ortmann
d701cefd5e Revert "core: limit message queue size" 2015-03-27 22:46:40 +01:00
Martine Lenders
2bb5468df4 Merge pull request #2674 from Darredevil/patch-1
core: limit message queue size
2015-03-27 22:40:34 +01:00