Kelvin Lawson
d9b1891eb3
Merge branch 'master' of https://github.com/simonccn/atomthreads into simonccn-master
2016-05-25 19:23:06 +01:00
Kelvin Lawson
100de97d92
Merge pull request #19 from tidklaas/master
...
Fix potential TCB loss
2016-05-24 23:22:56 +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
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
f47b0b5b3d
Formatting change only.
2015-12-02 00:28:53 +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
Kelvin Lawson
c23613360e
Merge branch 'tidklaas-master'
2015-08-08 01:37:40 +01: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
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
18477010d0
atomtimer.c: Prevent uninitialised var warning from over-zealous compiler.
2015-03-02 11:29:05 +00:00
Kelvin Lawson
a41291df06
AVR Makefile: Use proper simavr install path.
2015-02-22 22:43:01 +00:00
Kelvin Lawson
de3ac01f0e
Use script location for commit-tests.sh.
2015-02-22 19:44:03 +00:00
Kelvin Lawson
5033171ac0
Commit hook to build and run qemu-arm and AVR tests.
2015-02-22 02:27:13 +00:00
Kelvin Lawson
b16177187c
dm36x-io.h: Add DMA registers.
2014-12-11 23:03:06 +00:00
Kelvin Lawson
1999fd5ac1
dm36x: Implement interrupt disable.
2014-10-24 22:49:19 +01:00
Kelvin Lawson
99fcf9c9b7
dm36x-io.h: SDIO interrupts.
2014-10-15 01:58:18 +01:00
Kelvin Lawson
e5bafc5fdd
dm36x-io.h: Add SDIO registers.
2014-10-14 23:01:33 +01:00
Kelvin Lawson
a30ff645da
dm36x-io: Add pullup/down control regs.
2014-10-07 23:42:03 +01:00
Kelvin Lawson
0dfe78922b
dm36x-io.h: Add ARM INTMUX, CCERR int.
2014-09-14 23:53:26 +01:00
Kelvin Lawson
fa7ca58ac9
dm36x-io.h: Shadow regs
2014-08-19 23:54:03 +01:00
Kelvin Lawson
b3677dcf73
dm36x-io.h: Add base addresses.
2014-08-06 20:39:53 +01:00
Kelvin Lawson
059584c32d
dm36x-io.h: Add base addresses.
2014-08-06 19:20:38 +01:00
Kelvin Lawson
0e988253ed
dm36-io.h: Add gamma table addresses.
2014-07-17 00:03:43 +01:00
Kelvin Lawson
1e9942d791
atomtimer: Update callback list tail.
2014-06-28 17:37:35 +01:00
Kelvin Lawson
b31265222a
dm36x: Add EDMA vector.
2014-06-28 15:12:09 +01:00
Kelvin Lawson
b367bbbde8
edma3: Add more register macros
2014-06-28 14:57:59 +01:00