rtems 4.11 RTC驱动 (arm, beagle)
生活随笔
收集整理的這篇文章主要介紹了
rtems 4.11 RTC驱动 (arm, beagle)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的rtems 4.11 RTC驱动 (arm, beagle)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu1175-连连看(dfs)
- 下一篇: Nginx 配置从零开始