uboot 添加hello命令

简介: <p style="margin-top:0pt; margin-bottom:0pt">平台:MPC8315(POWERPC)</p> <p style="margin-top:0pt; margin-bottom:0pt"><br></p> <p style="margin-top:0pt; margin-bottom:0pt"><span>1.</span><span>在<spa

平台:MPC8315(POWERPC)


1./common/ 目录下创建自己的文件,最好前缀为cmd_. 


 cmd_hello.c

*********************************************************

#include<command.h>

#include<common.h>

#ifdef CONFIG_CMD_HELLO

int do_hello(cmd_tbl_t *cmdtp,int flag,int argc,char *argv)

{

        printf("my test \n");

        return 0;

}

U_BOOT_CMD(

hello,1,0,do_hello,"usage:test\n","help:test\n"

);

#endif

*********************************************************

2.在当前目录下修改Makefile


 在目标变量最后面添加:


#ifdef CONFIG_CMD_HELLO 

COBJS-y += cmd_hello.o

#endif


3.在头文件mpc83xx.h中添加对CONFIG_CMD_HELLO的定义

#define CONFIG_CMD_HELLO


编译下载后,在uboot中运行hello

4.U_BOOT_CMD


它的定义在include/command.h中,

/**********************************************************/

#define Struct_Section  __attribute__((unused, section(".u_boot_cmd"), aligned(4)))


#define U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \

        {#name, maxargs, rep, cmd, usage, _CMD_HELP(help) _CMD_COMPLETE(comp)}


#define U_BOOT_CMD_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \

        cmd_tbl_t __u_boot_cmd_##name Struct_Section = \

            U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp)


#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \

        U_BOOT_CMD_COMPLETE(name,maxargs,rep,cmd,usage,help,NULL)

/*******************************************************/

展开就是:#define U_BOOT_CMD(hello,1,0,do_hello,"usage:test\n","help:test\n") 

cmd_tbl_t __u_boot_cmd_hello __attribute__((unused, section(".u_boot_cmd"), aligned(4)))

 = {hello, 1, 0, do_hello, "usage:test\n","help:test\n" }


这儿定义了属性,就是所有的命令都存储在.u_boot_cmd节中,可以在连接脚本找到这个节。

相关文章
|
8月前
|
Linux Windows
Linux基本指令(1)
Linux基本指令(1)
|
8月前
|
存储 安全 Unix
Linux基本指令汇总
Linux基本指令汇总
86 2
|
8月前
|
Linux C语言
【Linux】基本指令(中)
【Linux】基本指令(中)
48 3
|
8月前
|
Linux 网络安全 数据安全/隐私保护
Linux基本指令篇
Linux基本指令篇
58 0
|
8月前
|
Linux
快速认识Linux的几个指令
快速认识Linux的几个指令
|
8月前
|
机器学习/深度学习 XML Linux
Linux的基本指令(三)
Linux的基本指令(三)
|
8月前
|
安全 Unix Linux
【初识Linux】:常见指令(2)
【初识Linux】:常见指令(2)
88 0
|
Linux
Linux基本指令
Linux基本指令
105 0
|
Unix Linux C语言
Linux基本指令(2)
Linux基本指令(2)
|
Unix Linux Shell
Linux基本指令(二)
Linux基本指令(二)