u-boot中的date命令
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源代码下载地址
评论暂时关闭