uboo启动的杂记--uboot的命令的实现

本文详细介绍了uboot命令的实现过程,包括命令行的进入、run_command()函数的执行,以及cmd_tbl_t结构体在命令管理中的作用。uboot在命令处理中,通过parse_line函数解析命令和参数,find_cmd()查找命令,并调用对应的函数指针执行功能。此外,还阐述了如何使用cmd_tbl_t结构体管理命令,以及uboot如何在启动过程中加载和管理这些命令。
摘要由CSDN通过智能技术生成

uboot命令的实现代码:

uboot/common/cmd_xxx.c中,其中的若干个.c文件和命令有着直接的联系。每一个命令的背后都对应着一个函数来实现具体的命令功能。而很多的命令还需要参数的传递,这靠argc和argv来实现。

 

命令的实现过程:

1、命令行的进入

在uboot的第二阶段BL2初始化完成之后,进入死循环,执行main_loop 函数,函数中再次调用一个重要的run_command()函数,实现命令的接收、解析:

  for (;;) 
    {    
            main_loop ();
    }

2、命令的处理函数:run_command()       

(1)首先通过控制台获取命令;
(2)命令的解析:使用parse_line函数将命令与其参数进行解析;

/* Extract arguments */
		if ((argc = parse_line (finaltoken, argv)) == 0) {
			rc = -1;	/* no command at all */
			continue;
		}

将命令与参数进行分离,分别存入argv[ ]数组内。

(3)在命令集中对输入的命令进行查找:

	/* Look up comman
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值