国内精品久久人妻性色av_日本人妻久久久中文字幕_国产精品一区二区四区av_久久亚洲美女精品国产精品_ewp绞死vk失禁编_91精品免费观看老司机_色欲色香天天天综合网www_黄色avav_日本一区二区三区电影免费

廣告招募

當前位置:歐亞貿易網 > 技術中心 > 所有分類

VxWorks的多任務通信機制

2025年05月09日 16:21:35      來源:廣州市克魯茲電子科技有限公司 >> 進入該公司展臺      閱讀量:5

分享:

在5.5版本之前,VxWorks并沒有事件這一通信機制。事件(event) 出現在pSOS實時操作系統中,在風河公司收購了pSOS之后,從VxWorks 5.5之后,加入了事件機制,并在pSOS事件的基礎上做了增強和改進。事件可用于任務和中斷服務程序ISR之間、任務和任務之間、任務和VxWorks資源之間進行通信。任務用函數eventReceive()來接收它關心的事件,用eventSend()來向另一個任務發送事件。
VxWorks資源主要是指信號量和消息隊列,一個任務要想從VxWorks資源接收到事件,必須行注冊(register),那么當資源處于FREE狀態時,會向注冊過的任務發送一個事件。對于每一個VxWorks資源,最多只允許有一個任務注冊。如對于消息隊列,任務可以使用函數msgQEvStart()來進行注冊,那么當有消息到達這個消息隊列而又沒有任務等待這個消息隊列時,會向這個任務發送一個事件,表明消息隊列可用。而對于信號量,可以用函數semEvStart()來進行注冊。但必須注意的是,一個任務接收到資源發送的事件后,并不能保證這個任務能獲取該資源,如獲取信號量、從消息隊列接收到消息。
在VxWorks中,每一個任務都有一個32位事件寄存器,其中高8位由VxWorks系統保留,可以使用低24位,其每一位表示一種事件,而事件的意義則有任務來定義,因此對于不同的任務,相同的位可能有不同的意義。而VxWorks并不對事件進行計數,而只表示該事件發生過,這與消息隊列不同,因此接收事件的任務并不能知道接受到的事件發生的次數。
事件非常適合于一個任務必須與多個任務進行通信的場合,如任務A必須同時與任務B、任務C、任務D進行通信,其中任務B通過消息隊列向任務A發送數據,其發送頻率較低,它要求任務A必須及時進行處理;而任務C則只是向任務A指示一種狀態,但頻率很高;而任務D用來通知任務A釋放動態申請的資源,并停止運行。在這種場合,事件機制能很好地解決問題。
版權與免責聲明:
1.凡本網注明"來源:歐亞貿易網"的所有作品,版權均屬于歐亞貿易網,轉載請必須注明歐亞貿易網。違反者本網將追究相關法律責任。
2.企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
3.本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。 4.如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系。