mini2440 rtc支持

本文详细介绍了如何配置S3C2440的RTC平台设备,包括内核版本linux-2.6.32.2下的资源定义、设备注册过程及如何通过date和hwclock命令进行系统时钟同步与测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内核版本:linux-2.6.32.2        实验平台:mini2440

s3c2440的rtc平台设备已经定义好了的,定义在plat-s3c24xx/devs.c中:

/* RTC */

static struct resource s3c_rtc_resource[] = {
	[0] = {
		.start = S3C24XX_PA_RTC,
		.end   = S3C24XX_PA_RTC + 0xff,
		.flags = IORESOURCE_MEM,
	},
	[1] = {
		.start = IRQ_RTC,
		.end   = IRQ_RTC,
		.flags = IORESOURCE_IRQ,
	},
	[2] = {
		.start = IRQ_TICK,
		.end   = IRQ_TICK,
		.flags = IORESOURCE_IRQ
	}
};

struct platform_device s3c_device_rtc = {
	.name             = "s3c2410-rtc",
	.id               = -1,
	.num_resources    = ARRAY_SIZE(s3c_rtc_resource),
	.resource         = s3c_rtc_resource,
};

EXPORT_SYMBOL(s3c_device_rtc);
将s3c_device_rtc添加到mini2440_devices这个平台设备数组里面:
static struct platform_device *mini2440_devices[] __initdata = {
	/* ... */
	&s3c_device_rtc,
	/* ... */
};

2. 配置
linux的s3c2440的rtc驱动已经支持的很好了,只需要配置使用就可以了:

    Device Drivers  --->
	<*> Real Time Clock  --->
		[*]   Set system time from RTC on startup and resume
		(rtc0)  RTC used to set the system time
		[*]   /sys/class/rtc/rtcN (sysfs)
		[*]   /proc/driver/rtc (procfs for rtc0)
		[*]   /dev/rtcN (character devices)

		<*>   Samsung S3C series SoC RTC

3. 测试
使用date命令修改linux的系统时钟:

date "2014-07-09 23:44:00"
使用hwclock -w命令将系统时钟写入到硬件时钟里面,hwclock -r显示硬件时钟,当系统启动之后会将系统时钟设置为当前的硬件时钟,这样在电池存在情况下,即使板子掉电时钟也能正常走动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值