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 中去

最新文章

  1. swift项目导入OC框架
  2. JS中原型链继承
  3. Windows安装MySQL5.7.17
  4. c语言数据结构:递归的替代-------回溯算法
  5. ServiceStack.OrmLite 调用存储过程
  6. 【JS】Beginner8:Objects
  7. ubunt 基于deb 配置本地apt 源 分成仅本机使用,局域网使用2种
  8. (转) ios学习之 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系
  9. 随手复习一下委托:delegate
  10. Fragment(四)Fragment生命周期分析(转)
  11. 微信js-sdk接口的使用及ios深坑
  12. 自学Zabbix3.6.5-触发器item-Unit symbols单位符号
  13. java的系统时间,怎么计算从现在到凌晨还剩下多少时间?
  14. 在没联网环境下,启动tomcat出错
  15. 函数式编程之-bind函数
  16. 解决mysql连接报“Communications link failure”错误
  17. [swarthmore cs75] Compiler 6 – Fer-de-lance
  18. Flask-SQLAlchemy 中多表链接查询(不使用外键)
  19. [LeetCode&Python] Problem 202. Happy Number
  20. AX_UserInfo

热门文章

  1. mysql安装配置、主从复制配置详解【转】
  2. 自定义JS类,并扩展其方法和属性
  3. MVC中的过滤器/拦截器怎么写
  4. final、finalize()、finally、static
  5. hdu 1215(因子和)
  6. ef core 使用include进行外键连接查询
  7. 爬虫学习笔记(二)http请求详解
  8. 关联分析(Apriori算法)
  9. java8 之CompletableFuture -- 如何构建异步应用
  10. Xamarin XAML语言教程将XAML设计的UI显示到界面