AT91SAM9260硬件时钟RTC的使用
2014-01-09 18:00
316 查看
1、硬件要求
(1)AT91SAM9260平台(2)时钟芯片:Rx8025 SA/NB
(3)接口:通过I2C总线读取,两条总线为PA23、PA24。
2、配置内核
进入内核根目录下,运行配置菜单。
#make menuconfig
(1)选中I2C
Device Drivers --->
I2C suport --->
I2C Hardware Bus support--->
<*> GPIO-based bitbanging I2C
选中以下RTC相关的选项
Device Drivers --->
Real Time Clock --->
图3.1 RTC相关选项图
选中 Epson RX-8025SA/NB
Device Drivers --->
Real Time Clock --->
Epson Rx-8025SA/NB
注意:不可以选上AT91 SAM9x/AT91 CAP9,否则使用的是内部时钟。
图3.2 内部时钟选项图
3、添加设备注册
在内核中的/arch/arm/mach-at91/board-sam9260ek.c文件中添加以下红色字体语句:
static struct i2c_board_info __initdata ek_i2c_devices[] = {
{
I2C_BOARD_INFO("24c512", 0x50),
.platform_data = &at24c512,
},
/* more devices can be added using expansion connectors */
/* Added for R8025 rtc 20120914 */
{
I2C_BOARD_INFO("rx8025", 0x32),
}
};
4、创建设备节点
在根文件系统/dev目录下执行:
# mknod rtc c 10 135
重新编译内核及根文件系统下载到开发板,查看启动信息,如下图所示:
图3.3 硬件时钟启动信息图
5、设置RTC时间及系统时间
开发板进入系统后,在终端执行以下命令:
# date 得到系统当前时间
Thu Jan 1 00:00:13 (null) 1970
# hwclock 得硬件时钟当前时间
hwclock: RTC_RD_TIME: Invalid or incomplete multibyte or wide character
# date -s "2012-09-17 10:40:40" 设置系统时间为当前时间
Mon Sep 17 10:40:40:40 (null) 2012
# date
Mon Sep 17 10:40:40:42 (null) 2012
# hwclock -w 使用硬件时钟与系统时间同步
# hwclock
Mon Sep 17 10:40:40:53 2012 0.000000 seconds
开发板断电一段时间后再次加电启动开发板,进入系统后再使用hwclock命令查看硬件时钟睥当前是否为当前时间。
相关文章推荐
- AT91SAM9260硬件时钟RTC的使用
- 使用hwclock同步RTC(硬件时钟)和OS Clock(操作系统时钟)
- 我使用过的Linux命令之hwclock - 查询和设置硬件时钟
- 亲测实验,RTC使用内部低速时钟LSI时,对RTC的配置过程
- 我使用过的Linux命令之hwclock - 查询和设置硬件时钟
- 配置 Windows 时间服务以使用内部硬件时钟
- RTC硬件时钟设置修改【转】
- 树莓派使用上RTC实时时钟(DS3231,I2C接口)
- at91sam9260的外部硬件时钟
- 我使用过的Linux命令之hwclock - 查询和设置硬件时钟
- 我使用过的Linux命令之hwclock - 查询和设置硬件时钟
- ubuntu修改时间、显示硬件时间、同步系统时钟(date命令使用方法)
- 实时时钟 -- “RTC”的使用
- 有关ARM RTC时钟使用心得
- 我使用过的Linux命令之hwclock - 查询和设置硬件时钟
- 我使用过的Linux命令之hwclock - 查询和设置硬件时钟
- QDateTime设置硬件时钟(RTC)及系统时钟
- 我使用过的Linux命令之hwclock - 查询和设置硬件时钟
- 飞凌ok6410开发板Linux使用RTC时钟
- 我使用过的Linux命令之hwclock - 查询和设置硬件时钟