RTC驱动的框架在 c/src/lib/libbsp/shared/tod.c 中,大部分功能都已经实现了,入口函数是 rtc_initialize(),BSP要实现的东西非常少。

beagle的实现在 c/src/lib/libbsp/arm/beagle/rtc.c中,提供一个 rtc_tbl RTC_Table[] 数组,数组的大小存储在 RTC_Count 全局变量中,每一个RTC_Table元素就是一个可能的RTC芯片,rtc_initialize()时,会调用每个RTC_Table元素的probe函数,第一个返回true的元素就是系统的rtc设备,这种实现方式是为了方便兼容产品的不同型号的主板(例如RTC芯片停产,换了另一个RTC芯片)。

RTC_Table元素(RTC设备)

RTC设备必须 rtc_fns 结构体中的3个函数:

  • 初始化:打开RTC设备时钟,设置总线访问方式等等
  • 读:从RTC设备中读取时间
  • 写:把时间设备到RTC设备中

rtc_initialize调用

cpukit/libcsupport/include/rtc.h 中定义了 RTC_DRIVER_TABLE_ENTRY,如果最终应用需要rtc,则可以通过配置,在 cpukit/sapi/include/confdefs.h 中包含到 _IO_Driver_address_table 中去

转载于:https://www.cnblogs.com/windtail/p/5734463.html

rtems 4.11 RTC驱动 (arm, beagle)相关推荐

  1. linux下测试RTC驱动相关的命令date和hwclock常见用法简介

    之前对Linux下面时间相关的内容,一无所知,第一次见到hwclock,不知为何物,也没找到解释清楚的帖子.故此整理一下,简单介绍Linux下验证rtc驱动是否工作正常,相关的的命令:date和hwc ...

  2. Linux RTC 驱动实验

    目录 Linux 内核RTC 驱动简介 I.MX6U 内部RTC 驱动分析 RTC 时间查看与设置 RTC 也就是实时时钟,用于记录当前系统时间,对于Linux 系统而言时间是非常重要的,就和我们使用 ...

  3. linux RTC 驱动模型分析

    linux RTC 驱动模型分析 RTC(real time clock)实时时钟,主要作用是给Linux系统提供时间.RTC因为是电池供电的,所以掉电后时间不丢失.Linux内核把RTC用作&quo ...

  4. AM437x——RTC驱动

    CSDN仅用于增加百度收录权重,排版未优化,日常不维护.请访问:www.hceng.cn 查看.评论. 本博文对应地址: https://hceng.cn/2017/08/27/AM437x--RTC ...

  5. 【正点原子Linux连载】第六十章 Linux RTC驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  6. Linux RTC驱动模型分析之rtc-sysfs.c【转】

    转自:https://blog.csdn.net/longwang155069/article/details/52353408 版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...

  7. imx6ul rtc 驱动修改

    imx6ul rtc 驱动修改 删除自带rtc 增加rx8010J驱动 修改modules.tar.bz2 修改启动脚本 hwclock 说明 删除自带rtc 增加rx8010J驱动 由于硬件问题,将 ...

  8. RK3399外设驱动之RTC驱动(二):hym8563驱动

    RK3399外设驱动之RTC驱动(二):hym8563驱动 文章目录 RK3399外设驱动之RTC驱动(二):hym8563驱动 hym8563硬件相关 注册驱动 probe函数 hym8563_in ...

  9. ESP32设备驱动-DS3231实时时钟(RTC)驱动

    DS3231实时时钟(RTC)驱动 1.DS3231介绍 DS3231 是一款低成本.极其精确的 I2C 实时时钟 (RTC),具有集成的温度补偿晶体振荡器 (TCXO) 和晶体. 该设备包含电池输入 ...

最新文章

  1. 融资3000万,腾讯大佬随手开发的工具到底有多牛?
  2. ServletContext 与application的异同
  3. 网络编程学习笔记(getnameinfo函数)
  4. datetimepicker 基础使用/select2 基础使用
  5. LeetCode 100. 相同的树 思考分析
  6. 阿里巴巴Java开发手册-日志规约
  7. c++椭圆最小二乘法原理_c++ 椭圆拟合之最小二乘法(图像处理)
  8. arm linux samba,嵌入式linux系统教你制作samba服务器
  9. 图像傅里叶变换的幅度谱、相位谱以及双谱重构原图像
  10. hung task日志linux,Linux Kernel Crash--hung_task_timeout_secs
  11. 计算机网络实验【利用wireshark抓包工具抓包】
  12. Linux下解压和压缩jar文件
  13. 319. 灯泡开关【我亦无他唯手熟尔】
  14. 你口口声声想要的自由
  15. Ubuntu下使用OpenCV显示中文
  16. python——xlsx文件的读写操作详解
  17. 安装vs2013出现此预许可证已过期--解决办法
  18. PDF修改目录和跳转
  19. Linux Ubuntu18.04系统 USB转串口驱动安装,查看串口号
  20. 谷歌浏览器Google Chrome插件分享

热门文章

  1. 一款炫酷Loading动画--载入成功
  2. python多线程下载文件
  3. c语言:宏里面参数不加括号容易出错,在使用时尽量加括号及举例
  4. [转载] 七龙珠第一部——第002话 布玛没有尾巴
  5. windows 7下用SaveFileDialog弹不出对话框问题
  6. windows server 2008 系列讲座三部曲--在线讲座预告
  7. Could not write file: C:\......\.classpath
  8. Linux(内核和用户态的)动态内存管理
  9. RabbitMQ—流控机制
  10. 剑指Offer——不用加减乘除做加法