log for 24b2befe8cb30ff5592081c2cb64210761c9be78
Commit 24b2befe8cb30ff5592081c2cb64210761c9be78
author: Michel Pollet [Wed, 12 Feb 2014 12:26:05 +0000 (12:26 +0000)]
Message:
Merge pull request #41 from nnayo/segfault

correct a segfault
Commit 01df079331dc0ff266f73ae5e55deb91228907c9
author: Michel Pollet [Wed, 12 Feb 2014 12:25:49 +0000 (12:25 +0000)]
Message:
Merge pull request #42 from nnayo/typo

fix typo
Commit ab4b6b04c4fa7059f21e03a0b3a4cbc1dd167385
author: nnayo [Wed, 12 Feb 2014 12:19:21 +0000 (13:19 +0100)]
Message:
fix typo
Commit c898381059b0ffee9d14e7cb634226a3b3ec8d2c
author: nnayo [Wed, 12 Feb 2014 10:14:51 +0000 (11:14 +0100)]
Message:
correct a segfault
Commit 78703df7cf56207c5ddc982beb8819393894eb14
author: Michel Pollet [Wed, 12 Feb 2014 00:39:30 +0000 (00:39 +0000)]
Message:
Merge pull request #38 from ppd1990/megax-timer

Fix timer0 on megax MCUs. Stick to lowest common denominator (atmega8) i...
Commit 376af03b1deb99615632f42065f73ad80b211cd0
author: Maximilian [Wed, 12 Feb 2014 00:12:53 +0000 (01:12 +0100)]
Message:
Fix timer0 on megax MCUs. Stick to lowest common denominator (atmega8) in terms of functionality.
Commit a78509036d10061b0dce694af5dfe0f592b62ab6
author: Michel Pollet [Tue, 11 Feb 2014 18:48:52 +0000 (18:48 +0000)]
Message:
Merge pull request #37 from ppd1990/atmega-icp

Correctly set timer1's ICP on atmega8, atmega16 and atmega32.
Commit 8e02e6fc02136472f4bad8415a6005438258daa5
author: Maximilian [Tue, 11 Feb 2014 16:57:50 +0000 (17:57 +0100)]
Message:
Correctly set timer1's ICP on atmega8, atmega16 and atmega32.
Commit 6c2879d4c25c143ca72d3fa7d5247fe695d8177f
author: Michel Pollet [Sun, 9 Feb 2014 23:12:11 +0000 (23:12 +0000)]
Message:
cores: m16 and m32 fix

Core struct declaration had a problem when the 'porta' was not declared.
Now declare it last, so it doesnt clash anymore.
Commit 0a6a6164d0f6f93dd9b6643b699c6def72214e6a
author: Michel Pollet [Sun, 9 Feb 2014 23:08:58 +0000 (23:08 +0000)]
Message:
core: renamed MCU section variable name

This was clashing with the command register

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 29bcde7ad8ee7b1ae4595f85fdfb03065f433089
author: Michel Pollet [Thu, 9 Jan 2014 13:29:42 +0000 (13:29 +0000)]
Message:
uart_pty: Fix the race condition

There had been a race condition in there for a rather long while,
I've finaly tracked it down to a small idiotic change of trying to
flush a buffer from the wrong thread.
Removing that flush makes it works properly as intended, without the
mutex.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 32f385e94fe16415d96f667efeaa9615aca930a3
author: Michel Pollet [Thu, 9 Jan 2014 13:28:17 +0000 (13:28 +0000)]
Message:
twi: Fix a clang error

clang doesn't like unused static functions at all.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 24ed7a6fcd008cabd5b4efcd39befe4815028bff
author: Michel Pollet [Thu, 9 Jan 2014 13:27:21 +0000 (13:27 +0000)]
Message:
fifo: cleaned warnings and removed volatile

Should not need the volatile declaration anymore.
Also use the "unused" designation to prevent clang to complain
about unused static functions.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 77f5a3f5ed0f2c9f4053119a895f75f5213ccc73
author: Michel Pollet [Thu, 9 Jan 2014 10:55:39 +0000 (10:55 +0000)]
Message:
Merge remote-tracking branch 'thomasa88/feature/detect_avr_root' into dev-home
Commit c46982ae87ef5e3f1541002e4017291ded86a27c
author: Michel Pollet [Thu, 9 Jan 2014 10:49:26 +0000 (10:49 +0000)]
Message:
cores: Added atmega1284.c

That one has an extra timer, it seems.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit a7d538ddb31a6cc7f0511c4d4a15d1ff5e42871b
committer: Michel Pollet [Thu, 9 Jan 2014 08:57:32 +0000 (08:57 +0000)]
author: Philip Withnall [Sat, 1 Dec 2012 10:00:20 +0000 (10:00 +0000)]
Message:
spi: Clear SPIF when writing to SPDR

