1. gzyueqian
      13352868059

      嵌入式開發(fā):軟件技巧 — 在實時操作系統(tǒng)中使用C++

      更新時間: 2023-02-28 06:00:37來源: 粵嵌教育瀏覽量:8442

        當在嵌入式應用程序中使用實時操作系統(tǒng)時,檢索許多RTOS功能所需的大量復雜API可能會阻止沒有經驗的嵌入式開發(fā)人員使用C。但是,C++的特性可以很好地在此處使用,以便輕松地生成清晰易讀的代碼。

        如果嵌入式應用程序使用實時操作系統(tǒng)(RTOS)(如Nucleus),則需要了解API(應用程序接口)。API由一系列函數調用組成,允許應用程序代碼使用RTOS的函數。這包括任務控制、定時、任務之間的通信、同步和內存管理。由于現代RTOS提供了多種功能,可用視圖的數量可以達到數百個。

        盡管C是嵌入式系統(tǒng)中使用最廣泛的編程語言,但許多開發(fā)人員都對使用C++感興趣。這提供了與RTOS交互的另一種方式。

        由于現代RTOS通常具有許多功能,API調用可能非常復雜。當然,可以說,大多數嵌入式開發(fā)工程師不需要了解RTOS操作的細節(jié),應該專注于他們的特定專業(yè)領域。這里C++是一個很好的幫助。在這篇文章中,將概述如何以一種非常簡單的方式利用C++屬性的優(yōu)勢來編寫更強大、更易讀的代碼。

        在嵌入式代碼中,特別是在實時應用程序中,成對的操作是常見的。這些是必須共同執(zhí)行的補充行動。示例包括啟用/禁用中斷、鎖定/解鎖設備以及內存分配/共享。

        

        有時有必要編寫需要在不中斷的情況下完成的“關鍵”代碼。一種方法是在編碼之前禁用中斷,然后再次啟用它們。只要重新激活實際發(fā)生,這就可以了。在C++中,我們可以創(chuàng)建一個類來幫助:

        class critical

        {

        public:

        critical()

        {

        disable_interrupts();

        };

        ~critical()

        {

        enable_interrupts();

        };

        };

        從該類實例化的對象在創(chuàng)建時會導致中斷被禁用,在刪除時(例如,當它不再有效時)會導致中斷重新激活。例如,嵌入式開發(fā)人員可以通過將相應的代碼放在具有關鍵類實例化的本地對象的塊中來編碼關鍵部分:

        ... // normal code

        {

        critical section;

        // critical code goes here

        }

        ... // back to normal code

        Object/Variable部分只是一個虛設,只是確保構造函數和析構函數執(zhí)行的一種方法。但它確實提供了可讀代碼。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 久久se精品一区精品二区 | 亚洲男同帅gay片在线观看 | 野狼在线亚洲AV | 午夜精品久久久久久不卡 | 最新版天堂资源高清在线 | 久久亚洲性爱视频 |