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