The manual says the SPIF bit is cleared when accessing (i.e. reading _or_
writing) the SPDR register after an interrupt is raised. By clearing SPIF
on a write to SPDR, the following code starts to work:

   SPDR = 0xff; loop_until_bit_is_set (SPSR, SPIF);
   SPDR = 0x00; loop_until_bit_is_set (SPSR, SPIF);

(where the bytes are arbitrarily chosen). This didn’t work before as the
SPIF bit wasn’t cleared by the second write to SPDR, so the second loop
turned into a no-op. This caused the write timer for the first byte to be
overwritten by the write timer for the second. Consequently, the first byte
never got transmitted.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 26ebc9917ec7b343165121b8675c12f6373481ea
author: Michel Pollet [Thu, 9 Jan 2014 08:55:38 +0000 (08:55 +0000)]
Message:
Merge remote-tracking branch 'pwithnalls/warning-fixes' into dev-home
Commit c39ae55bae12aab4c2d6b9f973beb714c921a43b
committer: Michel Pollet [Thu, 9 Jan 2014 08:54:59 +0000 (08:54 +0000)]
author: Michel Pollet [Thu, 9 Jan 2014 08:54:49 +0000 (08:54 +0000)]
Message:
core: Declare avr_pending_sleep_usec

This was meant to be declared for 'boards' to use

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 3232ce764c7f9815a49f7a6a6239cf80bff489c2
author: Michel Pollet [Thu, 9 Jan 2014 08:54:07 +0000 (08:54 +0000)]
Message:
timer: Tweak traces

Display the period in uS as well as cycles

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 6a8222ebf5e9739ce01dfbddc3ab512376d0b88a
committer: Thomas Axelsson [Wed, 8 Jan 2014 21:31:32 +0000 (22:31 +0100)]
author: Thomas Axelsson [Wed, 8 Jan 2014 21:29:55 +0000 (22:29 +0100)]
Message:
Makefile: Test multiple AVR roots for Linux and error out if none found

Inspired by thors@github.

This should find correct paths for at least Arch, Debian, Fedora, Gentoo, OpenSUSE, Ubuntu.
Commit b66ed500234bfcac1387742f2e7e07c6ac471db5
author: Michel Pollet [Fri, 29 Nov 2013 16:25:52 +0000 (16:25 +0000)]
Message:
avr: Make vector trace work

Somehow the vector list was erased at avr_reset time, luckily only the
trace code in run_avr was using it.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 270166e66646ce916f091abb980e59303a042dc5
author: Michel Pollet [Wed, 27 Nov 2013 21:16:36 +0000 (21:16 +0000)]
Message:
simavr: Removed the avr_global_logger global

It was not very clean; Instead there is a new accessor for
setting/getting a global logging function pointer.
Also made sure it is not compiled for the cores, since they use AVR
headers and have no stdarg.h anyway

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit f87c0ca090b1227bc3940b9381e9736114547c3c
author: Michel Pollet [Wed, 27 Nov 2013 16:50:46 +0000 (16:50 +0000)]
Message:
core: Fix a possible buffer overrun

From bsekisser@github

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit ef9ffe72c131ac1ab8bb28569f1ad50c59e2dff2
author: Michel Pollet [Wed, 27 Nov 2013 16:42:45 +0000 (16:42 +0000)]
Message:
cores: Added mega16

No idea why it wasn't there already. Uncommon part.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 0911e508388637f7c1a2fcae6ff18184561c966f
author: Michel Pollet [Wed, 27 Nov 2013 16:42:19 +0000 (16:42 +0000)]
Message:
cores: Added PORTA to atmega32

Inspired by sealibora@github

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 42b507c547e485dddf9fb6e43512d8e4a6800787
author: Michel Pollet [Wed, 20 Nov 2013 17:28:42 +0000 (09:28 -0800)]
Message:
Merge pull request #33 from bsekisser/uart-u2x-bugfix

avr_uart.c: fix to prevent overwriting readonly flags when setting u2x.
Commit a29ada2d37fed04f6c4f568d99f3538f29fbc8f5
author: bsekisser [Wed, 20 Nov 2013 16:37:49 +0000 (11:37 -0500)]
Message:
avr_uart.c: fix to prevent overwriting readonly flags when setting u2x.

modified:   simavr/sim/avr_uart.c
Commit f35aeb7ff472734567fbe15cdf5b89ad71007b04
committer: Michel Pollet [Wed, 6 Nov 2013 14:53:07 +0000 (14:53 +0000)]
author: Michel Pollet [Wed, 6 Nov 2013 14:53:00 +0000 (14:53 +0000)]
Message:
tests: Added a coroutine example

