From 4e55b23002616e3767a819e9ea99417967c1789f Mon Sep 17 00:00:00 2001 From: inajob Date: Sat, 14 Mar 2020 10:43:47 +0900 Subject: [PATCH] change OSCCAL in bootloader --- optiboot/bootloaders/optiboot/Makefile | 8 +++++++- optiboot/bootloaders/optiboot/optiboot.c | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/optiboot/bootloaders/optiboot/Makefile b/optiboot/bootloaders/optiboot/Makefile index 990f01f..44b6ab2 100644 --- a/optiboot/bootloaders/optiboot/Makefile +++ b/optiboot/bootloaders/optiboot/Makefile @@ -243,11 +243,17 @@ APPSPM_CMD = -DAPP_NOSPM=1 endif endif +HELPTEXT += "Option OSCCAL_VALUE=nnn - set set OSCCAL_VALUE in bootloader\n" +ifdef OSCCAL_VALUE +OSCCAL_VALUE_CMD = -DOSCCAL_VALUE=$(OSCCAL_VALUE) +dummy = FORCE +endif + COMMON_OPTIONS = $(BAUD_RATE_CMD) $(LED_START_FLASHES_CMD) $(BIGBOOT_CMD) COMMON_OPTIONS += $(SOFT_UART_CMD) $(LED_DATA_FLASH_CMD) $(LED_CMD) $(SS_CMD) COMMON_OPTIONS += $(SUPPORT_EEPROM_CMD) $(LED_START_ON_CMD) $(APPSPM_CMD) -COMMON_OPTIONS += $(VERSION_CMD) +COMMON_OPTIONS += $(OSCCAL_VALUE_CMD) $(VERSION_CMD) #UART is handled separately and only passed for devices with more than one. HELPTEXT += "Option UART=n - use UARTn for communications\n" diff --git a/optiboot/bootloaders/optiboot/optiboot.c b/optiboot/bootloaders/optiboot/optiboot.c index a37fa26..61862e1 100644 --- a/optiboot/bootloaders/optiboot/optiboot.c +++ b/optiboot/bootloaders/optiboot/optiboot.c @@ -563,6 +563,10 @@ int main(void) { SP=RAMEND; // This is done by hardware reset #endif +#if defined(OSCCAL_VALUE) + OSCCAL = OSCCAL_VALUE; +#endif + /* * Protect as much from MCUSR as possible for application * and still skip bootloader if not necessary