38 Commits

Author SHA1 Message Date
Jacques Germishuys
6eb64f4414 move AVR port's timers to a different translation unit
this gives greater flexibility in terms of timer choices
2017-08-21 08:53:33 +02:00
Jacques Germishuys
3f68de64b6 guard uart functions with extern "C" 2017-08-20 19:07:56 +02:00
Jacques Germishuys
f9d5f0a10c use F_CPU for the AVR CPU frequency (if available) 2017-08-20 19:07:50 +02:00
Jacques Germishuys
7dfe7bd496 guard avrInitSystemTickTimer with extern "C" 2017-08-04 21:01:10 +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
Kelvin Lawson
a41291df06 AVR Makefile: Use proper simavr install path. 2015-02-22 22:43:01 +00: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
6ce391f581 AVR port: introduce simulator for all automated tests, allowing the full test suite to be run within a simulator for continuous integration. 2012-06-21 23:32:44 +01:00
Kelvin Lawson
7ce220e42f AVR expect script for test runs: Add description header. 2012-06-21 22:41:53 +01:00
Kelvin Lawson
b47b9697a5 AVR: Add expect script to run test in simavr and check for success. 2012-06-21 22:39:25 +01:00
Kelvin Lawson
97a15799b4 AVR port: instructions for using PART= to change the CPU target during make.
Also add TESTS_LOG_STACK parameter so that stack-usage logging can be enabled without editing Makefile.
2012-06-21 21:29:18 +01:00
Kelvin Lawson
7bc40f9d62 Formatting changes. 2011-06-02 22:23:57 +01:00
Kelvin Lawson
fae8dd7516 Formatting changes only. 2011-06-02 22:12:56 +01:00
Kelvin Lawson
546990788d Use info@atomthreads.com email address throughout documentation. 2011-05-28 17:28:21 +01:00
Kelvin Lawson
a630a8945d Add comments to critical region regarding nesting requirement. 2011-05-27 17:35:56 +01:00
Kelvin Lawson
02660d0c80 AVR flash-program now checks sizes against the architecture. 2011-05-27 17:15:38 +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
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
394e04ec4a STM8 port: Add RTOS port for IAR EWSTM8 compiler.
* Split assembler routines into -cosmic.s and -iar.s.
* Split Cosmic and IAR specific code using __CSMC__ and __IAR_SYSTEMS_ICC__.
* Context-switch virtual registers on IAR.
* Add detailed description of IAR context-switch scheme.
* Add sample IAR project.
* Add support for IAR to STM8S peripheral driver modules.
* Fix EWSTM8 compiler warnings.
2010-05-24 22:54:40 +01:00
Kelvin Lawson
7d56170c40 STM8 port: Add UART support. Make use of full 1KB on Discovery. Improve documentation. 2010-03-09 00:37:46 +00:00
Kelvin Lawson
54dc1bfde9 AVR port: Add documentation regarding program/RAM space. 2010-03-02 00:47:18 +00:00
Kelvin Lawson
02bdad201f STM8 port: Now supports the new stack usage analysis API. All automated tests pass. 2010-03-01 21:04:42 +00: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
53147d9e49 AVR port: Fix instruction leftover from cut-and-paste. 2010-02-22 00:29:41 +00:00
Kelvin Lawson
8027d6c0e1 AVR port: Add details on CPUs with large program memory. 2010-02-21 19:36:43 +00:00
Kelvin Lawson
611bf65ea5 AVR port: Add instructions for changing the CPU in use. Add details on location of functions on ATmega2560/2561. 2010-02-21 19:29:57 +00:00
Kelvin Lawson
a09d1d7376 AVR port: UART driver support for devices with multiple UARTs. 2010-02-21 18:50:46 +00:00
Kelvin Lawson
9a72c96305 AVR port: Support for devices with large program space, context-switch the RAMPZ and EIND registers. 2010-02-21 17:38:56 +00:00
Kelvin Lawson
0fd53909b0 AVR port: Improve description of thread_shell() location on ATmegas with 2 byte program counters. 2010-02-21 16:12:31 +00:00
Kelvin Lawson
19a3c524ee ATmega port: Support CPUs with 3 byte program counter. Support devices which use TIMSK1 instead of TIMSK. 2010-02-20 18:14:51 +00:00
Kelvin Lawson
d20004e3a4 Reduce stack size for STM8S test threads to 128 bytes. Update stack usage description in READMEs. 2010-02-18 00:41:09 +00:00
Kelvin Lawson
95e73160d7 Formatting changes 2010-02-16 22:52:53 +00:00
Kelvin Lawson
4e55f225d3 Improve context-switch comments. 2010-02-09 23:05:44 +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
5ef1ed3ff5 Update AVR port README 2010-01-16 00:55:36 +00:00
Kelvin Lawson
84f320a1f0 Add README for AVR port 2010-01-16 00:19:08 +00:00
Kelvin Lawson
6d599c6729 Add Atomthreads RTOS source files. 2010-01-14 01:53:45 +00:00