Slapped together test, but demonstrates a nice trick that works
on AVR for havbing multiple tasks concurently (coorperatively)

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit a995fb77749ff034464353533253ca2ac54ac08c
committer: Michel Pollet [Wed, 6 Nov 2013 14:53:07 +0000 (14:53 +0000)]
author: Michel Pollet [Wed, 6 Nov 2013 14:50:32 +0000 (14:50 +0000)]
Message:
mmcu: Tweak to the macros to allow multiple declarations

This trick adds the line number in the declaration of the fake
'variable' to allows multiple declarations to coexists, it is used
for the pullup/down declaration in particular

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 0996a663c8dcdcf3e13aa96bcc38b5d9e20d8f10
author: Michel Pollet [Mon, 21 Oct 2013 21:44:01 +0000 (14:44 -0700)]
Message:
Merge pull request #30 from bsekisser/sim-core-muls-bugfix

sim_core.c: fix implimentation of muls instruction
Commit 350bd851fe0a5718de9faa23d47a2ed45fdb1938 v1.1
author: Michel Pollet [Tue, 15 Oct 2013 12:26:14 +0000 (05:26 -0700)]
Message:
Merge pull request #29 from bsekisser/sim-core-ror-bugfix

sim_core.c: fix implimentation of ror instruction
Commit ab15a28670bdf1bf9277642c08deb435f5f762d2
author: Michel Pollet [Tue, 15 Oct 2013 12:26:08 +0000 (05:26 -0700)]
Message:
Merge pull request #28 from bsekisser/sim-core-bld-bugfix

sim_core.c: fix implimentation of bld instruction
Commit 2ac4d1e8cea12c53783fd98cee2521861811008e
author: Michel Pollet [Tue, 15 Oct 2013 12:25:58 +0000 (05:25 -0700)]
Message:
Merge pull request #27 from bsekisser/sim-core-inc-dec-bugfix

sim_core.c: fix implimentation of inc/dec to match specification
Commit 382900645b1f7244d1b29cc851314c3e194c84e3
author: bsekisser [Sun, 13 Oct 2013 20:01:07 +0000 (16:01 -0400)]
Message:
sim_core.c: fix implimentation of muls instruction

specification for muls insruction states 2 cycles, not one as implimented.

bug find credit goes to: Shay Green <gblargg@gmail.com>

modified:   sim_core.c
Commit c7a4f0ed2b24d36d13c80af60ce536e3d44b7e0c
author: bsekisser [Sun, 13 Oct 2013 17:09:53 +0000 (13:09 -0400)]
Message:
sim_core.c: fix implimentation of ror instruction

prior implimentation just cleared n flag while specification states n should be set or cleared according to the most significant bit of the result.

bug find credit goes to: Shay Green <gblargg@gmail.com>

modified:   simavr/sim/sim_core.c
Commit b6422516ec0af6bd7af3b9d502d682ca9ca6e3a5
author: bsekisser [Sun, 13 Oct 2013 16:28:18 +0000 (12:28 -0400)]
Message:
sim_core.c: fix implimentation of bld instruction

prior implimentation of the bld insruction was ORing bit with T, rather than replacing.

bug find credit goes to: Shay Green <gblargg@gmail.com>
Commit 0fbfaac3e606728c816dd56fbb8a19201619190c
author: bsekisser [Sun, 13 Oct 2013 15:26:17 +0000 (11:26 -0400)]
Message:
sim_core.c: fix implimentation of inc/dec to match specification

the avr instruction manual states that overflow be set _before_ the operation takes place, however the core tests based on the result.  values checked adjusted accordingly.

bug find credit goes to: Shay Green <gblargg@gmail.com>
Commit 2c407d6d22473809a431a55b1c6877015c3c9814
author: Michel Pollet [Thu, 10 Oct 2013 14:14:17 +0000 (15:14 +0100)]
Message:
elf: Added support for external pullup/down

Added a new "mmcu" section to allow firmwares to specify what
IRQ value should be set when a pin is marked as input

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 6d60bfd4145136b1e9d21083034fd44aa1c09822
author: Michel Pollet [Thu, 10 Oct 2013 14:12:31 +0000 (15:12 +0100)]
Message:
ioports: Redid the DDR handling logic

Now supports an "external" simulation of a pullup/down, this
resets the outgoing IRQ for pins to a default that can be
specified.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 3e8655cc49f9b30e73ee54283f0316bbcee74cd2
committer: Michel Pollet [Tue, 8 Oct 2013 17:34:23 +0000 (18:34 +0100)]
author: Michel Pollet [Tue, 8 Oct 2013 17:32:21 +0000 (18:32 +0100)]
Message:
fifo: Updated to latest version

