Commit Graph

12 Commits

Author SHA1 Message Date
Kelvin Lawson
b0afc266d1 atomkernel: Support thread entry points running to completion. Ports which use a thread_shell() can allow the entry point to finish and return back to the thread_shell(), which sets the terminated flag and calls the scheduler to force another thread to be scheduled in. Currently implemented in the ARM and AVR ports. 2016-05-23 20:50:51 +01:00
Kelvin Lawson
f47b0b5b3d Formatting change only. 2015-12-02 00:28:53 +00:00
Tido Klaassen
792213d66b More work on making port use newlib's reentry mechanisms
- archContextSwitch stores address of new thread's struct reent in
  ctx_switch_info
- pend_sv_handler uses address in  ctx_switch_info.reent instead of fixed
  offset into atom_tcb
- added header with defines for offsets into struct ctx_switch_info used
  in assembler code. Also added compile time verification for this offsets
2015-09-30 08:51:28 +02:00
Tido Klaassen
0be9a35aeb Some work on using newlib's reentry capabilities. 2015-09-08 15:22:24 +02:00
Kelvin Lawson
5d3f670ac0 Merge new ARM port submitted by navaro, with modifications to fit with the other Atomthreads ports, new folder structure, Makefiles and documentation. Tested on ARM926EJS using IntegratorCP platform emulated by QEMU.
Also minor changes to AVR/STM8 ports to use similar code structure throughout all ports.
2013-07-09 22:06:10 +01:00
Kelvin Lawson
34e989424f Add extern "C" modifiers to main public header files for mixing C/C++. Minor modifications to pull request from @bacek. 2012-07-13 22:13:21 +01:00
Kelvin Lawson
8de14626d0 Remove unnecessary mods from the MIPS pull request (kernel and tests folder changes are not required, only the MIPS port folder is necessary). 2011-07-28 22:22:52 +01:00
Himanshu Chauhan
83841d2673 Half way debug code of context switching.
Main thread comes up but the secondary threads doesn't
get scheduled.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
2011-05-28 01:31:28 +05:30
Kelvin Lawson
af84aa9848 Add support for architectures with stack alignment requirements in preparation for various 32 bit ports.
NOTE: The atomThreadCreate() and atmoOSInit() APIs have changed to take stack_bottom rather than stack_top and to allow optional stack-checking on a per-thread basis.
2011-05-27 16:41:18 +01:00
Kelvin Lawson
2d909ba279 Add stack usage analysis. Used for all automated test modules (if enabled) such that the automated tests can now trap some classes of thread stack overflow. ATmega port now tested on both ATMega16 and ATmega32. STM8 port not yet modified to support the new stack-checking API. 2010-03-01 20:01:10 +00:00
Kelvin Lawson
f023bf26de Put port-specific test configuration in atomport-tests.h. Rename atomuser.h to atomport.h. Non-exported port header renamed to atomport-private.h. 2010-02-01 22:49:04 +00:00
Kelvin Lawson
6d599c6729 Add Atomthreads RTOS source files. 2010-01-14 01:53:45 +00:00