[u-boot: v2013.07-rc3]
[Author: Bo Shen [email protected]]
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函數即可。