STK500_2下载器 M8 支持bootloader(带bootloader源码) 使用STK500_2 协议的ISP下载器

源代码在线查看: command.h

软件大小: 77 K
上传用户: uimeet
关键词: bootloader STK 500 ISP
下载地址: 免注册下载 普通下载 VIP

相关代码

				//**** ATMEL AVR - A P P L I C A T I O N   N O T E  ************************
				//*
				//* Title:		AVR068 - STK500 Communication Protocol
				//* Filename:		command.h
				//* Version:		1.0
				//* Last updated:	31.01.2005
				//*
				//* Support E-mail:	avr@atmel.com
				//*
				//The communication between the STK500 and the PC is done over RS232 
				//(PC COM port). The STK500 uses: 115.2kbps, 8 data bits, 1stop bits,
				// no parity. The PC should be set up similarly for the communication to work.
				//**************************************************************************
				
				// *****************[ STK message constants ]***************************
				
				#define MESSAGE_START                       0x1B        //= ESC = 27 decimal
				#define TOKEN                               0x0E
				
				// *****************[ STK general command constants ]**************************
				
				#define CMD_SIGN_ON                         0x01
				#define CMD_SET_PARAMETER                   0x02
				#define CMD_GET_PARAMETER                   0x03
				#define CMD_SET_DEVICE_PARAMETERS           0x04
				#define CMD_OSCCAL                          0x05
				#define CMD_LOAD_ADDRESS                    0x06
				#define CMD_FIRMWARE_UPGRADE                0x07
				
				
				// *****************[ STK ISP command constants ]******************************
				
				#define CMD_ENTER_PROGMODE_ISP              0x10
				#define CMD_LEAVE_PROGMODE_ISP              0x11
				#define CMD_CHIP_ERASE_ISP                  0x12
				#define CMD_PROGRAM_FLASH_ISP               0x13
				#define CMD_READ_FLASH_ISP                  0x14
				#define CMD_PROGRAM_EEPROM_ISP              0x15
				#define CMD_READ_EEPROM_ISP                 0x16
				#define CMD_PROGRAM_FUSE_ISP                0x17
				#define CMD_READ_FUSE_ISP                   0x18
				#define CMD_PROGRAM_LOCK_ISP                0x19
				#define CMD_READ_LOCK_ISP                   0x1A
				#define CMD_READ_SIGNATURE_ISP              0x1B
				#define CMD_READ_OSCCAL_ISP                 0x1C
				#define CMD_SPI_MULTI                       0x1D
				
				// *****************[ STK PP command constants ]*******************************
				
				#define CMD_ENTER_PROGMODE_PP               0x20
				#define CMD_LEAVE_PROGMODE_PP               0x21
				#define CMD_CHIP_ERASE_PP                   0x22
				#define CMD_PROGRAM_FLASH_PP                0x23
				#define CMD_READ_FLASH_PP                   0x24
				#define CMD_PROGRAM_EEPROM_PP               0x25
				#define CMD_READ_EEPROM_PP                  0x26
				#define CMD_PROGRAM_FUSE_PP                 0x27
				#define CMD_READ_FUSE_PP                    0x28
				#define CMD_PROGRAM_LOCK_PP                 0x29
				#define CMD_READ_LOCK_PP                    0x2A
				#define CMD_READ_SIGNATURE_PP               0x2B
				#define CMD_READ_OSCCAL_PP                  0x2C    
				
				#define CMD_SET_CONTROL_STACK               0x2D
				
				// *****************[ STK HVSP command constants ]*****************************
				
				#define CMD_ENTER_PROGMODE_HVSP             0x30
				#define CMD_LEAVE_PROGMODE_HVSP             0x31
				#define CMD_CHIP_ERASE_HVSP                 0x32
				#define CMD_PROGRAM_FLASH_HVSP              0x33
				#define CMD_READ_FLASH_HVSP                 0x34
				#define CMD_PROGRAM_EEPROM_HVSP             0x35
				#define CMD_READ_EEPROM_HVSP                0x36
				#define CMD_PROGRAM_FUSE_HVSP               0x37
				#define CMD_READ_FUSE_HVSP                  0x38
				#define CMD_PROGRAM_LOCK_HVSP               0x39
				#define CMD_READ_LOCK_HVSP                  0x3A
				#define CMD_READ_SIGNATURE_HVSP             0x3B
				#define CMD_READ_OSCCAL_HVSP                0x3C
				
				// *****************[ STK status constants ]***************************
				
				// Success
				#define STATUS_CMD_OK                       0x00
				
				// Warnings
				#define STATUS_CMD_TOUT                     0x80
				#define STATUS_RDY_BSY_TOUT                 0x81
				#define STATUS_SET_PARAM_MISSING            0x82
				
				// Errors
				#define STATUS_CMD_FAILED                   0xC0
				#define STATUS_CKSUM_ERROR                  0xC1
				#define STATUS_CMD_UNKNOWN                  0xC9
				
				// *****************[ STK parameter constants ]***************************
				#define PARAM_BUILD_NUMBER_LOW              0x80
				#define PARAM_BUILD_NUMBER_HIGH             0x81
				#define PARAM_HW_VER                        0x90
				#define PARAM_SW_MAJOR                      0x91
				#define PARAM_SW_MINOR                      0x92
				#define PARAM_VTARGET                       0x94
				#define PARAM_VADJUST                       0x95
				#define PARAM_OSC_PSCALE                    0x96
				#define PARAM_OSC_CMATCH                    0x97
				#define PARAM_SCK_DURATION                  0x98
				#define PARAM_TOPCARD_DETECT                0x9A
				#define PARAM_STATUS                        0x9C
				#define PARAM_DATA                          0x9D
				#define PARAM_RESET_POLARITY                0x9E
				#define PARAM_CONTROLLER_INIT               0x9F
				
				// *****************[ STK answer constants ]***************************
				
				#define ANSWER_CKSUM_ERROR                  0xB0
				
							

相关资源