| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #pragma once
- // http://ww1.microchip.com/downloads/en/appnotes/atmel-0943-in-system-programming_applicationnote_avr910.pdf
- // AVR ISP Definitions
- #define AVR_ISP_HWVER 0X02
- #define AVR_ISP_SWMAJ 0X01
- #define AVR_ISP_SWMIN 0X12
- #define AVP_ISP_SERIAL_CONNECT_TYPE 0X53
- #define AVP_ISP_CONNECT_TYPE 0x93
- #define AVR_ISP_RESP_0 0X00
- #define AVR_ISP_SET_PMODE 0xAC, 0x53, 0x00, 0x00
- #define AVR_ISP_READ_VENDOR 0x30, 0x00, 0x00, 0x00
- #define AVR_ISP_READ_PART_FAMILY 0x30, 0x00, 0x01, 0x00
- #define AVR_ISP_READ_PART_NUMBER 0x30, 0x00, 0x02, 0x00
- #define AVR_ISP_ERASE_CHIP \
- 0xAC, 0x80, 0x00, 0x00 //Erase Chip, Wait N ms, Release RESET to end the erase.
- //The only way to end a Chip Erase cycle is by temporarily releasing the Reset line
- #define AVR_ISP_EXTENDED_ADDR(data) 0x4D, 0x00, data, 0x00
- #define AVR_ISP_WRITE_FLASH_LO(add, data) 0x40, (add >> 8) & 0xFF, add & 0xFF, data
- #define AVR_ISP_WRITE_FLASH_HI(add, data) 0x48, (add >> 8) & 0xFF, add & 0xFF, data
- #define AVR_ISP_READ_FLASH_LO(add) 0x20, (add >> 8) & 0xFF, add & 0xFF, 0x00
- #define AVR_ISP_READ_FLASH_HI(add) 0x28, (add >> 8) & 0xFF, add & 0xFF, 0x00
- #define AVR_ISP_WRITE_EEPROM(add, data) \
- 0xC0, (add >> 8) & 0xFF, add & 0xFF, data //Send cmd, Wait N ms
- #define AVR_ISP_READ_EEPROM(add) 0xA0, (add >> 8) & 0xFF, add & 0xFF, 0xFF
- #define AVR_ISP_COMMIT(add) \
- 0x4C, (add >> 8) & 0xFF, add & 0xFF, 0x00 //Send cmd, polling read last addr page
- #define AVR_ISP_OSCCAL(add) 0x38, 0x00, add, 0x00
- #define AVR_ISP_WRITE_LOCK_BYTE(data) 0xAC, 0xE0, 0x00, data //Send cmd, Wait N ms
- #define AVR_ISP_READ_LOCK_BYTE 0x58, 0x00, 0x00, 0x00
- #define AVR_ISP_WRITE_FUSE_LOW(data) 0xAC, 0xA0, 0x00, data //Send cmd, Wait N ms
- #define AVR_ISP_READ_FUSE_LOW 0x50, 0x00, 0x00, 0x00
- #define AVR_ISP_WRITE_FUSE_HIGH(data) 0xAC, 0xA8, 0x00, data //Send cmd, Wait N ms
- #define AVR_ISP_READ_FUSE_HIGH 0x58, 0x08, 0x00, 0x00
- #define AVR_ISP_WRITE_FUSE_EXTENDED(data) 0xAC, 0xA4, 0x00, data //Send cmd, Wait N ms (~write)
- #define AVR_ISP_READ_FUSE_EXTENDED 0x50, 0x08, 0x00, 0x00
- #define AVR_ISP_EECHUNK 0x20
- // https://www.microchip.com/content/dam/mchp/documents/OTH/ApplicationNotes/ApplicationNotes/doc2525.pdf
- // STK Definitions
- #define STK_OK 0x10
- #define STK_FAILED 0x11
- #define STK_UNKNOWN 0x12
- #define STK_INSYNC 0x14
- #define STK_NOSYNC 0x15
- #define CRC_EOP 0x20
- #define STK_GET_SYNC 0x30
- #define STK_GET_SIGN_ON 0x31
- #define STK_SET_PARAMETER 0x40
- #define STK_GET_PARAMETER 0x41
- #define STK_SET_DEVICE 0x42
- #define STK_SET_DEVICE_EXT 0x45
- #define STK_ENTER_PROGMODE 0x50
- #define STK_LEAVE_PROGMODE 0x51
- #define STK_CHIP_ERASE 0x52
- #define STK_CHECK_AUTOINC 0x53
- #define STK_LOAD_ADDRESS 0x55
- #define STK_UNIVERSAL 0x56
- #define STK_UNIVERSAL_MULTI 0x57
- #define STK_PROG_FLASH 0x60
- #define STK_PROG_DATA 0x61
- #define STK_PROG_FUSE 0x62
- #define STK_PROG_FUSE_EXT 0x65
- #define STK_PROG_LOCK 0x63
- #define STK_PROG_PAGE 0x64
- #define STK_READ_FLASH 0x70
- #define STK_READ_DATA 0x71
- #define STK_READ_FUSE 0x72
- #define STK_READ_LOCK 0x73
- #define STK_READ_PAGE 0x74
- #define STK_READ_SIGN 0x75
- #define STK_READ_OSCCAL 0x76
- #define STK_READ_FUSE_EXT 0x77
- #define STK_READ_OSCCAL_EXT 0x78
- #define STK_HW_VER 0x80
- #define STK_SW_MAJOR 0x81
- #define STK_SW_MINOR 0x82
- #define STK_LEDS 0x83
- #define STK_VTARGET 0x84
- #define STK_VADJUST 0x85
- #define STK_OSC_PSCALE 0x86
- #define STK_OSC_CMATCH 0x87
- #define STK_SCK_DURATION 0x89
- #define STK_BUFSIZEL 0x90
- #define STK_BUFSIZEH 0x91
- #define STK_STK500_TOPCARD_DETECT 0x98
- #define STK_SET_EEPROM_TYPE 0X45
- #define STK_SET_FLASH_TYPE 0X46
|