Created
July 20, 2017 14:12
-
-
Save geekman/4bf8cd13a491106ae4f92d6aec9598c3 to your computer and use it in GitHub Desktop.
USBasp patch for the zhifengsoft USB ISP device (and newer avr-gcc)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -ur firmware/Makefile firmware-new/Makefile | |
--- firmware/Makefile 2011-05-28 15:57:49 +0800 | |
+++ firmware-new/Makefile 2017-07-16 01:12:03 +0800 | |
@@ -7,7 +7,7 @@ | |
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef | |
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff | |
# TARGET=at90s2313 | |
-TARGET=atmega8 | |
+TARGET=atmega88 | |
HFUSE=0xc9 | |
LFUSE=0xef | |
diff -ur firmware/main.c firmware-new/main.c | |
--- firmware/main.c 2011-05-28 15:57:49 +0800 | |
+++ firmware-new/main.c 2017-07-20 22:09:17 +0800 | |
@@ -307,7 +307,7 @@ | |
PORTD = 0; | |
PORTB = 0; | |
/* all outputs except PD2 = INT0 */ | |
- DDRD = ~(1 << 2); | |
+ DDRD = 0; | |
/* output SE0 for USB reset */ | |
DDRB = ~0; | |
diff -ur firmware/usbdrv/usbdrv.c firmware-new/usbdrv/usbdrv.c | |
--- firmware/usbdrv/usbdrv.c 2011-01-20 01:17:36 +0800 | |
+++ firmware-new/usbdrv/usbdrv.c 2017-07-16 11:46:17 +0800 | |
@@ -67,7 +67,7 @@ | |
#if USB_CFG_DESCR_PROPS_STRING_0 == 0 | |
#undef USB_CFG_DESCR_PROPS_STRING_0 | |
#define USB_CFG_DESCR_PROPS_STRING_0 sizeof(usbDescriptorString0) | |
-PROGMEM char usbDescriptorString0[] = { /* language descriptor */ | |
+PROGMEM const char usbDescriptorString0[] = { /* language descriptor */ | |
4, /* sizeof(usbDescriptorString0): length of descriptor in bytes */ | |
3, /* descriptor type */ | |
0x09, 0x04, /* language index (0x0409 = US-English) */ | |
@@ -77,7 +77,7 @@ | |
#if USB_CFG_DESCR_PROPS_STRING_VENDOR == 0 && USB_CFG_VENDOR_NAME_LEN | |
#undef USB_CFG_DESCR_PROPS_STRING_VENDOR | |
#define USB_CFG_DESCR_PROPS_STRING_VENDOR sizeof(usbDescriptorStringVendor) | |
-PROGMEM int usbDescriptorStringVendor[] = { | |
+PROGMEM const int usbDescriptorStringVendor[] = { | |
USB_STRING_DESCRIPTOR_HEADER(USB_CFG_VENDOR_NAME_LEN), | |
USB_CFG_VENDOR_NAME | |
}; | |
@@ -86,7 +86,7 @@ | |
#if USB_CFG_DESCR_PROPS_STRING_PRODUCT == 0 && USB_CFG_DEVICE_NAME_LEN | |
#undef USB_CFG_DESCR_PROPS_STRING_PRODUCT | |
#define USB_CFG_DESCR_PROPS_STRING_PRODUCT sizeof(usbDescriptorStringDevice) | |
-PROGMEM int usbDescriptorStringDevice[] = { | |
+PROGMEM const int usbDescriptorStringDevice[] = { | |
USB_STRING_DESCRIPTOR_HEADER(USB_CFG_DEVICE_NAME_LEN), | |
USB_CFG_DEVICE_NAME | |
}; | |
@@ -95,7 +95,7 @@ | |
#if USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER == 0 && USB_CFG_SERIAL_NUMBER_LEN | |
#undef USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER | |
#define USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER sizeof(usbDescriptorStringSerialNumber) | |
-PROGMEM int usbDescriptorStringSerialNumber[] = { | |
+PROGMEM const int usbDescriptorStringSerialNumber[] = { | |
USB_STRING_DESCRIPTOR_HEADER(USB_CFG_SERIAL_NUMBER_LEN), | |
USB_CFG_SERIAL_NUMBER | |
}; | |
@@ -108,7 +108,7 @@ | |
#if USB_CFG_DESCR_PROPS_DEVICE == 0 | |
#undef USB_CFG_DESCR_PROPS_DEVICE | |
#define USB_CFG_DESCR_PROPS_DEVICE sizeof(usbDescriptorDevice) | |
-PROGMEM char usbDescriptorDevice[] = { /* USB device descriptor */ | |
+PROGMEM const char usbDescriptorDevice[] = { /* USB device descriptor */ | |
18, /* sizeof(usbDescriptorDevice): length of descriptor in bytes */ | |
USBDESCR_DEVICE, /* descriptor type */ | |
0x10, 0x01, /* USB version supported */ | |
@@ -139,7 +139,7 @@ | |
#if USB_CFG_DESCR_PROPS_CONFIGURATION == 0 | |
#undef USB_CFG_DESCR_PROPS_CONFIGURATION | |
#define USB_CFG_DESCR_PROPS_CONFIGURATION sizeof(usbDescriptorConfiguration) | |
-PROGMEM char usbDescriptorConfiguration[] = { /* USB configuration descriptor */ | |
+PROGMEM const char usbDescriptorConfiguration[] = { /* USB configuration descriptor */ | |
9, /* sizeof(usbDescriptorConfiguration): length of descriptor in bytes */ | |
USBDESCR_CONFIG, /* descriptor type */ | |
18 + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT3 + | |
diff -ur firmware/usbdrv/usbdrv.h firmware-new/usbdrv/usbdrv.h | |
--- firmware/usbdrv/usbdrv.h 2011-01-20 01:17:36 +0800 | |
+++ firmware-new/usbdrv/usbdrv.h 2017-07-16 11:47:13 +0800 | |
@@ -452,43 +452,43 @@ | |
#if !(USB_CFG_DESCR_PROPS_DEVICE & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
-char usbDescriptorDevice[]; | |
+const char usbDescriptorDevice[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_CONFIGURATION & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
-char usbDescriptorConfiguration[]; | |
+const char usbDescriptorConfiguration[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_HID_REPORT & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
-char usbDescriptorHidReport[]; | |
+const char usbDescriptorHidReport[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_0 & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
-char usbDescriptorString0[]; | |
+const char usbDescriptorString0[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_VENDOR & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
-int usbDescriptorStringVendor[]; | |
+const int usbDescriptorStringVendor[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_PRODUCT & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
-int usbDescriptorStringDevice[]; | |
+const int usbDescriptorStringDevice[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
-int usbDescriptorStringSerialNumber[]; | |
+const int usbDescriptorStringSerialNumber[]; | |
#endif /* __ASSEMBLER__ */ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment