simavr
simavr copied to clipboard
Add ATtiny1634 core support
Summary
Adds support for ATtiny1634 microcontroller.
ATtiny1634 specifications:
- 16KB Flash, 1KB SRAM, 256B EEPROM
- 3 GPIO ports (A: 8 pins, B: 4 pins, C: 6 pins)
- Timer0: 8-bit with PWM on OC0A (PC0), OC0B (PA5)
- Timer1: 16-bit with PWM on OC1A (PB3), OC1B (PA6)
- 12-channel 10-bit ADC with temperature sensor
- Watchdog timer, PCINT on all 3 ports
Implementation notes:
- ATtiny1634 has no WDCE bit, so watchdog is declared manually without using the
AVR_WATCHDOG_DECLAREmacro - All WGM modes for both timers are implemented including Fast PWM with OCRnA as TOP (mode 7 for Timer0, mode 15 for Timer1)
- External clock pins for timers are supported
Testing:
- Compiles successfully with simavr build system
- Core is auto-detected and added to
sim_core_config.h
Use case:
This MCU is used in flashlight firmware (Anduril) and having simavr support enables firmware development and testing without physical hardware.