This version was lagging quite a bit; this one has memory barriers, and
an updated write()

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 29006a10a93cfa5ed466b70b2f4875d7784176f6
author: Michel Pollet [Sun, 8 Sep 2013 17:44:29 +0000 (10:44 -0700)]
Message:
Merge pull request #24 from sealibora/master

cores: Added atmega32
Commit f3ea05cd7e5b5c3f48e2a27394d8fc2d5acadaf2
author: Tanel Külaots [Thu, 5 Sep 2013 18:54:44 +0000 (21:54 +0300)]
Message:
cores: Added atmega32
Commit 3bb82a30b8eaa3a6abc868b7ad5c1dbcd6ae7d88
committer: Michel Pollet [Thu, 5 Sep 2013 12:58:31 +0000 (13:58 +0100)]
author: Michel Pollet [Mon, 12 Aug 2013 10:32:55 +0000 (11:32 +0100)]
Message:
twi: Prototype support for slave mode

This is not working fully right now.

Also changed the MOSI/MISO names for the IRQ, as they make no sense when
using the master/slave TWI.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit ccb3592f51c9333b9332c59102c11eae61c973c0
committer: Michel Pollet [Thu, 5 Sep 2013 12:58:31 +0000 (13:58 +0100)]
author: Michel Pollet [Mon, 12 Aug 2013 10:31:57 +0000 (11:31 +0100)]
Message:
elf: Redone the symbol loader

Old symbol loader had been geared for the 'trace' functionality, and was
partitularly bad since it didnt know the size of the code it was
loading.

New version loads a (sorted) array of symbols, and let the firmware
loader code deal with the old 'codeline' array. The new loaded symbol
table can be used separately (board code can look into it).

Also changed the avr_symbol_t to inline the symbol name, instead of
using a separate pointer.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit eec21b2ab8534bca63146a72ba5223defc4a1d17
committer: Michel Pollet [Thu, 5 Sep 2013 12:58:31 +0000 (13:58 +0100)]
author: Michel Pollet [Tue, 2 Jul 2013 11:18:29 +0000 (12:18 +0100)]
Message:
misc: Traces updates

Applies naming convention to globals, types etc.
Commit 96bd0bcb4872ffebf2756cb321428a62873656e5
committer: Michel Pollet [Thu, 5 Sep 2013 12:58:31 +0000 (13:58 +0100)]
author: Michel Pollet [Tue, 2 Jul 2013 09:24:45 +0000 (10:24 +0100)]
Message:
twi: Added first bit of slave support

Need the slave support for TWI, will add bits as I go along

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit b24dca2cefbc933cfb93ed003894fe597728b7ff
committer: Michel Pollet [Thu, 5 Sep 2013 12:55:51 +0000 (13:55 +0100)]
author: Michel Pollet [Wed, 4 Sep 2013 07:41:26 +0000 (08:41 +0100)]
Message:
megax8: Added a couple of timer modes

Pretty obvious timer modes were missing...

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 4a297c69463eeba8646c6cee5b353a0b36995b45
author: Michel Pollet [Sun, 7 Jul 2013 20:56:15 +0000 (13:56 -0700)]
Message:
Merge pull request #21 from bsekisser/sim_core_eicall_eijmp_bugfix

sim_core.c: extended data type to 32 bits for eicall/eijmp instruction.
Commit 2386657c7dedfea8ddd4ea4c0bb5c9e59a14c1b6
author: bsekisser [Tue, 2 Jul 2013 17:02:15 +0000 (13:02 -0400)]
Message:
sim_core.c: extended data type to 32 bits for eicall/eijmp instruction.

modified:   simavr/sim/sim_core.c
Commit 4e64e8bc25219134912c9e756604cd6832657bc1
committer: Jakob Gruber [Fri, 14 Jun 2013 18:52:28 +0000 (20:52 +0200)]
author: ponty [Thu, 21 Feb 2013 15:54:58 +0000 (16:54 +0100)]
Message:
core: Add an overridable logging function

AVR_LOG() now uses a logging function which can be overridden as
necessary. By default, it logs to stdout/stderr.

Fixed-up-by: schuay <jakob.gruber@gmail.com>
Commit 1b5e2fdb36d8176418f0b6fb00aca235c298b003
author: Jakob Gruber [Fri, 14 Jun 2013 18:50:31 +0000 (20:50 +0200)]
Message:
Revert "Merge pull request #12 from ponty/logger2"

