Remove dependency on the "bc" command line calculator tool in the bootloaders to...
authorDean Camera <dean@fourwalledcubicle.com>
Sat, 10 Nov 2012 16:47:04 +0000 (16:47 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Sat, 10 Nov 2012 16:47:04 +0000 (16:47 +0000)
Bootloaders/CDC/makefile
Bootloaders/DFU/makefile
Bootloaders/HID/makefile
LUFA/DoxygenPages/ChangeLog.txt
LUFA/DoxygenPages/CompilingApps.txt

index b34745c..97b714d 100644 (file)
@@ -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.
index 049909c..f0d5a45 100644 (file)
@@ -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
index 02b884a..baa1427 100644 (file)
@@ -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:
index ed68a1d..b07e666 100644 (file)
@@ -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
   *
   *  <b>Fixed:</b>
   *  - Core:
index 71a7dc3..f41b805 100644 (file)
  *  of the MinGW installer (<a>http://www.mingw.org</a>). Once installed, add the "msys\1.0\bin" of the MinGW installation
  *  folder is added to your system's <b>PATH</b> environment variable.
  *
- *  The bootloaders currently also require the \c bc command line application, which can be installed from
- *  <a>http://gnuwin32.sourceforge.net/downlinks/bc.php</a>. Once installed add the "GnuWin32\bin" path of the GnuWin32
- *  installation folder to your system's <b>PATH</b> 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 (<a>http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx</a>), or use the latest avr-libc and avr-gcc packages