• <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)  編輯 收藏 引用
            亚洲国产成人久久一区WWW| 久久久久久亚洲精品无码| 色偷偷偷久久伊人大杳蕉| 亚洲精品无码专区久久久| 粉嫩小泬无遮挡久久久久久| 国内精品久久久久久久亚洲| 亚洲日韩中文无码久久| 九九久久精品国产| 久久99这里只有精品国产| 久久国产精品久久| 亚洲av伊人久久综合密臀性色| 国产精品日韩欧美久久综合| 亚洲精品美女久久久久99| 久久久久国产一区二区| 精品免费tv久久久久久久| 欧美一区二区久久精品| 国产精品内射久久久久欢欢| 久久AV高清无码| 久久综合亚洲色HEZYO社区| 久久国产高清字幕中文| 亚洲精品乱码久久久久66| 久久无码AV一区二区三区| 曰曰摸天天摸人人看久久久| 97超级碰碰碰久久久久| 伊人久久一区二区三区无码| 久久久久四虎国产精品| 日本一区精品久久久久影院| 久久婷婷五月综合国产尤物app | 国产精品久久久久9999高清| 久久精品国产99国产精品导航| 欧洲国产伦久久久久久久| 久久久久免费精品国产| 66精品综合久久久久久久| 久久精品三级视频| 色88久久久久高潮综合影院| 青青草原精品99久久精品66| jizzjizz国产精品久久| 性高湖久久久久久久久AAAAA| 日日噜噜夜夜狠狠久久丁香五月| 久久人人爽人人爽人人片AV东京热| 无码伊人66久久大杳蕉网站谷歌 |