This reverts commit 4a345c29fe62858693a226a3f6adbef1021236b1, reversing
changes made to 77c0525fa53ac81daaf277593767cc5659e2e43e.
Commit 4a345c29fe62858693a226a3f6adbef1021236b1
author: Michel Pollet [Fri, 14 Jun 2013 09:13:25 +0000 (02:13 -0700)]
Message:
Merge pull request #12 from ponty/logger2

new global_logger, used in AVR_LOG(), default is stdout/stderr
Commit 77c0525fa53ac81daaf277593767cc5659e2e43e
author: Michel Pollet [Sun, 2 Jun 2013 17:29:45 +0000 (18:29 +0100)]
Message:
io,elf: pass the trace section name to getirq

avr_iomem_getirq() now takes a 'name' for the IRQs. The elf loader now
passes down the trace name so the irq gets named properly.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 29218dcf897373eac0eb750b4e4a3e066e057840
author: Michel Pollet [Sun, 2 Jun 2013 17:27:51 +0000 (18:27 +0100)]
Message:
irq: Add a warning if the name is NULL

Names are not getting important, for the scripting project

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit ee9cd0feff4f724aca6cd61d73658fb7d391e5f4
author: Michel Pollet [Sun, 2 Jun 2013 17:27:02 +0000 (18:27 +0100)]
Message:
vcd: Initializes IRQs when needed only

Also manufacture an IRQ name with the one passed in add_signal

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 638d79eece66e44f103b2d3625f5d2927db4b867
author: Michel Pollet [Sun, 2 Jun 2013 13:46:46 +0000 (14:46 +0100)]
Message:
io: Create irq names for io addresses

Set names for the io address IRQ when they are created

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit c78cd2648c7a18b1aa248c7ac61e83e2bfa05f15
author: Michel Pollet [Sun, 2 Jun 2013 13:45:49 +0000 (14:45 +0100)]
Message:
ioport: Tweak IRQ names

Names should include the size in bits, if not 1

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit f4b1e5049fd885f30df4c9c67e3eaa835b4ab3f3
author: Michel Pollet [Sun, 2 Jun 2013 13:44:31 +0000 (14:44 +0100)]
Message:
Makefile: Removed uname -o

This break on BSDs (aka OSX), this commit will break windows build, it
will need a proper fix

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit cc901dc34ea36d1085dbe47271e1579f7850a2a4
committer: Jakob Gruber [Mon, 6 May 2013 16:32:34 +0000 (18:32 +0200)]
author: Peter Ross [Sat, 1 Dec 2012 02:07:05 +0000 (13:07 +1100)]
Message:
core: larger data type to store extended z-pointer value
Commit 49a0717a8ee6bd669343ae4d7d569dbf5d3daff8
committer: Jakob Gruber [Mon, 6 May 2013 16:28:44 +0000 (18:28 +0200)]
author: Jakob Gruber [Mon, 6 May 2013 16:27:30 +0000 (18:27 +0200)]
Message:
misc: Add a Contributing section to README.md
Commit 4f219081b06534be3434b522cad603b78f671e38
committer: Jakob Gruber [Mon, 6 May 2013 16:20:06 +0000 (18:20 +0200)]
author: Jakob Gruber [Mon, 6 May 2013 16:09:15 +0000 (18:09 +0200)]
Message:
misc: Add a Documentation section to README.md
Commit ddf1bc98010b93705c904d27e5ba3b35b25cb7ba
author: Jakob Gruber [Mon, 6 May 2013 15:59:14 +0000 (17:59 +0200)]
Message:
misc: Remove outdated README

There's no point in keeping two similar README's around, and README.md
is better maintained.
Commit f5dbd6f6355e32e2a888aaba6902c40448caefe0
author: ponty [Fri, 22 Feb 2013 15:38:14 +0000 (16:38 +0100)]
Message:
refactor logger
Commit fb5a31d1e731a1d3f1993063496277c979ce356e
author: ponty [Thu, 21 Feb 2013 15:54:58 +0000 (16:54 +0100)]
Message:
new global_logger, used in AVR_LOG(), default is stdout/stderr
Commit acbefb3cf0b5c3aa8d7d58883e4b5155567a8204
author: Michel Pollet [Sun, 2 Dec 2012 17:09:44 +0000 (09:09 -0800)]
Message:
Merge pull request #10 from the-real-orca/mingw

MinGW merge, thanks!
Commit a17a750317f7ef52fcafbb5d70a8cc806d9e7f82
committer: Stephan Veigl [Sun, 2 Dec 2012 12:49:00 +0000 (13:49 +0100)]
author: Stephan Veigl [Fri, 30 Nov 2012 12:31:54 +0000 (13:31 +0100)]
Message:
mingw:  make simavr compilable with MinGW

