一、FPGA部分修改
二、nios工程修改
三、示例
四、easy_shell.h
/*
* easy_shell.h
*
* Created on: 2016-6-28
* Author: Administrator
*/
#ifndef EASY_SHELL_H_
#define EASY_SHELL_H_
#define OFF "<0>"
#define ERROR "<1>"
#define WARN "<2>"
#define INFO "<3>"
#define DEBUG "<4>"
#define PROMPT ">> "
#define SHELL_BUF_LEN (80)
#define MAX_CMD_TABLE_SIZE (32)
#define MAX_CMD_NAME_SIZE (28)
typedef int (*fun)(int argc, char*argv[]);
typedef struct {
char name[MAX_CMD_NAME_SIZE];
int (*cmd)(int, char *[]);
} cmd_tbl_t;
int easy_shell_init(const char* device);
void RegisterCmd(const char* name, fun cmd);
void shell_process(int fd);
//typedef enum{
// LOG_OFF,
// LOG_CRIT,
// LOG_ERROR,
// LOG_INFO,
// LOG_DEBUG,
//}LOG_LEVEL_TYPE;
extern char *level_str[];
void print(char* format, ...);
/*
#define LOG(level, format, ...) \
do { \
fprintf(stderr, "[%s|%s@%s,%d] " format "\n", \
level, __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
} while (0)
*/
//#define LOG(level, format, ...) \
// do { \
// if (level >= log_level){\
// fprintf(stderr, "[%s|%s@%s,%d] " format, \
// level_str[level], __func__, __FILE__, __LINE__, ##__VA_ARGS__ ); \
// }\
// } while (0)
#endif /* EASY_SHELL_H_ */