Hi,
This series add the arduino boards, aiming at removing the
'sample' board that doesn't follow any specification.
Since v1:
- Addressed Igor comments
- Addressed Aleksandar comments
- Fixed UART issue (was due to IRQ shifted by 2 in CPU)
TODO after merge is:
- Extract Timer8 common parts from Timer16
- Add GPIOs
- Connect LED to GPIO on Arduino
- Plug to Scratch (See http://s4a.cat/).
(I plan to purpose that as a GSoC idea).
Thank you for having insisted with this port during so long!
Regards,
Phil.
Based-on: <20191218210329.1960-1-mrolnik@gmail.com>
https://www.mail-archive.com/qemu-devel@nongnu.org/msg666384.html
Cc: Stefan Hajnoczi <stefanha@redhat.com> (for GSoC idea)
Cc: Phillip Stevens <phillip.stevens@gmail.com> (for FreeRTOS example)
Philippe Mathieu-Daudé (8):
hw/char/avr: Reduce USART I/O size
hw/timer/avr_timer16: Rename memory region debugging name
hw/avr: Add some ATmega microcontrollers
hw/avr: Add some Arduino boards
tests/boot-serial-test: Test some Arduino boards (AVR based)
tests/acceptance: Do not set the machine type manually
tests/acceptance: Keep multilines comment consistent with other tests
tests/acceptance: Test the Arduino MEGA2560 board
hw/avr/atmega.h | 48 ++++
hw/avr/arduino.c | 177 ++++++++++++
hw/avr/atmega.c | 460 +++++++++++++++++++++++++++++++
hw/char/avr_usart.c | 2 +-
hw/timer/avr_timer16.c | 6 +-
tests/boot-serial-test.c | 2 +
hw/avr/Makefile.objs | 2 +
tests/acceptance/machine_avr6.py | 11 +-
8 files changed, 697 insertions(+), 11 deletions(-)
create mode 100644 hw/avr/atmega.h
create mode 100644 hw/avr/arduino.c
create mode 100644 hw/avr/atmega.c
--
2.21.0