- patch makefiles to work with MinGW
- compile to run_avr.exe on windows, otherwise run_avr cannot be started from the normal windows command prompt
- add sim_network.h to encapsulate the network functions of different platforms
    (use winsock2 for Windows network functions)
- make network helper functions static
- force open() to use binary mode (on Windows default is text mode)
- do not change stderr on Windows
- exclude simduino example on Windows
- add MinGW README

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit 1f1bac2029fa1259e233357dc1617343d9c5abfd
committer: Jakob Gruber [Sat, 1 Dec 2012 08:39:50 +0000 (09:39 +0100)]
author: Peter Ross [Thu, 29 Nov 2012 12:05:51 +0000 (23:05 +1100)]
Message:
uart: default to 8-bit word length on reset
Commit 890c3dcba764925a99b60c05b73365d3c3678435
committer: Jakob Gruber [Sat, 1 Dec 2012 08:39:50 +0000 (09:39 +0100)]
author: Peter Ross [Thu, 29 Nov 2012 12:05:14 +0000 (23:05 +1100)]
Message:
megax4/uart: implement u2x (double uart transmission speed)
Commit e8f6b397420f9d862e37f667982a7807fb79a18d
author: Stephan Veigl [Fri, 30 Nov 2012 09:35:06 +0000 (10:35 +0100)]
Message:
cores: No standard include paths

There are problems with standard includes since the paths are ambiguous
between host and AVR. Using absolute includes does not work for multi-platform
projects.
The solution is to remove all standard includes of the host system for the
core files since there is no reason why a core definition should require
standard includes from the host system. User interaction (status messages)
is the job of the simulator and not the core definitions.

- add CORE_CFLAGS (-nostdinc) to Makefile.common
- remove <stdio.h> from core definition files
- move init message from core definition files to avr_init() in sim_avr.c

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit 8633f5b781376d975910e01d01c1046d5be7da3e
author: Stephan Veigl [Thu, 29 Nov 2012 10:25:20 +0000 (11:25 +0100)]
Message:
watchdog: Fix register naming

MCUSR is called MCUCSR in atmega128

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit f75a828adc03f26d3675bcac4a2cb2ab2dc2b038
committer: Stephan Veigl [Thu, 29 Nov 2012 10:11:20 +0000 (11:11 +0100)]
author: Stephan Veigl [Mon, 12 Nov 2012 11:19:50 +0000 (12:19 +0100)]
Message:
tests: Remove vcd files on clean

Remove the vcd files generated by test cases on: make clean

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit b1acaab93fb16967234a16786931bdbd53913bfb
committer: Stephan Veigl [Thu, 29 Nov 2012 10:08:00 +0000 (11:08 +0100)]
author: Stephan Veigl [Fri, 9 Nov 2012 08:33:36 +0000 (09:33 +0100)]
Message:
tests: Fix number of successful tests calculation

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit 43c83e991c0705b7dc981ca760aa14fd3331604c
committer: Stephan Veigl [Thu, 29 Nov 2012 10:05:33 +0000 (11:05 +0100)]
author: Stephan Veigl [Fri, 9 Nov 2012 08:32:10 +0000 (09:32 +0100)]
Message:
misc: Update NO_COLOR define switch

The NO_COLOR define switch is a preparation for the Windows version.
Since the standard Windows command prompt is not able to display
ANSI color statements correctly. With this define switch it is
possible to remove any coloring of the output. This will be set
automatically in the MinGW patch.
The color definitions are moved from sim_core.c to sim_core.h since
they are used in other macros as well.

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit 3bb59bf41c8b923a1fe703ac81fdb3311b1826a1
author: Philip Withnall [Wed, 28 Nov 2012 20:38:31 +0000 (20:38 +0000)]
Message:
core: Fix some C99/C90 warnings

If these files were used by a project which compiled using C90 with -Wall,
warnings would be emitted about declarations in the middle of blocks.
Commit 26689f832a6bf077f7412d301f60ba615bbc7d50
author: Michel Pollet [Sun, 4 Nov 2012 17:51:45 +0000 (09:51 -0800)]
Message:
Merge pull request #7 from mali/working

Makefile : fix cleaning rules
Commit ebd6ec57aaf2db4c547d08713d4d94adc32ccdb6
author: Laurent Navet [Mali] [Sun, 4 Nov 2012 16:13:28 +0000 (16:13 +0000)]
Message:
Makefile : fix cleaning rules

in order to leave the src tree as clean as before a build
+ add rm -f of autogenerated sim_core_config.h & sim_core_decl.h
  in simavr/Makefile
