NIOS2 平台实现shell命令行调试

一、FPGA部分修改

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、nios工程修改

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
libeasy_shell.a文件下载

四、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_ */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值