at91sam9260的外部硬件时钟

来源:互联网 发布:产业结构优化理论 编辑:程序博客网 时间:2024/05/15 12:50

一、时钟RTC

外部硬件时钟是用于嵌入式设备配置系统时间用的外设,大家都知道我们的电脑或者手机即使没有电了,很长一段时间过后重启它的时间还是准的。

在嵌入式设备中内置硬件时钟,这种时钟功耗非常小,用一个很小的充电电容电磁就可以了。再设备上电时,外部时钟的电池进行充电,然后再断电之后,电池对时钟进行供电,完成时间的记录校准更能。在系统重启时,就会先读取硬件时钟的时间,对系统时间进行匹配。


二、PCF8563

PCF8563是一款常用的低功耗实时时钟。可编程时钟输出,中断输出,提供低电平探测器。通过I2C总线发送所有地址和数据,总线最大速率400kbit/s。

对一个芯片的学习最好的资料肯定是他的datasheet。https://www.nxp.com/docs/en/data-sheet/PCF8563.pdf

电路图:

关注中断引脚,I2C引脚。

三、Linux配置命令

关系系统时间配置的Linux相关的两个命令

(1)date

date -s "20171107 00:00:00"的格式来配置系统时间

(2)hwclock

四、RTC的内核配置

(1)menuconfig

通过make menuconfig 来配置I2C的支持和芯片支持

配置I2C

选中

配置RTC支持

翻到最下面的取消CPU芯片的RTC驱动

(2)RTC的注册代码配置

修改内核代码:/arch/arm/macth-at91/board-sam9260ek.c

在板级init中 把at91_add_device_i2c(null, 0));修改为at91_add_device_i2c(mdk9260_i2c_devices, ARRAY_SIZE(mdk9260_i2c_devices));添加device启动信息

最后用make uimage命令编译内核。


原创粉丝点击