u-boot中的date命令


[u-boot: v2013.07-rc3]

[Author: Bo Shen voice.shen@gmail.com] 

1. 使能date命令

需要定义:CONFIG_CMD_DATE, 由于date命令是读取RTC内的时间,所以必须使用相关SOC自带rtc的驱动,或者板上的rtc芯片。具体根据板子情况来决定 。当这两都兼备后,就可以使能date命令了。

源代码:<common/cmd_date.c>

2. date命令的使用

2.1 date命令不带参数,即为读取rtc时间,并显示成我们可读的格式。

2.2 date命令带参数,用于设置rtc的时间。

2.2.1 设置rtc时间为: 7月19号, 22点50分

date 07192250

3. 源代码分析

do_date

|--> 定义一个rtc_time <include/rtc.h>的结构体

|--> 设置正确的i2c总线。(对于使用片上rtc,此处始终返回为0)

|--> 判断date命令的参数个数。

|--> 如果是一个,则是显示时间,调用rtc_get函数。如果读取失败,则显示错误信息后退出。

|--> 如果是两个,则进一步判断。

|--> 如果是reset,则输出“Reset RTC..."后,调用rtc_reset函数。

|--> 如果不是reset,首先调用ret_get函数获取时间,如果正确,则通过mk_date将date命令的参数转换为rtc_time结构体。最后调用rtc_set函数。

:由上面的代码分析,可以发现,在u-boot中,实现rtc的驱动,只要实现rtc_get, rtc_reset, rtc_set函数即可。

U-Boot源代码下载地址

相关内容