+ add rm *.hex in example/board_*/Makefile
Commit 8ded5cfec51670bd535f1db09403dc894979e31b
author: Michel Pollet [Tue, 30 Oct 2012 15:10:42 +0000 (15:10 +0000)]
Message:
Makefile: Fix git tag issues

+ Pick the correct tag for the version number
+ Do not fail if git is not there
+ Add the version to the config file

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit d6265fda9e5d127f5b76d726892c56c1ff00cff5
author: Michel Pollet [Tue, 30 Oct 2012 15:09:37 +0000 (15:09 +0000)]
Message:
Makefile: Introduce a release build

make RELEASE=1 will use rpath-link to link the executable,
preventing simavr build path to be referenced. This requires
that simavr gets installed for it to work

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit dcf0210b156b03d83849cf5c3e2f8b78072fc2f0
author: Michel Pollet [Tue, 30 Oct 2012 11:30:21 +0000 (11:30 +0000)]
Message:
usb: Made the usb example optional

Downloading extra sources is against debian policy and was
a blocker to get simavr in debian. Made the board_usb example
optional, it will require an explicit make.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit a9cd39cc0cd34eeaf3f256a9b53138e6ef8e884e v1.0
committer: Jakob Gruber [Thu, 25 Oct 2012 09:43:40 +0000 (11:43 +0200)]
author: Jakob Gruber [Thu, 25 Oct 2012 09:40:05 +0000 (11:40 +0200)]
Message:
Makefiles: Add manual and a global doc target

Manual generation is now included in the doc/Makefile. Additionally,
a doc target has been added to the global Makefile.
Commit 61e465116638f20bfe125daffc3ec782a625f2fb
committer: Jakob Gruber [Thu, 25 Oct 2012 09:39:34 +0000 (11:39 +0200)]
author: Jakob Gruber [Thu, 25 Oct 2012 09:38:01 +0000 (11:38 +0200)]
Message:
doc: Add simavr manual

This is an excerpt of the bachelor's thesis "qsimavr: Graphical
Simulation of an AVR Processor and Periphery" by Jakob Gruber. The full
thesis is available at https://github.com/schuay/bachelors_thesis.
Commit 334833ca3beccfac79be54af3a12356f23794aec
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:21 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 09:54:16 +0000 (11:54 +0200)]
Message:
misc: Point to correct simavr include dirs
Commit 099905d65703d7ed3a1ae97cf5fd9eae28e03aa8
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:21 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 10:22:57 +0000 (12:22 +0200)]
Message:
misc: Move avr_mcu_section.h to sim/avr

Since sim_elf.h includes avr_mcu_section.h, it needs to reference
a path which works both during simavr builds, and compilation of
external programs including sim_elf.h. Adding the avr/ subdirectory
to pkg-config cflags is not desired, to make sure it's clear that header
is shared between the sim and the firmware.
Commit 2935c2b387bcee8971cb611fec6b4b8a0a51a7c4
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:21 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 09:57:41 +0000 (11:57 +0200)]
Message:
Makefiles: Remove executable bit from headers
Commit 31e9a0ab40f0add1b0ee6db40211c5fe7bec5585
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:21 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 09:38:23 +0000 (11:38 +0200)]
Message:
Makefiles: Separate simavr.pc and simavr-avr.pc

According to http://people.freedesktop.org/~dbn/pkg-config-guide.html,
"each pkg-config file is best used to describe a single library, so each
package should have at least as many pkg-config files as they do
installed libraries."
Commit 4f0e56559c96971c530b5b663bbcdbc2b3fdb16c
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:00 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 09:29:35 +0000 (11:29 +0200)]
Message:
Makefiles: Use PREFIX instead of DESTDIR in simavr.pc

This is needed when DESTDIR does not equal the actual intended
destination (this usually occurs when building packages for
distribution).

An example make invocation:

