Commit Graph

42 Commits

Author SHA1 Message Date
Kelvin Lawson
f29a33fd62 timer8.c: Add automated test to check for the behaviour fixed in future. 2016-05-25 20:03:43 +01:00
Kelvin Lawson
d9b1891eb3 Merge branch 'master' of https://github.com/simonccn/atomthreads into simonccn-master 2016-05-25 19:23:06 +01:00
Tido Klaassen
a710eaed0a Fix potential TCB loss
Always clear "suspended" flag in atomThreadSwitch(), even if new
and old TCB are identical. Otherwise TCB could get lost during
next task scheduling.
2016-05-24 17:57:49 +02:00
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
chencn
9afe5d329c Fixed:Can't register the same timer again at timeout handle function 2016-03-23 10:20:32 +08: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
a24ff4c713 atomkernel.c: Comment change to reflect new behaviour needed for Cortex-M. 2015-08-08 01:37:00 +01:00
Tido Klaassen
aa9dc72a99 - initial commit from private repository 2015-07-07 21:20:20 +02:00
Kelvin Lawson
18477010d0 atomtimer.c: Prevent uninitialised var warning from over-zealous compiler. 2015-03-02 11:29:05 +00:00
Kelvin Lawson
1e9942d791 atomtimer: Update callback list tail. 2014-06-28 17:37:35 +01:00
Kelvin Lawson
1399c905f1 atomsem.h: Whitespace change. 2014-05-31 20:43:08 +01:00
Kelvin Lawson
e3c90317a4 atomtimer: Support timer callbacks registering new timers by walking the timer list, and building up a separate list of callbacks to be run later. 2013-10-01 23:47:39 +01:00
Kelvin Lawson
1b8681efa4 atomtimer: Add note regarding timer callback registrations from within timer callbacks. 2013-10-01 21:57:23 +01: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
6af5014e9f Merge branch 'mips-port' into atomthreads-mips
Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
2011-07-23 13:05:31 +05:30
Kelvin Lawson
546990788d Use info@atomthreads.com email address throughout documentation. 2011-05-28 17:28:21 +01:00
Himanshu Chauhan
8dfd1f4c0f Deleting atom-types.h not required anymore.
Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
2011-05-28 10:02:43 +05:30
Kelvin Lawson
271eba687c Improve support for platforms without stddef.h. NULL definition should now be provided by architecture port file atomport.h, which in most cases can just include stddef.h. 2011-05-28 01:34:16 +05:30
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
Himanshu Chauhan
4b3c5e4ae3 Compilable MIPS code.
Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
2011-05-28 01:31:28 +05:30
Kelvin Lawson
a630a8945d Add comments to critical region regarding nesting requirement. 2011-05-27 17:35:56 +01:00
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
00d4e3f2af Remove unnecessary stdio.h dependencies 2011-05-26 23:27:05 +01:00
Kelvin Lawson
be6e60bf2f Improve support for platforms without stddef.h. NULL definition should now be provided by architecture port file atomport.h, which in most cases can just include stddef.h. 2011-05-25 23:52:11 +01:00
Kelvin Lawson
b79c5c7f44 kernel/atomkernel.c: Formatting changes. 2010-06-21 21:39:59 +01:00
Kelvin Lawson
66371637a4 Kernel: Renamed atomuser-template.h to atomport-template.h 2010-03-28 23:04:48 +01:00
Kelvin Lawson
4c05c4a103 Kernel: Update port header template. 2010-03-28 23:03:36 +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
65dc87ae36 Rename parameter name from "data" to "param" - it appears that data is a reserved word with one of the STM8S compilers. 2010-02-09 23:05:27 +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
248e1318fb Add README for all source folders 2010-01-21 21:42:10 +00:00
Kelvin Lawson
1c651cbff1 Kernel doxygen header formatting change 2010-01-21 01:12:29 +00:00
Kelvin Lawson
603db4ce2e Add Doxygen header to kernel module 2010-01-21 01:09:53 +00:00
Kelvin Lawson
127dcbfbb4 Add Doxygen header for timer module 2010-01-21 00:10:06 +00:00
Kelvin Lawson
901b531eaf Add Doxygen header for queue module. Further improve some API documentation. 2010-01-20 21:10:14 +00:00
Kelvin Lawson
4202bcaa57 Add Doxygen module documentation for mutex library 2010-01-20 19:47:41 +00:00
Kelvin Lawson
abe295c77d Add module doxygen description 2010-01-19 00:40:18 +00:00
Kelvin Lawson
6d599c6729 Add Atomthreads RTOS source files. 2010-01-14 01:53:45 +00:00