⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 protocol.h

📁 ARM入门的好帮手.包含了从简单到相对较复杂的程序.
💻 H
字号:
//*----------------------------------------------------------------------------
//*      ATMEL Microcontroller Software Support  -  ROUSSET  -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name           : protocol.h
//* Object              : Flash Memory Upload protocol definition
//* 1.0 17/04/00 EL     : Creation
//* 1.1 03/07/00 EL     : Reset command
//*----------------------------------------------------------------------------
/*

*/
#pragma pack(1)
typedef struct ATS_Command
{
	u_char code;
	u_char chip;
	u_short manuf;
	u_short flash;
	u_short version;
	u_short cd;
	u_int addr;
} ATS_Command;

typedef struct SPEED_Command
{
	u_char code;
	u_short cd;
} SPEED_Command;

typedef struct ERASE_Command
{
	u_char code;
	u_int addr;
} ERASE_Command;

typedef struct WRITE_Command
{
	u_char code;
	u_int addr;
	u_char len;
} WRITE_Command;

typedef struct READ_Command
{
	u_char code;
	u_int addr;
	u_char len;
} READ_Command;

typedef struct VERIFY_Command
{
	u_char code;
	u_int addr;
	u_int len;
	u_int checksum;
} VERIFY_Command;

typedef struct ERROR_Command
{
	u_char code;
	u_char error_code;
} ERROR_Command;

#pragma pack()


#define	COMMAND_CODE		0

#define	COMMAND_MAX_SIZE 	128

#define	FREE 			0
#define RESERVED 		1
#define	CHECKED 		2

//* SYNC
#define	LEN_SYNC_COMMAND 	1
#define	SYNC			0x80

//* ATS
#define	LEN_ATS_COMMAND sizeof(ATS_Command)
#define	ATS			'B'
#define	ATS_CHIP         	1
#define	ATS_MANUFACTURER 	2
#define	ATS_FLASH        	4
#define	ATS_VERSION      	6
#define	ATS_CD           	8
#define	ATS_ADDR		10

//* SPEED
#define	LEN_SPEED_COMMAND sizeof(SPEED_Command)
#define	SPEED			'P'
#define	SPEED_CD		1

//* ACK
#define	LEN_ACK_COMMAND		1
#define	ACK			'A'

//* NACK
#define	LEN_NACK_COMMAND	1
#define	NACK			'N'

//* ERASE
#define	LEN_ERASE_COMMAND sizeof(ERASE_Command)
#define	ERASE			'E'
#define	ERASE_SECT		1

//* WRITE
#define	LEN_WRITE_COMMAND sizeof(WRITE_Command)
#define	WRITE			'W'
#define	WRITE_ADDR		1
#define	WRITE_LEN		5

//* READ
#define	LEN_READ_COMMAND sizeof(READ_Command)
#define	READ			'R'
#define	READ_ADDR		1
#define	READ_LEN		5

//* DATA
#define	LEN_DATA_COMMAND	128
#define	DATA			'D'
#define	DATA_D0			1

//* VERIFY
#define	LEN_VERIFY_COMMAND sizeof(VERIFY_Command)
#define	VERIFY      		'V'
#define	VERIFY_ADDR  		1
#define	VERIFY_LEN   		5
#define	VERIFY_CHK   		9

//* ERROR
#define	LEN_ERROR_COMMAND sizeof(ERROR_Command)
#define	ERROR       		'F'
#define	ERROR_CODE   		1
#define	WRITE_ERROR  		1
#define	READ_ERROR   		2
#define	ERASE_ERROR  		3
#define	COMM_ERROR   		4

//* RESET
#define	LEN_RESET_COMMAND	1
#define	RESET         		'Z'



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -