Commit bc3db793 authored by Dean Camera's avatar Dean Camera
Browse files

Minor bootloader tweaks; make some functions static where possible to reduce...

Minor bootloader tweaks; make some functions static where possible to reduce the compiled binary size, add additional comments to the makefiles.
parent 3038ea1c
...@@ -88,7 +88,7 @@ int main(void) ...@@ -88,7 +88,7 @@ int main(void)
} }
/** Configures all hardware required for the bootloader. */ /** Configures all hardware required for the bootloader. */
void SetupHardware(void) static void SetupHardware(void)
{ {
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
...@@ -350,7 +350,7 @@ static void WriteNextResponseByte(const uint8_t Response) ...@@ -350,7 +350,7 @@ static void WriteNextResponseByte(const uint8_t Response)
/** Task to read in AVR910 commands from the CDC data OUT endpoint, process them, perform the required actions /** Task to read in AVR910 commands from the CDC data OUT endpoint, process them, perform the required actions
* and send the appropriate response back to the host. * and send the appropriate response back to the host.
*/ */
void CDC_Task(void) static void CDC_Task(void)
{ {
/* Select the OUT endpoint */ /* Select the OUT endpoint */
Endpoint_SelectEndpoint(CDC_RX_EPNUM); Endpoint_SelectEndpoint(CDC_RX_EPNUM);
......
...@@ -72,8 +72,8 @@ ...@@ -72,8 +72,8 @@
typedef void (*AppPtr_t)(void) ATTR_NO_RETURN; typedef void (*AppPtr_t)(void) ATTR_NO_RETURN;
/* Function Prototypes: */ /* Function Prototypes: */
void CDC_Task(void); static void CDC_Task(void);
void SetupHardware(void); static void SetupHardware(void);
void EVENT_USB_Device_ConfigurationChanged(void); void EVENT_USB_Device_ConfigurationChanged(void);
......
...@@ -96,6 +96,11 @@ F_USB = $(F_CPU) ...@@ -96,6 +96,11 @@ F_USB = $(F_CPU)
# bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC. # bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC.
FLASH_SIZE_KB = 128 FLASH_SIZE_KB = 128
BOOT_SECTION_SIZE_KB = 4 BOOT_SECTION_SIZE_KB = 4
# Formulas used to calculate the starting address of the Bootloader section, and the User Application
# API jump table (for more information on the latter, see the bootloader documentation). These formulas
# should not need to be altered - modify the FLASH_SIZE_KB and BOOT_SECTION_KB values above instead.
BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc) BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)
BOOT_API_TABLESTART = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - 32)" | bc) BOOT_API_TABLESTART = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - 32)" | bc)
......
...@@ -137,7 +137,7 @@ int main(void) ...@@ -137,7 +137,7 @@ int main(void)
} }
/** Configures all hardware required for the bootloader. */ /** Configures all hardware required for the bootloader. */
void SetupHardware(void) static void SetupHardware(void)
{ {
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
...@@ -160,7 +160,7 @@ void SetupHardware(void) ...@@ -160,7 +160,7 @@ void SetupHardware(void)
} }
/** Resets all configured hardware required for the bootloader back to their original states. */ /** Resets all configured hardware required for the bootloader back to their original states. */
void ResetHardware(void) static void ResetHardware(void)
{ {
/* Shut down the USB subsystem */ /* Shut down the USB subsystem */
USB_Disable(); USB_Disable();
......
...@@ -192,8 +192,8 @@ ...@@ -192,8 +192,8 @@
}; };
/* Function Prototypes: */ /* Function Prototypes: */
void SetupHardware(void); static void SetupHardware(void);
void ResetHardware(void); static void ResetHardware(void);
void EVENT_USB_Device_ControlRequest(void); void EVENT_USB_Device_ControlRequest(void);
......
...@@ -96,6 +96,11 @@ F_USB = $(F_CPU) ...@@ -96,6 +96,11 @@ F_USB = $(F_CPU)
# bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC. # bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC.
FLASH_SIZE_KB = 128 FLASH_SIZE_KB = 128
BOOT_SECTION_SIZE_KB = 4 BOOT_SECTION_SIZE_KB = 4
# Formulas used to calculate the starting address of the Bootloader section, and the User Application
# API jump table (for more information on the latter, see the bootloader documentation). These formulas
# should not need to be altered - modify the FLASH_SIZE_KB and BOOT_SECTION_KB values above instead.
BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc) BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)
BOOT_API_TABLESTART = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - 32)" | bc) BOOT_API_TABLESTART = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - 32)" | bc)
......
...@@ -65,7 +65,7 @@ int main(void) ...@@ -65,7 +65,7 @@ int main(void)
} }
/** Configures all hardware required for the bootloader. */ /** Configures all hardware required for the bootloader. */
void SetupHardware(void) static void SetupHardware(void)
{ {
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
#define COMMAND_STARTAPPLICATION 0xFFFF #define COMMAND_STARTAPPLICATION 0xFFFF
/* Function Prototypes: */ /* Function Prototypes: */
void SetupHardware(void); static void SetupHardware(void);
void EVENT_USB_Device_ConfigurationChanged(void); void EVENT_USB_Device_ConfigurationChanged(void);
void EVENT_USB_Device_UnhandledControlRequest(void); void EVENT_USB_Device_UnhandledControlRequest(void);
......
...@@ -96,6 +96,10 @@ F_USB = $(F_CPU) ...@@ -96,6 +96,10 @@ F_USB = $(F_CPU)
# bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC. # bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC.
FLASH_SIZE_KB = 128 FLASH_SIZE_KB = 128
BOOT_SECTION_SIZE_KB = 4 BOOT_SECTION_SIZE_KB = 4
# Formulas used to calculate the starting address of the Bootloader section. These formulas
# should not need to be altered - modify the FLASH_SIZE_KB and BOOT_SECTION_KB values above instead.
BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc) BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment