注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
q2113435929的个人空间 https://home.eeworld.com.cn/space-uid-650223.html [收藏] [复制] [分享] [RSS]
日志

Linux平台下UT4412BV03裸机开发指南(八)

已有 598 次阅读2015-10-19 15:42 |个人分类:Linux平台下UT4412BV03裸机开发指南系列| Linux, 开发, 4412, 开发板, arm

Linux平台下UT4412BV03裸机开发指南(八)第一章  增加命令功能第一节 关于命令功能

这里所说的命令功能类似linux中的shell,输入一个命令,然后程序开始解析运行。这里我们只是象征性的实现几个简单的命令,包括下列命令: 

1) help:提供帮助信息 

2) mdmemory display 显示内存 

3) mwmemory write 写内存 

第二节 程序相关讲解

完整代码见目录7.command

第一节 main.c

#define CFG_PROMPT "UT4412BV03 # " /* Monitor Command Prompt */

 

int main (void)

{

char buf[64];

int argc = 0;

char * argv[10];

uart_init();

 

while(1)

{

printf(CFG_PROMPT);

 

readline(buf, argc, argv);

}

return 0;

}

这个函数很简单,就一个比较关键的函数readline();这个函数的作用是读取输入,然后解析命令,再去调用相应的命令函数.

第二节 command.c

// 根据命令执行对应的代码

int run_command(int argc, char * argv[])

{

if (argc == 0)

return -1;

if (strcmp(argv[0], "help") == 0)

{

help(argc, argv);

return 0;

}

if (strcmp(argv[0], "md") == 0)

{

md(argc, argv);

return 0;

}

if (strcmp(argv[0], "mw") == 0)

{

mw(argc, argv);

return 0;

}

 

if(argc >= 1)

printf("Unknown command '%s' - try 'help' \r\n",argv[0]);

return 0;

}

根据不同的命令,调用不同的执行函数。例如输入help命令,调用的执行函数是help()函数。 下面来简单地解释各个命令的执行函数: 

int help(int argc, char * argv[]):打印帮助信息。 

int md(int argc, char * argv[]):读内存,读写内存都只是简单的指针操作 

int mw(int argc, char * argv[]):写内存

第三节 编译代码和烧写运行

sd卡插入PCUbuntu终端执行如下命令:

#cd 7.command

#make

# sudo ./sd_fusing.sh /dev/sdb bl2.bin

第四节 实验现象

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章