diff --git a/Bootloaders/CDC/makefile b/Bootloaders/CDC/makefile index b34745c81b..97b714d0b4 100644 --- a/Bootloaders/CDC/makefile +++ b/Bootloaders/CDC/makefile @@ -31,8 +31,9 @@ BOOT_SECTION_SIZE_KB = 8 # Bootloader address calculation formulas (requires the "bc" unix utility) # Do not modify these macros, but rather modify the depedant values above. -BOOT_START_OFFSET = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc) -BOOT_SEC_OFFSET = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - $(strip $(1)))" | bc) +CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) +BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) +BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - $(strip $(1)) ) # Bootloader linker section flags for relocating the API table sections to # known FLASH addresses - these should not normally be user-edited. diff --git a/Bootloaders/DFU/makefile b/Bootloaders/DFU/makefile index 049909c01b..f0d5a45ada 100644 --- a/Bootloaders/DFU/makefile +++ b/Bootloaders/DFU/makefile @@ -31,8 +31,9 @@ BOOT_SECTION_SIZE_KB = 8 # Bootloader address calculation formulas (requires the "bc" unix utility) # Do not modify these macros, but rather modify the depedant values above. -BOOT_START_OFFSET = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc) -BOOT_SEC_OFFSET = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - $(strip $(1)))" | bc) +CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) +BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) +BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - $(strip $(1)) ) # Bootloader linker section flags for relocating the API table sections to # known FLASH addresses - these should not normally be user-edited. @@ -43,7 +44,7 @@ BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, signatures, Signatures, 8 # Default target all: - + # Include LUFA build script makefiles include $(LUFA_PATH)/Build/lufa_core.mk include $(LUFA_PATH)/Build/lufa_sources.mk diff --git a/Bootloaders/HID/makefile b/Bootloaders/HID/makefile index 02b884a318..baa14279ee 100644 --- a/Bootloaders/HID/makefile +++ b/Bootloaders/HID/makefile @@ -31,8 +31,9 @@ BOOT_SECTION_SIZE_KB := 8 # Bootloader address calculation formulas (requires the "bc" unix utility) # Do not modify these macros, but rather modify the depedant values above. -BOOT_START_OFFSET = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc) -BOOT_SEC_OFFSET = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - $(strip $(1)))" | bc) +CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) +BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) +BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - $(strip $(1)) ) # Default target all: diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index ed68a1d280..b07e666a0c 100644 --- a/LUFA/DoxygenPages/ChangeLog.txt +++ b/LUFA/DoxygenPages/ChangeLog.txt @@ -22,7 +22,8 @@ * - Added workaround for broken VBUS detection on AVR8 devices when a bootloader starts the application * via a software jump without first turning off the OTG pad (thanks to Simon Inns) * - Library Applications: - * - Increased throughput in the USBtoSerial project now that data transmission is non-blocking (thanks to Joseph Lacerte) + * - Increased throughput in the USBtoSerial project now that data transmission is non-blocking (thanks to Joseph Lacerte) + * - Updated bootloader makefiles to remove dependency on the "bc" command line calculator tool * * Fixed: * - Core: diff --git a/LUFA/DoxygenPages/CompilingApps.txt b/LUFA/DoxygenPages/CompilingApps.txt index 71a7dc3f26..f41b80517d 100644 --- a/LUFA/DoxygenPages/CompilingApps.txt +++ b/LUFA/DoxygenPages/CompilingApps.txt @@ -23,10 +23,6 @@ * of the MinGW installer (http://www.mingw.org). Once installed, add the "msys\1.0\bin" of the MinGW installation * folder is added to your system's PATH environment variable. * - * The bootloaders currently also require the \c bc command line application, which can be installed from - * http://gnuwin32.sourceforge.net/downlinks/bc.php. Once installed add the "GnuWin32\bin" path of the GnuWin32 - * installation folder to your system's PATH environment variable. - * * \subsection SSec_PreqLinux Linux Prerequisites * On Linux systems you will need to install the latest Linux distribution of the standalone Atmel Toolchain from the * Atmel website (http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx), or use the latest avr-libc and avr-gcc packages