Michel Pollet [Wed, 11 Apr 2012 20:57:37 +0000 (21:57 +0100)]
misc: Cleanup & typos
No functional changes
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 6 Apr 2012 17:25:43 +0000 (18:25 +0100)]
mega1280: Made PORTK work
This was triggering a limit in the AVR core IO table
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 6 Apr 2012 17:25:10 +0000 (18:25 +0100)]
core: Increased the number of possible IOs
Also added a sanity check
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 6 Apr 2012 15:31:10 +0000 (16:31 +0100)]
i2ctest: Collapsed both i2ctests into one
Just need one of these
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 6 Apr 2012 15:06:46 +0000 (16:06 +0100)]
i2ctest: Added a mega1280 version
Probably will lose either this one, or the older version as they
are exactly the same
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 6 Apr 2012 15:06:05 +0000 (16:06 +0100)]
i2ctest: Moved files to shared
Put the atmel i2c example to a shared directory
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 6 Apr 2012 15:05:22 +0000 (16:05 +0100)]
cores: Added mega1280
Very little testing was done. ADC was fixed, but still misses the higher
differential channels
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 6 Apr 2012 15:02:14 +0000 (16:02 +0100)]
ADC: Grown to 64 possible mux values
Needs a bigger ADC, the mega1280 uses 6 bits.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 5 Apr 2012 16:47:12 +0000 (17:47 +0100)]
timer: Reconfigure the timer in fast pwm mode
If OCR* changes, the timer still needs to be reconfigured in fast PWM mode.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 5 Apr 2012 16:46:18 +0000 (17:46 +0100)]
UART: Added a trace macro
Replaces the comments
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 5 Apr 2012 16:45:34 +0000 (17:45 +0100)]
thermistor: Now works
Return millivolts, not ADC values
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 5 Apr 2012 14:29:40 +0000 (15:29 +0100)]
New example board: reprap
Proto shell for a reprap emulator. Currently can run Marlin, up to a point
There are lots of stuff to add, but with a bit of luck we could use the
"pins.h" of the firmware itseld to configure the simavr board, and
have it "adapt" to various hardware boards.
Currently the fake thermistor has been moderately tested, and seems to work.
It needs more work, like linear extrapolation, target temps etc.
Michel Pollet [Thu, 5 Apr 2012 14:27:12 +0000 (15:27 +0100)]
elf: Do not set values that weren't present
Some ELF binaries without a simavr section can now be loaded
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 5 Apr 2012 14:26:29 +0000 (15:26 +0100)]
uart: Trace the use of the x2 flag
No functional change
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 5 Apr 2012 14:26:05 +0000 (15:26 +0100)]
timer: Added phase correct mode, possibly works
Not tested..
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 5 Apr 2012 12:36:20 +0000 (13:36 +0100)]
uart_pty: Added a debug terminal
You can now launch an xterm with picocom by setting environment
SIMAVR_UART_XTERM. This could (will) be improved.
Also, the uart_pty symlinks the pty pathname to /tmp/simavr-uart-X
so you can rely on a constant pathname.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 15 Mar 2012 14:19:36 +0000 (14:19 +0000)]
uart_udp: Updated, obsolete
Will probably remive this part in the future
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 15 Mar 2012 14:19:08 +0000 (14:19 +0000)]
simduino: Updated, uses uart_pty
Now works properly again, and uses the new pty part.
Also removed mmap and uses a read/write instead for the flash file,
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 15 Mar 2012 14:18:01 +0000 (14:18 +0000)]
uart_pty: New part
This one replaces uart_udp, that was really a toy. This new part simulates
a proper serial port (almost) on the host, and allow connection with minicom
or anything you like.
Properly implemented flow control too, do it's safe at any speed.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 15 Mar 2012 14:16:34 +0000 (14:16 +0000)]
irq: Added an INIT flag
'filtered' interrupts didn't work if the initial value was the same as the
one used to raise the irq. Now it works properly, can could also be used
to track IRQs in the pool by usage.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 15 Mar 2012 14:14:59 +0000 (14:14 +0000)]
uart: Finaly fixed the xon/xoff
Now works as intended
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 15 Mar 2012 14:14:29 +0000 (14:14 +0000)]
interrupts: Delivery fix
Polled interrupts as for the UART were borken. Now fixed.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 15 Mar 2012 14:13:12 +0000 (14:13 +0000)]
fifo: Small update
Expose the size specified as a constant
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 2 Mar 2012 14:33:03 +0000 (14:33 +0000)]
simavr: Now use the generated config files
Removed the statis tables, use the generated config
Also updated .gitignore
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 2 Mar 2012 14:30:21 +0000 (14:30 +0000)]
Makefile: Generate config files
The Makefile now tries to detect the cores that can
be built using the current avr-gcc install. This allows
simavr to be built with older toolchain that don't have
the latest cores. Like arduidiot.
It also allows generation of an automated core list for
simavr so the run_avr and others don't have to have an
explicit list of cores. They are now autodetected.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 2 Mar 2012 14:27:52 +0000 (14:27 +0000)]
Makefile: OSX Update
Only add the MacPort dir if it's there. This
removes a warning when linking
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 2 Mar 2012 14:29:35 +0000 (14:29 +0000)]
examples: Exclude USB on non-linux
Skip USB example and parts on OSX
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 2 Mar 2012 14:28:45 +0000 (14:28 +0000)]
examples: Updated LCD part for OSX
Uses the proper include file on OSX
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 2 Mar 2012 14:27:05 +0000 (14:27 +0000)]
misc: Updated .gitignore
Added OSX turd files
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Fri, 2 Mar 2012 14:37:09 +0000 (14:37 +0000)]
misc: Explicitely link libelf
Some linker don't understand inherited links
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Mon, 27 Feb 2012 14:21:16 +0000 (14:21 +0000)]
examples: New board_usb
Automaticaly tries to build the vhci libraries
TODO: Make the whole simavr build work even if the vhci
compile fails, or is not linux
By: Torbjorn Tyridal <ttyridal@gmail.com>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Mon, 27 Feb 2012 14:19:15 +0000 (14:19 +0000)]
parts: New vhci usb device bridge
By Torbjorn Tyridal <ttyridal@gmail.com>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Mon, 27 Feb 2012 14:18:24 +0000 (14:18 +0000)]
cores: Added at90usb162
Straight from Torbjorn Tyridal <ttyridal@gmail.com>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Mon, 27 Feb 2012 14:17:25 +0000 (14:17 +0000)]
simavr: Added usb slave emulation module
Straight from Torbjorn Tyridal <ttyridal@gmail.com> with
just a bit of source code remangling
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Mon, 27 Feb 2012 14:00:29 +0000 (14:00 +0000)]
examples: Link against .so
If .so is present, link against that, not the static lib
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Mon, 27 Feb 2012 13:59:27 +0000 (13:59 +0000)]
vhci: Fix Makefile PWD
Somehow PWD is wrong, it's the shell's one not the make one
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Mon, 27 Feb 2012 10:53:28 +0000 (10:53 +0000)]
Makefiles: general update
+ Now uses the shared library if present, and added some
logic to find where it was built.
+ Added an "official" version number
+ Added a "make install DESTDIR=..." target
+ Added a "simavr.pc" pkg-config file
Michel Pollet [Mon, 27 Feb 2012 10:51:23 +0000 (10:51 +0000)]
all: Added -Wall to the build
And fixed the warnings that poped out
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sun, 26 Feb 2012 10:58:26 +0000 (10:58 +0000)]
cycle_timers: Fix a delivery problem
If the timer was deleting/inserting timers, it wouldn't
be rescheduled properly.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 17:59:44 +0000 (17:59 +0000)]
vhci: Added a gitignore
Ignore generated files in there
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 17:57:59 +0000 (17:57 +0000)]
interrupts: Isolated runtime data
Split the runtime data related to interrupts into it's own
struct, and updated anyone using it directly.
Ultimately it would be the goal not to have to pass an avr_t
around to all the functions.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 17:56:03 +0000 (17:56 +0000)]
regbits: Moved the struct declaration
Moved the data type to sim_avr_types.h, so it doesn't
need the full avr_t type to be used.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 17:26:33 +0000 (17:26 +0000)]
style: Updated to 2012
Changed prototypes, updared copyright etc
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 16:25:30 +0000 (16:25 +0000)]
vhci: build kernel module & library
This makefile downloads the vhci bits, hack the a little
and compile them in place.
One done it's left as an excercise to the reader to install
the module where they want.
Example board can then link/compile by adding -I../vhci/include and
-L../vhci/lib to their makefile
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 14:45:06 +0000 (14:45 +0000)]
cycle_timers: Big rework
Removed the old bitfield, implemented a sorted list. Timers
get added to the list by (reverse) order of execution do acts
as a stack of timers to run and pop out.
This considerably simplifies the code, and also makes the code
that test for the next timer to run very small and efficient.
This should make cycle_timers a lot more scalable, since they are
used for many more uses than they were originaly designed for.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 14:40:40 +0000 (14:40 +0000)]
general: Introduce two new headers
Split the cycle/usec conversion code from the cycle_timer
heacers into it's new sim_time.h
Also removed the simple types out of sim_avr.h to create
new header sim_avr_types.h
Adapted other modules to use avr_time.h
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 14:37:26 +0000 (14:37 +0000)]
timer: Fix a problem on unconfigured comparators
Was trying to calculated and setup comparators that
didn't exists on some cores... confusion ensued.
This fixes the "64 led timer" example.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 10:05:23 +0000 (10:05 +0000)]
interrupts: Rewrote interrupt delivery
Now uses a fifo, removed the bitfield.
This allows multiple interrupt "sources" per vector,
and should make delivery a bit quicker too.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 10:05:59 +0000 (10:05 +0000)]
i2ctest: Make example exit properly
Demo was trying to exit, but the harness wasn't
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 22 Feb 2012 12:21:27 +0000 (12:21 +0000)]
tests: Cleanup the test harnesses
Removed extra scripts, etc
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 22 Feb 2012 11:29:06 +0000 (11:29 +0000)]
adc: Fix for non updating ADC values
Patch from Peter Ross pross@xvid.org
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sat, 25 Feb 2012 10:06:34 +0000 (10:06 +0000)]
makefile: Make -j works
Was lacking dependencies
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 22 Feb 2012 11:28:18 +0000 (11:28 +0000)]
makefile: Don't track system headers
Otherwise incremental make fails after system updates
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 08:23:27 +0000 (09:23 +0100)]
tests: Revert a uart patch
We do need the translation, as it's not one, but generation of \n\r
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 08:20:03 +0000 (09:20 +0100)]
cores: Added mega16m1
Could work for megaXm1 ?
Signed-off-by: Markus Lampert <mlampert@telus.net>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 08:19:15 +0000 (09:19 +0100)]
lin: Added module
- added core module for atmega16m1,
standard peripherals and LIN-in-UART mode
Signed-off-by: Markus Lampert <mlampert@telus.net>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 08:18:13 +0000 (09:18 +0100)]
core: Added a log level
added log_level to avr_t to control the output of the
simavr library (minimal usage)
Signed-off-by: Markus Lampert <mlampert@telus.net>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 08:17:03 +0000 (09:17 +0100)]
uart: Do not assume all interupt vectors are available, etc
LIN uart doesn't have them (?)
- fixed uart code to only trigger rxt if more pending
characters are in the input buffer
- fixed uart-echo test code to not get stuck in
endless loop upon receiving '\r'
Signed-off-by: Markus Lampert <mlampert@telus.net>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 08:10:39 +0000 (09:10 +0100)]
core: added new states
States cpu_Done and cpu_Crashed allow graceful exit
and cleanup of simavr applications.
Signed-off-by: Markus Lampert <mlampert@telus.net>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 08:08:47 +0000 (09:08 +0100)]
core: Fixed opcode printing on access violation
No functional change
Signed-off-by: Markus Lampert <mlampert@telus.net>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 08:07:07 +0000 (09:07 +0100)]
adc: Added VCC/4 reading
For mega16m1
Signed-off-by: Markus Lampert <mlampert@telus.net>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 07:10:53 +0000 (08:10 +0100)]
misc: formatting, typos
Also removed test case that doesn't actualy test anything
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 14 Sep 2011 07:02:44 +0000 (08:02 +0100)]
ioport: Added avr_iopin_t
Descriptor for pin name/pin number
Signed-off-by: Michel Pollet <buserror@gmail.com>
Stephan Veigl [Thu, 28 Jul 2011 16:03:33 +0000 (18:03 +0200)]
vcd: change VCD time base to 1 ns to handle higher AVR speeds (e.g. 20 MHz / max. frequency: 1000 MHz)
- increase VCD log size to 5kB
Signed-off-by: Stephan Veigl <veigl@gmx.net>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Stephan Veigl [Sun, 3 Jul 2011 16:42:58 +0000 (18:42 +0200)]
irq: add avr_unconnect_irq() and avr_irq_unregister_notify()
Signed-off-by: Stephan Veigl <veigl@gmx.net>
Stephan Veigl [Tue, 16 Aug 2011 13:05:21 +0000 (15:05 +0200)]
bitbang: add new bitbang sub-module
Signed-off-by: Stephan Veigl <veigl@gmx.net>
Stephan Veigl [Fri, 24 Jun 2011 12:33:02 +0000 (14:33 +0200)]
test: fix test cases and add new test function
- add tests_assert_uart_receive_avr() function (called by tests_assert_uart_receive() and test cases)
- fix DDR settings
Signed-off-by: Stephan Veigl <veigl@gmx.net>
Sami Liedes [Wed, 2 Feb 2011 17:19:20 +0000 (19:19 +0200)]
Update .gitignore.
Signed-off-by: Sami Liedes <sliedes@cc.hut.fi>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Stephan Veigl [Thu, 28 Jul 2011 16:03:33 +0000 (18:03 +0200)]
vcd: change VCD time base to 1 ns to handle higher AVR speeds (e.g. 20 MHz / max. frequency: 1000 MHz)
- increase VCD log size to 5kB
- add test files
Signed-off-by: Stephan Veigl <veigl@gmx.net>
Stephan Veigl [Thu, 23 Jun 2011 14:20:56 +0000 (16:20 +0200)]
simavr: change hard-coded value to define: AVR_IOPORT_OUTPUT
Signed-off-by: Stephan Veigl <veigl@gmx.net>
Stephan Veigl [Thu, 23 Jun 2011 14:01:44 +0000 (16:01 +0200)]
output: add NO_COLOR define to disable / enable color output for simavr core messages and UART
Signed-off-by: Stephan Veigl <veigl@gmx.net>
Stephan Veigl [Sun, 3 Jul 2011 16:49:28 +0000 (18:49 +0200)]
doc: add doxygen file
Signed-off-by: Stephan Veigl <veigl@gmx.net>
HATATANI Shinta [Thu, 8 Sep 2011 13:39:10 +0000 (22:39 +0900)]
cores: Add mega1281
Signed-off-by: HATATANI Shinta <gamaguchi@gmail.com>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Tue, 13 Sep 2011 18:38:38 +0000 (19:38 +0100)]
cores: Added mega8, old generation
Possibly would work with mega16, 32 ?
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sun, 27 Mar 2011 10:44:22 +0000 (11:44 +0100)]
examples: Working i2c master test board
Write a few bytes to an i2c eeprom, read them back...
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sun, 27 Mar 2011 10:43:40 +0000 (11:43 +0100)]
parts: Adds generic i2c eeprom slave
This part simulates an i2c eeprom, it handles most modes, including
"multiple addresses" ones, and ones with multiple byte offset bytes.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Sun, 27 Mar 2011 10:42:00 +0000 (11:42 +0100)]
twi: Fully functional master
Now works properly, tested against Atmel's code. See
examples/board_i2ctest for a demo
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 23 Mar 2011 14:38:04 +0000 (14:38 +0000)]
examples: Fix firmware pathnames
Twas borken since I changed the build system. Now works
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Tue, 15 Mar 2011 13:41:59 +0000 (13:41 +0000)]
example: Added i2ctest
This example need some polish. It simulates an AVR with an
i2c eeprom of 1024 bytes. The eeprom is "generic" an will go to the
parts/ directory when this is fully working.
Right now write the eeprom works, but there is a stray byte somewhere;
the bug /could/ be in the atmel code tho, wich I had to fix and tweak.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Tue, 15 Mar 2011 13:40:12 +0000 (13:40 +0000)]
twi: Update, 95% functional master code
Still need a bit of polish, but the logic works. Works with the
interupt based Atmel application note code.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Tue, 15 Mar 2011 13:38:46 +0000 (13:38 +0000)]
run_avr: Added a signal handler
Catches control-C to make sure any VCD file is flushed
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Tue, 15 Mar 2011 13:38:11 +0000 (13:38 +0000)]
cores: Fix TWI interupt flag
This flag was using the wrong register
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Tue, 15 Mar 2011 13:37:09 +0000 (13:37 +0000)]
test: Updated uart_echo
Now set a baud rate, to excersize the new logic in the uart
simulator.
Also added a VCD file
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Tue, 15 Mar 2011 13:35:51 +0000 (13:35 +0000)]
cores: Added UART bit rate flags
Updated the cores that have UART(s) with extra flags.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Tue, 15 Mar 2011 13:33:54 +0000 (13:33 +0000)]
uart: Added logic to regulate data rate
Now uses a data rate thst is proportional to speed.
Could be made a bit better by using the cycle clock count directly,
but this method is a bit clearer
Signed-off-by: Michel Pollet <buserror@gmail.com>
Sami Liedes [Mon, 28 Feb 2011 19:27:29 +0000 (21:27 +0200)]
misc: Fixes various typos
Author: Sami Liedes <sliedes@cc.hut.fi>
Signed-off-by: Michel Pollet <buserror@gmail.com>
Sami Liedes [Mon, 28 Feb 2011 21:37:59 +0000 (23:37 +0200)]
Fix interupt -> interrupt typo, including in some function names.
Signed-off-by: Sami Liedes <sliedes@cc.hut.fi>
Sami Liedes [Mon, 28 Feb 2011 21:33:08 +0000 (23:33 +0200)]
Do not let code clear the UDRE flag in USART.
It's a read only location and clearing it may break software that
assumes it cannot be cleared.
Signed-off-by: Sami Liedes <sliedes@cc.hut.fi>
Michel Pollet [Wed, 9 Mar 2011 07:56:50 +0000 (07:56 +0000)]
Merge remote-tracking branch 'sliedes/to-upstream' into dev-home
Sami Liedes [Mon, 28 Feb 2011 20:02:06 +0000 (22:02 +0200)]
Tweak struct avr_t to always include a pointer to trace data structure.
Previously the size of struct avr_t was dependent on whether the
preprocessor macro CONFIG_SIMAVR_TRACE was defined. This was problematic
since it meant that applications that link to simavr need to define it
the same way as it is defined in simavr Makefiles.
Change it to a single pointer to a struct, which is allocated iff
tracing is compiled in and a NULL pointer otherwise.
Signed-off-by: Sami Liedes <sliedes@cc.hut.fi>
Sami Liedes [Fri, 11 Feb 2011 01:02:33 +0000 (03:02 +0200)]
Automate test cases.
This patch implements a framework for test cases. Each test case is
compiled into an individual executable. All test cases can be run by
invoking the command `make run_tests', which runs the shell script
run_tests.
Signed-off-by: Sami Liedes <sliedes@cc.hut.fi>
Sami Liedes [Sun, 20 Feb 2011 16:55:10 +0000 (18:55 +0200)]
Include sim_gdb.h from sim_gdb.c. Also fix prototype in .h.
sim_gdb.c did not include sim_gdb.h. Also there was a slight
difference in the prototype in the header and the implementation in
the .c, causing a warning.
Signed-off-by: Sami Liedes <sliedes@cc.hut.fi>
Michel Pollet [Sun, 27 Feb 2011 20:34:07 +0000 (20:34 +0000)]
uart: Touchup on the xon/xoff IRQs
Set/reset XON & XOFF irqs following the status
of the fifo. It means they can be added to a VCD
file and help debug a "part".
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 24 Feb 2011 18:05:06 +0000 (18:05 +0000)]
uart: Added a comment
As to why somehow we don'r write a value in the interupt
clearing logic
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 24 Feb 2011 18:03:24 +0000 (18:03 +0000)]
twi: Placeholder example board
Uses AVR application note implementation of master/slave mode
Placeholder, non functional
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 24 Feb 2011 18:02:35 +0000 (18:02 +0000)]
twi: New master implementation
Yanked the old overengineered version, replaced it with a KISS
version. Untested, work in progress. Needs a new testing harness
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 24 Feb 2011 18:01:40 +0000 (18:01 +0000)]
regbits: Added a "raw" variant to get/set
Allows comparing to "real life" constants, used in Twi module
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 24 Feb 2011 18:01:01 +0000 (18:01 +0000)]
part: Made irq_names static
Have to to have several of them...
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 23 Feb 2011 17:56:08 +0000 (17:56 +0000)]
Makefile: Fix for x86_64
silly architecture names...
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Wed, 23 Feb 2011 13:55:29 +0000 (13:55 +0000)]
Makefile updates
Changed the makefiles to derivate the target architecture from
gcc itself, and compile all the objects into obj-$arch. This
allows several compilers to be used to build simavr, at the same
time without interferences.
This allow arm cross compilation to live in the same tree as
the x86 one...
Signed-off-by: Michel Pollet <buserror@gmail.com>