235 Commits

Author SHA1 Message Date
Kelvin Lawson
1a2f9bae75 Merge pull request #33 from jacquesg/somefixes
C++ and AVR fixes
2017-08-27 11:12:56 +01:00
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
Kelvin Lawson
97679e316a Merge pull request #24 from spth/master
Make STM8 port compile with SDCC
2017-08-06 22:24:31 +01:00
Jacques Germishuys
7dfe7bd496 guard avrInitSystemTickTimer with extern "C" 2017-08-04 21:01:10 +02:00
Kelvin Lawson
265d050e2c dm36x-io.h: Correct McBSP register names. 2017-05-23 21:22:11 +01:00
Kelvin Lawson
402fe20926 dm36x-io.h: Add McBSP to Power/Sleep Controller. 2017-04-05 00:35:02 +01:00
Kelvin Lawson
d1dbe313ec dm36x-io.h: MCBPSP should be MCBsP. 2017-04-04 19:26:54 +01:00
Kelvin Lawson
c9dd755f1e dm36x-io.h: Add McBSP registers. 2017-04-03 23:12:28 +01:00
Kelvin Lawson
864666d0fa dm36x-io.h: Add DM36x GPIO interrupt handline registers. 2017-01-13 17:08:20 +00:00
Kelvin Lawson
d617014298 dm36x: Add GPIO interrupts. 2017-01-13 06:27:14 +00:00
Philipp Klaus Krause
099a3d0a92 Refactor STM8 documentation 2016-06-23 10:34:22 +02:00
Philipp Klaus Krause
ee591c7a51 Refactor STM8 documentation 2016-06-23 10:31:01 +02:00
Philipp Klaus Krause
969e7fa165 Use stdint.h by default 2016-06-23 10:11:52 +02:00
Philipp Klaus Krause
e21c3defc6 Adjust test thread stack size, make all tests pass 2016-06-23 09:56:41 +02:00
Philipp Klaus Krause
7894d81367 Increase main thread stack size due to expensive printf() 2016-06-21 16:49:37 +02:00
Philipp Klaus Krause
2944d95d86 Fix kernel/atom.h extra semicolon 2016-06-18 22:19:58 +02:00
Philipp Klaus Krause
529a386a7a Add debug flags to debug build 2016-06-16 21:53:22 +02:00
Philipp Klaus Krause
ba550c8df7 Make atomthreads run with SDCC 2016-06-16 21:21:06 +02:00
Philipp Klaus Krause
9251272859 Make atomthreads link with SDCC 2016-06-16 21:01:38 +02:00
Philipp Klaus Krause
7e03729526 Make atomthreads assemble with SDCC 2016-06-16 20:59:11 +02:00
Philipp Klaus Krause
a013142b7e Make atomthreads compile with SDCC 2016-06-16 20:37:19 +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
e99d05582f ARM reent stdout: Set unbuffered. 2016-03-20 22:44:25 +00:00
Kelvin Lawson
2f858283f1 ARM port reentrancy: Close per-thread stdout when runs to completion. 2016-03-20 22:00:48 +00:00
Kelvin Lawson
2c0965c4a9 ARM port: Support newlib thread reentrancy with thread-specific struct _reent. Tested on qemu_integratorcp. 2016-01-03 00:10:39 +00:00
Kelvin Lawson
da01dde1f9 Makefile: typo leftover from avr port. 2016-01-02 23:12:30 +00:00
Kelvin Lawson
3dbce9b055 ports/arm/atomport-asm.s: Comment change only. 2015-12-03 22:01:38 +00:00
Kelvin Lawson
7f53aa96f2 Merge pull request #14 from tidklaas/master
Making Cortex-M Port Thread Safe
2015-12-02 00:11:45 +00:00
Kelvin Lawson
9ae404ef47 dm36x exception handler matches archIRQHandler() 2015-11-03 23:58:59 +00:00
Kelvin Lawson
e1879ab56b qemu_integratorcp uart.c: Uninit status. 2015-10-20 13:40:09 +01:00
Kelvin Lawson
9e26d7795a dm36x timer/uart: Uninitialised return values. 2015-10-20 13:38:33 +01:00
tidklaas
2ce352714d Add warning about using Debian workaround 2015-10-15 07:14:18 +02:00
Tido Klaassen
a3dd73f023 Fixed handling of uninitialised libopencm3 submodule 2015-10-14 19:12:28 +02:00
Tido Klaassen
9e29fe0abd Debian newlib nano workaround
- made use of newlib's nano version configurable by make variable USE_NANO
- added paragraphs to README.md explaining how and when to use USE_NANO
  and FIX_DEBIAN
2015-10-14 18:48:08 +02:00
Tido Klaassen
0d3c29e6f2 Clean up Makefile, work around Debian bugs (mostly untested)
- cleaned up generation of LDLIBS. Trust nano.specs to choose the right
  libraries.
- workaround for Debian's broken newlib package. Add /usr/include/newlib/nano
  to include search path and -fshort-wchar to CFLAGS when variable FIX_DEBIAN
  is defined.
2015-10-13 09:52:02 +02:00
Tido Klaassen
5e0d384dd8 Added libopencm3 as submodule for Cortex-M port
- removed instructions on adding submodule from README.md and Makefile
- submodule libopencm3 at commit 27b826bc4a09345f63d3b8b5fcd3cb9f145cd1a5
2015-10-13 07:17:02 +02: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
Tido Klaassen
05329c53e3 Bugfix: Enforce initial stack alignment 2015-07-19 18:54:29 +02:00
Tido Klaassen
f6ee11c088 Added funtionality to run an automated test of all testsuite applications
directly from the build system on the qemu "board".
2015-07-15 18:24:27 +02:00
Tido Klaassen
00a339e3fe Final clean-up (hopefully)
Improved dependency tracking in build system
Added ability to build single target application
Added abililty to build non-testsuite applications
Added 'helloworld' example application
2015-07-14 18:56:15 +02:00
Tido Klaassen
9d41fccc86 Added rudimentary QEMU board for running the test suite binaries 2015-07-13 18:33:11 +02:00
Tido Klaassen
ce70538bfb More cleanup 2015-07-12 18:56:20 +02:00
Tido Klaassen
3cc6b9bea4 README.md: wrote section about adding new boards
Renamed board Makefile fragments to Makefile.include
board_setup.c: initialise NVIC priorities for PendSv and SysTick
General cleanup
2015-07-12 16:28:48 +02:00
Tido Klaassen
ca81d186a7 Added support for Cortex-M0
Added board nucleo-f072rb
2015-07-11 20:08:50 +02:00
tidklaas
68e3ed69d6 Update README.md 2015-07-08 19:21:22 +02:00
Tido Klaassen
aa9dc72a99 - initial commit from private repository 2015-07-07 21:20:20 +02:00
Kelvin Lawson
a41291df06 AVR Makefile: Use proper simavr install path. 2015-02-22 22:43:01 +00:00