diff --git a/bootloader/clubdance_v2_bootloader.X/nbproject/configurations.xml b/bootloader/clubdance_v2_bootloader.X/nbproject/configurations.xml index c4d0098..645a178 100644 --- a/bootloader/clubdance_v2_bootloader.X/nbproject/configurations.xml +++ b/bootloader/clubdance_v2_bootloader.X/nbproject/configurations.xml @@ -102,7 +102,7 @@ - + @@ -172,6 +172,7 @@ value="Press to browse for a specific firmware version"/> + diff --git a/bootloader/src/bootloader.c b/bootloader/src/bootloader.c index 6fb28fc..7eaa8ec 100644 --- a/bootloader/src/bootloader.c +++ b/bootloader/src/bootloader.c @@ -69,8 +69,6 @@ #define REQUEST_DATA_BLOCK_SIZE 0x3A //Number of data bytes in a standard request to the PC. Must be an even number from 2-58 (0x02-0x3A). Larger numbers make better use of USB bandwidth and //yeild shorter program/verify times, but require more micrcontroller RAM for buffer space. - - /** USB Packet Request/Response Formatting Structure **********************************************************/ typedef union { @@ -397,7 +395,7 @@ void ProcessIO(void) //in this firmware and is available for requesting by the host software. PacketToPC.Command = QUERY_EXTENDED_INFO; //Echo the command byte PacketToPC.BootloaderVersion = ((unsigned int)BOOTLOADER_VERSION_MAJOR << 8)| BOOTLOADER_VERSION_MINOR; - PacketToPC.ApplicationVersion = *(const unsigned int*)APP_FW_VERSION_ADDRESS; + memcpy(&PacketToPC.ApplicationVersion, (void*)APP_FW_VERSION_ADDRESS, 2); PacketToPC.SignatureAddress = APP_SIGNATURE_ADDRESS; PacketToPC.SignatureValue = APP_SIGNATURE_VALUE; PacketToPC.ErasePageSize = ERASE_PAGE_SIZE; diff --git a/bootloader/src/main.c b/bootloader/src/main.c index ab5d919..8770231 100644 --- a/bootloader/src/main.c +++ b/bootloader/src/main.c @@ -17,7 +17,10 @@ * IF YOU FLASH BROKEN APPLICATION FIRMWARE YOU WILL HAVE A BRICK!! * At that point the device can only be reprogrammed by a dedicated programmer such as the ICD or Pickit 3. */ -#define ENABLE_HARDWARE_MODE_OVERRIDE +// Yep, I'm disabling it anyway. the boards aren't designed to accomodate another pull-up resistor +// or pushbutton. a jump from application code is sufficient since you shouldn't be flashing modified or +// untested firmware without a pickit anyway. +//#define ENABLE_HARDWARE_MODE_OVERRIDE /* Private prototypes */ void main(void); diff --git a/firmware/clubdance_v2.X/nbproject/configurations.xml b/firmware/clubdance_v2.X/nbproject/configurations.xml index e715a3b..bce764e 100644 --- a/firmware/clubdance_v2.X/nbproject/configurations.xml +++ b/firmware/clubdance_v2.X/nbproject/configurations.xml @@ -168,7 +168,7 @@ - + diff --git a/firmware/src/main.c b/firmware/src/main.c index 20492a1..ddb17bc 100644 --- a/firmware/src/main.c +++ b/firmware/src/main.c @@ -30,8 +30,8 @@ #include "memory.h" #ifdef LINK_FOR_BOOTLOADER -// only define this if building fw to be used with the bootloader -const uint16_t VersionWord __at(APP_FW_VERSION_ADDRESS) = 0x0100; +// the version word of this application - will be read and displayed by the firmware flash utility +const unsigned int VersionWord __at(APP_FW_VERSION_ADDRESS) = 0x0100; #endif void main(void)