Linux下对S3C2440 RTC的支持非常完善,我们只需要做简单的修改,即可使用RTC
1、vi arch/arm/mach-s3c2440/mach-smdk2440.c
static struct platform_device *smdk2440_devices[] __initdata = {
&s3c_device_usb,
&s3c_device_lcd,
&s3c_device_wdt,
&s3c_device_i2c0,
&s3c_device_iis,
&s3c_device_rtc, //这里我们添加上RTC平台设备,默认是没添加的
};
2、make zImage
3、使用与测试
Linux下的时间分为两种,系统时间与硬件时间。
我们一般看到的时间就是系统时间,比如现在是11:45 am。
硬件时间指的是主板上CMOS中的时间或RTC中的时间,这两个时间并不是总是同步的,一般情况下大约11分钟同步一次。
Linux系统开机时,从CMOS/rtc中读取当前时间,作为系统时间,从此以后系统时间独立tick,此时如果你用date命令修改了系统时间,硬件时间是不受影响的,就是说如果此时关机,下次的系统时间还是不对。要想将系统时间保存到硬件时间,可以是用 hwclock 或者clock命令,hwclock就是hardware clock的意思。
一个完整的修改linux系统时间的过程如下所示
a)设置系统时间
#date -s 2010.12.11-8:5:24
b)将当前系统时间保存到硬件时间
#hwclock --systohc
#clock --systohc
c)读取硬件时间为系统时间
#hwclock -s
关键字:Linux S3C2440 RTC 实时时钟
引用地址:
Linux下S3C2440 RTC实时时钟驱动配置与修改
推荐阅读最新更新时间:2026-03-19 12:07
频控器件企业泰晶科技车规级超高精度实时时钟RTC赋能汽车电子
● 清晨,手机轻触唤醒家中的智能汽车,空调已按出行习惯提前调至舒适温度; ● 驶入高速路段,自动驾驶系统平稳接管方向盘,导航实时规避拥堵路线; ● 抵达商场地库,车辆自动识别空位完成泊入,中控屏弹出剩余续航与充电桩位置提示…… 这些“便捷”与“精确”的背后都依赖于电子设备的“时序基准源”——实时时钟(Real-Time Clock, RTC)。凭借超低功耗、极高精度和断电持续运行等优异产品特性,RTC成为汽车内多个系统的基础功能单元。 今天我们来聊聊RTC在汽车中的重要应用场景: 汽车时钟 BMS(电池管理系统) ➢作为唤醒源之一,触发BMS对自身工作模式(休眠、运行...)进行自检管理 ➢作为SOC算法的一个条件,用于定
[嵌入式]
STM32CubeMX学习笔记(14)——RTC实时时钟使用
一、RTC简介 实时时钟(RTC) 是一个独立的 BCD 定时器/计数器。 RTC 提供具有可编程闹钟中断功能的日历时钟/日历。RTC 还包含具有中断功能的周期性可编程唤醒标志。两个 32 位寄存器包含二进码十进数格式 (BCD) 的秒、分钟、小时( 12 或 24 小时制)、星期几、日期、月份和年份。此外,还可提供二进制格式的亚秒值。系统可以自动将月份的天数补偿为 28、29(闰年)、30 和 31 天。只要芯片的备用电源一直供电,RTC上的时间会一直走。 STM32 的 RTC 外设(Real Time Clock),实质是一个掉电后还继续运行的定时器。从定时器的角度来说,相对于通用定时器 TIM 外设,它十分简单,只有很纯
[单片机]
STM32 RTC实时时钟(二)
上次实验完成了对实时时钟的基本功能——计时的实验,这次在计时的基础上对RTC的可编程闹钟的功能进行测试。 RTC 单元提供两个可编程闹钟,即闹钟 A 和闹钟 B。 可通过将 RTC_CR 寄存器中的 ALRAE 和 ALRBE 位置 1 来使能可编程闹钟功能。如果日历亚秒、秒、分钟、小时、日期或日分别与闹钟寄存器RTC_ALRMASSR/RTC_ALRMAR 和RTC_ALRMBSSR/RTC_ALRMBR 中编程的值相匹配,则 ALRAF 和 ALRBF 标志会被置为1。可通过 RTC_ALRMAR 和 RTC_ALRMBR 寄存器的 MSKx 位以及 RTC_ALRMASSR 和RTC_ALRMBSSR 寄
[单片机]
STM32F4学习笔记10——RTC实时时钟
RTC实时时钟 实时时钟 (RTC) 是一个独立的 BCD 定时器/计数器。RTC 提供一个日历时钟、两个可编程 闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC 还包含用于管理低功耗模 式的自动唤醒单元。 两个 32 位寄存器包含二进码十进数格式 (BCD) 的秒、分钟、小时(12 或 24 小时制)、星 期几、日期、月份和年份。此外,还可提供二进制格式的亚秒值。 系统可以自动将月份的天数补偿为 28、29(闰年)、30 和 31 天。并且还可以进行夏令时 补偿。 其它 32 位寄存器还包含可编程的闹钟亚秒、秒、分钟、小时、星期几和日期。 此外,还可以使用数字校准功能对晶振精度的偏差进行补偿。 上
[单片机]
STM32CubeMX | 40 - 实时时钟RTC的使用(日历和闹钟)
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的 RTC 外设。 1. 准备工作 硬件准备 首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi): 软件准备 需要安装好Keil - MDK及芯片对应的包,以便编译和下载生成的代码。 2.生成MDK工程 选择芯片型号 打开STM32CubeMX,打开MCU选择器: 搜索并选中芯片STM32L431RCT6: 配置时钟源 如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC; 如果使用默认内部时钟(HSI),这一步可以略过; 这里我都使用外部时钟: 配置串口 开发板板载了
[单片机]
STM8L探索套件学习笔记-RTC实时时钟(六)
RTC的时钟可以选择四种时钟HSE/HIS/LSE/LSI,如下图所示。相比STM32的RTC需要相关软件配合才能RTC功能。STM8L更加灵活,相关寄存器就有33个,而且是硬件实现的,缺点是没有独立的RTC供电的电源。 实时时钟的主要代码: void main(void) { u8 temp=0; /* Infinite loop */ /* Select LSE (32.768 KHz) as RTC clock source */ CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1); CLK_PeripheralClockConfig(CLK_Perip
[单片机]
STM32基于固件库学习笔记(11)RTC实时时钟
实时时钟(RTC) 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。 中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。 大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。 互联型产品是指STM32F105xx和STM32F107xx微控制器。 主要特性 ● 可编程的预分频系数:分频系数最高为20 。 ● 32位的可编程计数器,可用于较长时间段的测量。 ● 2个分离的时钟:用于APB1接口的PC
[单片机]
stm32在rt-thread上的RTC(实时时钟)
rt-thread中已经部分实现了rtc的内容 --- rtc.c ,调用rt_hw_rtc_init()函数即可使用msh设置date和time等 rtc时钟来源有三个: HSE, LSE, LSI, 实现如下: 在原RTC_Configuration(void)进行替换即可 /* Enable LSE */ #ifdef USE_LSE RCC_LSEConfig(RCC_LSE_ON); /* Wait till LSE is ready */ while ( (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) && (--count)
[单片机]