Android高通平臺處理器間通訊驅動
高通平臺AP與CP直接通訊由Share Memory負責,這是一塊兩端可以同時操作的記憶體區域。由於高通平臺Modem佔主導作用,在Application Processor啟動初始化時,從Share Memory區讀取已經由Modem predeclared的一些資料。
Share memory根據功能,分為靜態+動態部分,每個部分又分為數個小區,每個區的大小不一,與本區實現的功能相關。Modem會把所有區的 offset+size資訊存放在靜態去Heapinfo裡。Linux通過讀取這個Heapinfo區資訊,就知道Share memory的佈局了。
簡單的說,Linux平臺高通驅動主要在如下幾個部分應用share memory服務:
1) Process command.
用來傳輸少量資料。實現兩邊的通訊。比如不同驅動模組上下電,電壓配置等。share memory最開始位置就是PROC區。
2)SMSM
實現兩邊的machine state同步。電源管理部分會用到。
3)RPC/DIAG
RPC 是高通平臺AP和Modem之間通訊最常用的通道,有很完整的封裝協議,Linux根據兩個引數(proc+version)以client的身份可以找到Modem段的server,請求提供相應服務,同時有完備的request/reply機制,完成資料傳輸。同理,AP也可以作為server提供給 Modem服務。
share memory有個channel allocation table,裡面存放這64個channel的通道資訊。每個通道可以實現資料傳輸。共享記憶體驅動(smd)初始化過程中,會建立64個通道的維護。RPC就是基於其中之一的channel.
Share memory兩邊都有執行緒在監控,一旦有資料更新,立刻通知監聽的模組。當然,有些模組中斷驅動,在中斷上下文裡完成通知。
相關文章
- 最新高通平臺驅動開發參考文件
- Oracle plsql session間通訊處理OracleSQLSession
- 高通Android平臺開發Android
- 高通最新平臺驍龍735處理器曝光
- 短視訊系統原始碼,平臺的時間處理方式原始碼
- 高通平臺android開發總結Android
- 高通MSM8953 Android處理器效能介紹資料Android
- 驅動Driver-platform平臺驅動Platform
- 高通處理器CPU效能路線圖
- Android 程式間通訊Android
- MT2503晶片處理器平臺簡介晶片
- HttpServer伺服器命令處理通訊架構HTTPServer伺服器架構
- Android 程式之間通訊Android
- Android程式間的通訊Android
- 高通推出Android系統電視棒 搭載驍龍800處理器Android
- 【linux】驅動-7-平臺裝置驅動Linux
- 高通驍龍820處理器曝光 八個高效能處理核心
- Android執行緒間通訊Android執行緒
- Android程式間通訊詳解Android
- 華碩Zenfone 3多平臺處理器強勢來襲
- FileSystemObject 的例子(處理驅動器、資料夾、檔案) (轉)Object
- 驅動跨行業採用時間序列平臺的四個用例行業
- 魅族15釋出時間確認:5.46英寸屏+高通驍龍660處理器
- Flutter與android之間的通訊FlutterAndroid
- Android中活動間通訊總結Android
- Android 之 Binder與程式間通訊Android
- Android程式間通訊之AIDLAndroidAI
- Android 程式間通訊 Service、MessengerAndroidMessenger
- Android 使用Socket完成程式間通訊Android
- 高通驍龍850處理器引數詳細介紹
- 死磕高通和聯發科 華為研發麒麟全新處理器
- TCP通訊處理粘包詳解TCP
- 註解驅動的控制器,將請求對映到處理器
- 使用者層與驅動層通訊
- 海思平臺機頂盒晶片處理器型號彙總晶片
- 迎接未來 驍龍820處理器Zeroth平臺曝光
- 手動處理DataGuard間隔
- Android與ARM處理器Android