Change bootloader makefiles to automatically compute the bootloader starting address from a flash size and bootloader section size, expressed in KB.

pull/1469/head
Dean Camera 14 years ago
parent 5995c3f880
commit 088bfb10b2

@ -86,11 +86,13 @@ F_CLOCK = $(F_CPU)
# Starting byte address of the bootloader, as a byte address - computed via the formula # Starting byte address of the bootloader, as a byte address - computed via the formula
# BOOT_START = ((TOTAL_FLASH_BYTES - BOOTLOADER_SECTION_SIZE_BYTES) * 1024) # BOOT_START = ((FLASH_SIZE_KB - BOOT_SECTION_SIZE_KB) * 1024)
# #
# Note that the bootloader size and start address given in AVRStudio is in words and not # Note that the bootloader size and start address given in AVRStudio is in words and not
# 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.
BOOT_START = 0x1E000 FLASH_SIZE_KB = 128
BOOT_SECTION_SIZE_KB = 4
BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)
# Output format. (can be srec, ihex, binary) # Output format. (can be srec, ihex, binary)

@ -38,7 +38,7 @@
/** Flag to indicate if the bootloader is currently running in secure mode, disallowing memory operations /** Flag to indicate if the bootloader is currently running in secure mode, disallowing memory operations
* other than erase. This is initially set to the value set by SECURE_MODE, and cleared by the bootloader * other than erase. This is initially set to the value set by SECURE_MODE, and cleared by the bootloader
* once a memory erase has completed. * once a memory erase has completed in a bootloader session.
*/ */
bool IsSecure = SECURE_MODE; bool IsSecure = SECURE_MODE;

@ -86,11 +86,13 @@ F_CLOCK = $(F_CPU)
# Starting byte address of the bootloader, as a byte address - computed via the formula # Starting byte address of the bootloader, as a byte address - computed via the formula
# BOOT_START = ((TOTAL_FLASH_BYTES - BOOTLOADER_SECTION_SIZE_BYTES) * 1024) # BOOT_START = ((FLASH_SIZE_KB - BOOT_SECTION_SIZE_KB) * 1024)
# #
# Note that the bootloader size and start address given in AVRStudio is in words and not # Note that the bootloader size and start address given in AVRStudio is in words and not
# 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.
BOOT_START = 0x1E000 FLASH_SIZE_KB = 128
BOOT_SECTION_SIZE_KB = 4
BOOT_START = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc)
# Output format. (can be srec, ihex, binary) # Output format. (can be srec, ihex, binary)

@ -58,6 +58,7 @@
* - MidiMonster, a USB-to-MIDI gateway board: http://www.dorkbotpdx.org/wiki/midimonster * - MidiMonster, a USB-to-MIDI gateway board: http://www.dorkbotpdx.org/wiki/midimonster
* - Mobo 4.3, a USB controlled all band (160-10m) HF SDR transceiver: http://sites.google.com/site/lofturj/mobo4_3 * - Mobo 4.3, a USB controlled all band (160-10m) HF SDR transceiver: http://sites.google.com/site/lofturj/mobo4_3
* - Moco, a native Arduino Uno MIDI replacement firmware: http://web.mac.com/kuwatay/morecat_lab./MocoLUFA.html * - Moco, a native Arduino Uno MIDI replacement firmware: http://web.mac.com/kuwatay/morecat_lab./MocoLUFA.html
* - Music Playing Alarm Clock (Tutorial): http://www.instructables.com/id/Music-Playing-Alarm-Clock/
* - NeroJTAG, a JTAG dongle: https://github.com/makestuff/neroJtag * - NeroJTAG, a JTAG dongle: https://github.com/makestuff/neroJtag
* - NES Controller USB modification: http://projects.peterpolidoro.net/video/NESUSB.htm * - NES Controller USB modification: http://projects.peterpolidoro.net/video/NESUSB.htm
* - Opendous-JTAG, an open source ARM JTAG debugger: http://code.google.com/p/opendous-jtag/ * - Opendous-JTAG, an open source ARM JTAG debugger: http://code.google.com/p/opendous-jtag/

@ -199,7 +199,7 @@
* \section Sec_Migration090924 Migrating from 090810 to 090924 * \section Sec_Migration090924 Migrating from 090810 to 090924
* *
* <b>Non-USB Library Components</b> * <b>Non-USB Library Components</b>
* - The \c ADC_Off() function has been renamed to \ref ADC_ShutDown() to be consistent with the rest of the library. * - The \c ADC_Off() function has been renamed to \c ADC_ShutDown() to be consistent with the rest of the library.
* - The \ref SPI_Init() routine's parameters have changed, so that the clock polarity and data sampling modes can be set. See * - The \ref SPI_Init() routine's parameters have changed, so that the clock polarity and data sampling modes can be set. See
* the \ref SPI_Init() function documentation for more details * the \ref SPI_Init() function documentation for more details
* - The \ref Dataflash_Init() routine no longer initializes the SPI bus - the SPI bus should be initialized manually via a * - The \ref Dataflash_Init() routine no longer initializes the SPI bus - the SPI bus should be initialized manually via a

Loading…
Cancel
Save