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