usb_shell.h

来自「arm_bootloader _flash writter &USB」· C头文件 代码 · 共 76 行

H
76
字号
#ifndef __USB_SHELL_H__
#define __USB_SHELL_H__


/* ---------- */


typedef struct usb_cmd_s
{
    unsigned int usb_command;
    unsigned int usb_seq_num;
    unsigned int usb_parameter[14];	// Let the size of structure == 64 byte
} usb_cmd_t;

#define USB_CMD_WRITE_W1            (0x01)
#define USB_CMD_WRITE_W2            (0x02)
#define USB_CMD_WRITE_W4            (0x03)
#define USB_CMD_WRITE_RANGE         (0x04)

#define USB_CMD_READ_R1             (0x11)
#define USB_CMD_READ_R2             (0x12)
#define USB_CMD_READ_R4             (0x13)
#define USB_CMD_READ_RANGE          (0x14)

#define USB_CMD_FLASH_ERASE         (0x21)
#define USB_CMD_FLASH_READ_PAGE     (0x22)
#define USB_CMD_FLASH_WRITE         (0x23)


/* ---------- */


typedef struct usb_ack_s
{
    unsigned int usb_command;
    unsigned int usb_seq_num;
    unsigned int usb_ack_status;
} usb_ack_t;


#define USB_ACK_SUCCESS         (0x00)
#define USB_ACK_FAIL            (0xFFFFFFFF)

extern int usb_read_ack(unsigned int usb_command, unsigned int usb_seq_num);


/* ---------- */


typedef struct function_entity_s {
    char    *cmd;
    int     (*func)(int argc, char **argv);
    char    *help_text;
} function_entity_t;

int show_help(int argc, char *argv[]);
int w1(int argc, char *argv[]);
int w2(int argc, char *argv[]);
int w4(int argc, char *argv[]);
int wr(int argc, char *argv[]);
int r1(int argc, char *argv[]);
int r2(int argc, char *argv[]);
int r4(int argc, char *argv[]);
int rr(int argc, char *argv[]);

int flash_erase(int argc, char *argv[]);
int flash_read(int argc, char *argv[]);
int flash_write(int argc, char *argv[]);

/* ---------- */

extern usb_dev_handle* G_usb_dev;
extern unsigned int G_usb_seq_num;

#endif // __USB_SHELL_H__

⌨️ 快捷键说明

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