CSR系列的訊息傳遞機制到底是如何實作的?
這個問題的拋出是由于在撰寫應用時發現DSP與MCU之前傳遞資訊收到種種局限,速率大受影響。
所以請問是否有大神知道MessageSend的究竟是如何實作的?
就我目前的理解:
firmware內部肯定是有個專門存盤所有訊息的queue,無論是MessageSend還是MessageSendLater等等要發送的訊息都會在這個queue中排隊。然后VM依次處理,將訊息傳遞給對應的handler,(這個程序應該就是deliver),然后在free掉這條訊息。
不知我知否理解有誤。
那么重點來了,如果DSP與MCU之間傳遞資料只能通過這種方式,那就太受局限了。
只能靠這兩種message所帶的payload傳遞?!
case MESSAGE_FROM_KALIMBA:
{
SOG_MAIN_PRINT(("MESSAGE_FROM_KALIMBA \n"));
break;
}
case MESSAGE_FROM_KALIMBA_LONG:
{
SOG_MAIN_PRINT(("MESSAGE_FROM_KALIMBA_LONG \n"));
break;
}
才疏學淺,求大神指路!
uj5u.com熱心網友回復:
以csr8760為例,以訊息機制進行任務調度,根據訊息呼叫相應的回呼函式進行處理轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/104958.html
標籤:Qualcomm開發
