u-boot命令配置

转载 2012年03月25日 00:59:06

u-boot命令配置 - [uboot]

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://redboot.blogbus.com/logs/35085538.html


u-boot启动后,进入命令模式,通过输入uboot提供的命令来进行交互操作。一些相关命令的用法已经在前面文章介绍,这里介绍一下uboot命令内部结构,并了解如何配置uboot的命令,以及可以自己添加一些命令。

如何实现一个命令,看下面一个简单的例子,就明白了。

uboot命令的数据结构定义:

struct cmd_tbl_t {
    char        *name;        /* Command Name            */
    int        maxargs;    /* maximum number of arguments    */
    int        repeatable;    /* autorepeat allowed?        */
                    /* Implementation function    */
    int        (*cmd)(struct cmd_tbl_s *, int, int, char *[]);
    char        *usage;        /* Usage message    (short)    */
    char        *help;        /* Help  message    (long)    */

};

声明命令的宏定义:

#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \
cmd_tbl_t __u_boot_cmd_##name Struct_Section = {#name, maxargs, rep, cmd, usage, help}


声明一个命令:

U_BOOT_CMD(
    exit,    2,    1,    do_exit,
     "exit    - exit script\n",
    "    - exit functionality\n"
);

命令的具体实现:

int
do_exit (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
    int r;

    r = 0;
    if (argc > 1)
        r = simple_strtoul(argv[1], NULL, 10);

    return -r - 2;
}

这样,就实现了一个命令 “exit” 。

如果,我们需要自己添加一个新命令,只要有实现函数 do_xxx,和命令声明U_BOOT_CMD(xxx, ...) 就可以了。

下面,我们介绍一下命令的配置方式。注意:最新的uboot命令配置方法发生变化,与以前不同。

首先,在头文件 smdk2410.h (该文件前面文章有介绍) 包含了所需的命令头文件
#include <config_cmd_default.h>


在 config_cmd_default.h 中定义了,所需要用到的命令,如:
#define CONFIG_CMD_MEMORY    /* md mm nm mw cp cmp crc base loop mtest */
(所以,autoconf.mk里,就会有 CONFIG_CMD_MEMORY=y )

而在common/Makefile 下,有这样的定义:
COBJS-$(CONFIG_CMD_MEMORY) += cmd_mem.o

这样,当config_cmd_default.h里有了相应定义,就会把相应实现进行编译。
就可以获得相关命令的支持了。

uboot中配置并使用tftp命令

使用U-Boot下载Linux内核或者应用程序的最快捷的方法是通过网络传输。为了这一目的,U-Boot实现了TFTP协议(参见U-Boot中的tftpboot命令)。   为了使主机支持TFT...
  • u011175448
  • u011175448
  • 2013年09月17日 21:44
  • 4109

u-boot学习(四):u-boot常用命令以及uboot命令的添加

u-boot的主要目的是启动内核,在启动内核之前,我们一般使用u-boot的命令来
  • To_Be_IT_1
  • To_Be_IT_1
  • 2014年06月03日 20:53
  • 2244

U-Boot添加命令的方法及U-Boot命令执行过程

(一)U-Boot启动过程--详细版的完全分析   分类: U_boot知识和移植 2011-10-29 09:42 664人阅读 评论(0) 收藏 举报      -----------------...
  • yuzeze
  • yuzeze
  • 2016年06月24日 17:16
  • 1451

u-boot命令介绍

  • 2012年02月11日 11:11
  • 64KB
  • 下载

添加u-boot命令.zip

  • 2016年10月11日 22:49
  • 51KB
  • 下载

给u-boot增加一条命令

  • 2013年09月08日 15:04
  • 184KB
  • 下载

在Redhat9.0上安装配置C-Kermit8.0和调试u-boot的方法.pdf

  • 2008年03月11日 09:10
  • 29KB
  • 下载

U-boot配置及启动流程,RK3288可参考

  • 2017年07月26日 18:02
  • 328KB
  • 下载

u-boot-sis文件配置 sourceinsight工程建立过程

  • 2009年09月13日 07:07
  • 315B
  • 下载

U-boot 编译学习---编译命令

参考博客:http://www.cnblogs.com/heaad/archive/2010/07/17/1779806.html   编译命令  对于TQ2440开发板,编译U-Boot...
  • yikai2009
  • yikai2009
  • 2013年04月15日 18:55
  • 856
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:u-boot命令配置
举报原因:
原因补充:

(最多只允许输入30个字)