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

📄 usb_shell.h

📁 arm_bootloader _flash writter &USB
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -