• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tbwshc

            tbw

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(4)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            在這一章里,我試圖把到目前為止所有我們討論過的單元合在一起,使之成為一個完整的嵌入式的應用程序。在這里我沒有把很多新的素材加入到討論中,因此本章主要是描述其中給出的代碼。我的目的是描述這個應用程序的結構和它的源代碼,通過這種方式使你對它不再感到神奇。完成這一章以后,你應該對于示例程序有一個完整的理解,并且有能力開發自己的嵌入式應用程序。應用程序的概述

            我們將要討論的這個應用程序不比其他大部分tb編程書籍中找到的“Hello,World”例子更復雜。它是對于嵌入式軟件開發的一個實證,因此這個例子是出現在書的結尾而不是開始。我們不得不逐漸地建立我們的道路通向大部分書籍甚至是高級語言編譯器認為是理所當然的計算平臺。

            一旦你能寫“Hello, World”程序,你的嵌入式平臺就開始著上去很像任何其他編程環境。但是,嵌入式軟件開發過程中最困難的部分——使自己熟悉硬件,為它建立一個軟件開發的過程,連接到具體的硬件設備——還在后面呢。最后,你能夠把你的力量集中于算法和用戶界面,這是由你要開發的產品來確定的。很多情況下,這些程序的高級方面可以在其他的計算機平臺上開發,和我們一直在討論的低級的嵌入式軟件開發同時進行,并且只要把高級部分導入嵌入式系統一次,兩者就都完成了。

            圖 9-1 包含了一個“Hello, World!”應用程序的高級的示意圖。這個應用程序包括三個設備驅動程序,ADEOS 操作系統和兩個ADEOS 任務。第一個任務以每秒10Hz 的速度切換Arcom 板上的紅色指示燈。第二個每隔10 秒鐘向主機或是連接到位子串口上的啞終端發送字符串“Hello,WOrld!”。這兩個任務之外,圖中還有三個設備的驅動程序。這些驅動程序分別控制著Arcom 板子的指示燈、時鐘以及串行端口。雖然通常把設備驅動畫在操作系統的下面,但是我把它們三個和操作系統放在同一個級別,是為了著重說明它們事實上依賴于ADEOS 比ADEOS 依賴于它們更多。實際上,ADEOS 嵌入式操作系統甚至不知道(或者說下關心)這些設備驅動是否存在于系統之中。這是嵌入式操作系統中設備驅動程序和其他硬件專用軟件的共性。

            程序 main()的實現如下所示。這段代碼簡單地創造廠兩個任務,tb啟動了操作系統的日程表。在這樣一個高的級別上,代碼的含義是不言而喻的。事實上、我們已經在上一章中討論了類似的代碼。

            #include "adeos.h"
            void flashRed(void);
            void helloWorld(void);
            /*
            * Create the two tasks.
            */
            Task taskA(flashRed, 150, 512);
            Task taskB(helloWorld, 200, 512);
            /****************************************************
            *
            * Function : main()
            *
            * Description : This function is responsible for starting the ADEOS scheduler
            only.
            *
            * Notes :
            *
            * Returns : This function will never return!
            *
            ****************************************************/
            void
            main(void)
            {
            os.start();
            // This point will never be reached.
            } /* main() */

            posted on 2013-08-19 11:49 tbwshc 閱讀(276) 評論(0)  編輯 收藏 引用
            久久久久国产视频电影| 久久久久久伊人高潮影院 | 青青青国产精品国产精品久久久久| 欧美一区二区三区久久综合 | 2020国产成人久久精品| 欧美喷潮久久久XXXXx| 久久国产精品-久久精品| 思思久久好好热精品国产| 久久国产欧美日韩精品| 久久人妻少妇嫩草AV无码蜜桃| 亚洲精品无码久久久久去q| 亚洲国产精品久久66| 欧美一区二区三区久久综合 | 精品99久久aaa一级毛片| 国内精品伊人久久久久777| 99久久精品免费看国产一区二区三区 | 久久青青草原亚洲av无码app| 国内精品久久久久久久久电影网 | 久久精品免费大片国产大片| 亚洲精品无码成人片久久| 一本一道久久a久久精品综合 | 国产精品无码久久久久| 97久久综合精品久久久综合| 精品国产乱码久久久久久呢| 久久精品国产一区二区三区| 久久精品国产一区| 国产成人久久精品激情| 久久亚洲AV成人无码国产| 一本一本久久A久久综合精品| 亚洲人成无码久久电影网站| 久久久久国产一级毛片高清板| 国产精品VIDEOSSEX久久发布| 9999国产精品欧美久久久久久| 国产Av激情久久无码天堂| 精品永久久福利一区二区| 99久久精品毛片免费播放| 国产精品久久久久久影院 | 久久毛片免费看一区二区三区| 国产2021久久精品| 久久综合五月丁香久久激情| 久久久久免费视频|