1
0
mirror of https://github.com/Optiboot/optiboot.git synced 2025-08-17 21:41:03 +03:00

More 14/20 bit chip defintions.

Mostly, struggling with IDEs :-(
This commit is contained in:
WestfW
2019-09-06 01:06:24 -07:00
parent 51b9eec272
commit adafe79832
2 changed files with 21 additions and 18 deletions

View File

@@ -127,7 +127,7 @@
#define OPTIBOOT_CUSTOMVER 0 #define OPTIBOOT_CUSTOMVER 0
#endif #endif
unsigned const int __attribute__((section(".version"))) unsigned const int __attribute__((section(".version"))) __attribute__((used))
optiboot_version = 256*(OPTIBOOT_MAJVER + OPTIBOOT_CUSTOMVER) + OPTIBOOT_MINVER; optiboot_version = 256*(OPTIBOOT_MAJVER + OPTIBOOT_CUSTOMVER) + OPTIBOOT_MINVER;
@@ -135,13 +135,13 @@ optiboot_version = 256*(OPTIBOOT_MAJVER + OPTIBOOT_CUSTOMVER) + OPTIBOOT_MINVER;
#include <avr/io.h> #include <avr/io.h>
FUSES = { FUSES = {
// .WDTCFG, /* Watchdog Configuration */ .WDTCFG = 0, /* Watchdog Configuration */
// .BODCFG, /* BOD Configuration */ .BODCFG = FUSE_BODCFG_DEFAULT, /* BOD Configuration */
.OSCCFG = 2, /* Oscillator Configuration */ .TCD0CFG = FUSE_TCD0CFG_DEFAULT, /* TCD0 Configuration */
// .TCD0CFG, /* TCD0 Configuration */ .OSCCFG = 2, /* 20MHz */
.SYSCFG0 = 0xC8, /* RESET is active */ .SYSCFG0 = 0xC4, /* RESET is not yet */
.SYSCFG1 = 0x06, /* startup 32ms */ .SYSCFG1 = 0x06, /* startup 32ms */
// .APPEND = 0, /* Application Code Section End */ .APPEND = 0, /* Application Code Section End */
.BOOTEND = 2 /* Boot Section End */ .BOOTEND = 2 /* Boot Section End */
}; };
@@ -296,8 +296,8 @@ int main (void) {
* and still skip bootloader if not necessary * and still skip bootloader if not necessary
*/ */
ch = RSTCTRL.RSTFR; ch = RSTCTRL.RSTFR;
RSTCTRL.RSTFR = ch; // reset causes, for now. // RSTCTRL.RSTFR = ch; // reset causes, for now.
ch &= ~RSTCTRL_UPDIRF_bm; // clear "reset by UPDI."
// Skip all logic and run bootloader if cause is cleared (application request) // Skip all logic and run bootloader if cause is cleared (application request)
if (ch != 0) { if (ch != 0) {
/* /*
@@ -350,8 +350,8 @@ int main (void) {
MYUART.CTRLA = 0; // Interrupts: all off MYUART.CTRLA = 0; // Interrupts: all off
MYUART.CTRLB = USART_RXEN_bm | USART_TXEN_bm; MYUART.CTRLB = USART_RXEN_bm | USART_TXEN_bm;
// Set up watchdog to trigger after 8s // Set up watchdog to trigger after 1s
watchdogConfig(WDT_PERIOD_8KCLK_gc); watchdogConfig(WDT_PERIOD_1KCLK_gc);
#if (LED_START_FLASHES > 0) || defined(LED_DATA_FLASH) || defined(LED_START_ON) #if (LED_START_FLASHES > 0) || defined(LED_DATA_FLASH) || defined(LED_START_ON)
/* Set LED pin as output */ /* Set LED pin as output */
@@ -535,6 +535,7 @@ void flash_led (uint8_t count) {
return; return;
} }
} }
watchdogReset(); // for breakpointing
} }
#endif #endif
@@ -636,6 +637,7 @@ void app()
ch = RSTCTRL.RSTFR; ch = RSTCTRL.RSTFR;
RSTCTRL.RSTFR = ch; // reset causes RSTCTRL.RSTFR = ch; // reset causes
__asm__ __volatile__ ("jmp 0"); // similar to running off end of memory
_PROTECTED_WRITE(RSTCTRL.SWRR, 1); // cause new reset _PROTECTED_WRITE(RSTCTRL.SWRR, 1); // cause new reset
for (long i=0; i < 1000000; i++) { for (long i=0; i < 1000000; i++) {
__asm__ __volatile__("wdr"); __asm__ __volatile__("wdr");

View File

@@ -759,10 +759,15 @@
#endif // Tiny402/etc #endif // Tiny402/etc
/* /*
* 14pin Tiny0, Tiny1 * 14pin and 20pin Tiny0, Tiny1
* The 14 and 20pin packages both conveniently have the UART on the
* same port pins, and the same pinmux structure!
*/ */
#if defined(__ATtiny1614__) || defined(__ATtiny1604__) || \ #if defined(__AVR_ATtiny1614__) || defined(__AVR_ATtiny1604__) || \
defined(__ATtiny814__) || defined(__ATtiny804__) defined(__AVR_ATtiny814__) || defined(__AVR_ATtiny804__) || \
defined(__AVR_ATtiny1606__) || defined(__AVR_ATtiny806__) || \
defined(__AVR_ATtiny406__) || defined(__AVR_ATtiny3216__) || \
defined(__AVR_ATtiny816__) || defined(__AVR_ATtiny416__)
#define MYPMUX PORTMUX.CTRLB #define MYPMUX PORTMUX.CTRLB
# if (UARTTX == B2) # if (UARTTX == B2)
# ifndef USART0 # ifndef USART0
@@ -782,10 +787,6 @@
# endif # endif
#endif #endif
#if defined(__ATtiny3216__) || defined(__ATtiny1606__)
#endif
#ifndef MYUART #ifndef MYUART
# warning No UARTTX pin specified. # warning No UARTTX pin specified.
#endif #endif