SylixOS下的GPIO驅動框架

SylixOS下的GPIO驅動框架

GPIO是一個極爲常用且標準化程度較高的設備,SylixOS爲GPIO提供了一套完整的層次清晰的驅動框架。如下圖所示:
sylixos下的GPIO驅動框架圖

框架說明

  • SylixOS中會把GPIO抽象爲設備文件,應用層通過訪問設備文件即可操作GPIO。
  • 除了按照文件的方式訪問GPIO外,系統還封裝了GpioFd接口,簡化了應用層對GPIO的操作。
  • SylixOS還提供了GpioDrv接口,不僅方便了GPIO設備文件的實現,也爲驅動層其他地方使用GPIO提供了標準操作,便於其他驅動的實現和移植。
  • GpioDrv接口是基於GPIO控制器對象的,系統內可以有多個GPIO控制器對象,便於不同對象使用不同的驅動實現。
  • 實現GPIO驅動其實就是實例化GPIO控制器對象,只要把需要的回調函數實現了就可以,不需要考慮如何封裝爲設備文件。
  • 實現GPIO的驅動中可以直接讀寫GPIO控制寄存器也可以藉助芯片廠家提供的外設驅動庫來實現,對於一個外設比較多且複雜的芯片建議採用第二種方法,能大幅提高驅動開發效率。
  • 實現GPIO驅動前要先完成引腳分配驅動,時鐘初始化驅動和中斷控制器驅動等,GPIO驅動中需要使用這些功能。
  • SylixOS中的 GPIO 被統一編號爲數字,應用層和驅動層都可以通過編號來進行索引操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章