make DESTDIR=pkg/usr PREFIX=/usr install
Commit dc3747065c3e00715808918b54337d99abba6fc3
committer: Jakob Gruber [Mon, 10 Sep 2012 09:40:56 +0000 (11:40 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 08:54:00 +0000 (10:54 +0200)]
Message:
core: Deinitialize GDB in avr_terminate()

This is relevant when running multiple simavr sessions in a single
program.
Commit ead39534384a577ba325c9a95cb58691f15c4f6f
committer: Jakob Gruber [Fri, 31 Aug 2012 09:16:32 +0000 (11:16 +0200)]
author: Jakob Gruber [Fri, 31 Aug 2012 08:41:03 +0000 (10:41 +0200)]
Message:
cores: Use correct extint control register

The atmega1280/atmega1281/atmega128/90usb162
have two external interrupt control registers;
EICRA for ISC[0-3]x, and EICRB for ISC[4-7]x.
Commit 026ea0a2d08810bf3d271883532c330dd30cbfe8
committer: Jakob Gruber [Fri, 31 Aug 2012 07:51:14 +0000 (09:51 +0200)]
author: Jakob Gruber [Fri, 31 Aug 2012 07:39:14 +0000 (09:39 +0200)]
Message:
Revert "examples: hd44780 responds on falling edge of E pin"

This reverts commit fddb2a02e9feadaefaf690b07a69a1556fb96fd1.

The hd44780 was misbehaving and bisecting ended up at this commit.
Commit 1f933911e37e1d75108a7ac6df21f2dec0ec0d00
committer: Michel Pollet [Fri, 31 Aug 2012 07:43:14 +0000 (08:43 +0100)]
author: Michel Pollet [Fri, 31 Aug 2012 07:42:34 +0000 (08:42 +0100)]
Message:
vcd: Made the trace buffer dynamic

Made the trade buffer growable, to accomadate busy tracers
Also converted the traces to AVR_LOG in that bit.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit a367ebb0e3cb1b8325d4a0e6a8d616238852a7d4
committer: Jakob Gruber [Wed, 29 Aug 2012 13:00:50 +0000 (15:00 +0200)]
author: Jakob Gruber [Wed, 29 Aug 2012 12:16:59 +0000 (14:16 +0200)]
Message:
ioport: Restore PIN to PORT values when DDR is set to output
Commit 7303c1476425315c570175c9c58208a68d7ee874
committer: Jakob Gruber [Wed, 29 Aug 2012 13:00:46 +0000 (15:00 +0200)]
author: Jakob Gruber [Thu, 23 Aug 2012 11:13:25 +0000 (13:13 +0200)]
Message:
ioport: Use IRQ_FLAG_FILTERED instead of manual filtering

Manual filtering could cause us to miss pin changes when data
is written to PINs while the port is set to input mode (and thus
the PORT register is not updated).
Commit ebc09ae499f9abdabc1809c2e66385c14d6a5517
committer: Jakob Gruber [Wed, 29 Aug 2012 12:53:18 +0000 (14:53 +0200)]
author: Jakob Gruber [Tue, 28 Aug 2012 13:46:59 +0000 (15:46 +0200)]
Message:
vcd_file: Update comment to reflect correct time units
Commit 27bab459856ad7e06c5c9801722628e77a03e33c
committer: Jakob Gruber [Wed, 29 Aug 2012 12:53:18 +0000 (14:53 +0200)]
author: Jakob Gruber [Thu, 23 Aug 2012 08:57:21 +0000 (10:57 +0200)]
Message:
timer: Avoid infinite cycle timer on TCNT write

In some situations, it was possible to enter an infinite cycle timer
loop. In avr_timer_tcnt_write, the tov cycle timer registration is not
protected and can register a timer with p->tov_cycles == 0.

The following atmega1280 program demonstrates this issue:

int main() {

TCCR1A = 0;
TCCR1B = (1<<WGM12) | (1<<ICES1);
OCR1B = OCR1A = 960;

/* Start */
TCNT1 = 0;
TCCR1B |= (1<<CS11);

/* Stop */
TCCR1B &= ~(1<<CS11);
TIFR1 |= (1<<OCF1A) | (1<<OCF1B);

/* Start */
TCNT1 = 0; /**< Registers timer with tov_cycles == 0. */
TCCR1B |= (1<<CS11);

while (1) ;
return 0;
}
Commit cbc735e0138d2a358541a0ee7b7ddd0e203a06ef
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:15 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:08:51 +0000 (11:08 +0200)]
Message:
io: Convert logging to AVR_LOG()
Commit 54c68474e17e329deb2d729cc14ecd27e1773d1b
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:15 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:08:34 +0000 (11:08 +0200)]
Message:
interrupts: Convert logging to AVR_LOG()
Commit 59b46eb021ca465fc0d455e1f15c2cb5d8a8e100
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:14 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:08:13 +0000 (11:08 +0200)]
Message:
gdb: Convert logging to AVR_LOG()
Commit d4408117ddbafecd37f8540d755322b52cb8de3f
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:14 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:07:59 +0000 (11:07 +0200)]
Message:
elf: Convert logging to AVR_LOG()
Commit a484094a573be799af56d7a139aac82ec5c081b9
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:10 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:07:34 +0000 (11:07 +0200)]
Message:
cycle_timers: Convert logging to AVR_LOG()
Commit 5d754099ddf36ab1f24838988f700a0777b73268
committer: Jakob Gruber [Fri, 10 Aug 2012 14:19:01 +0000 (16:19 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:07:21 +0000 (11:07 +0200)]
Message:
core: Convert logging to AVR_LOG()