• <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 閱讀(265) 評論(0)  編輯 收藏 引用
            久久综合狠狠综合久久| 久久无码国产专区精品| 97久久超碰国产精品2021| 久久国产欧美日韩精品| 中文精品久久久久国产网址| 久久精品无码一区二区app| 欧美亚洲国产精品久久| 国内精品九九久久久精品| 精品久久久久久无码人妻蜜桃| 久久亚洲av无码精品浪潮| 日韩精品久久无码人妻中文字幕| 亚洲天堂久久精品| 亚洲狠狠婷婷综合久久久久| 国产精品美女久久久久久2018| 久久www免费人成看国产片| 亚洲欧美伊人久久综合一区二区 | 狠狠色狠狠色综合久久| 国产精品一久久香蕉国产线看观看 | 人妻无码久久精品| 国产精品久久久久9999高清| 色妞色综合久久夜夜| 国产69精品久久久久9999| 一本色道久久综合狠狠躁| 久久精品国产亚洲Aⅴ香蕉| 久久99热只有频精品8| 精品多毛少妇人妻AV免费久久| 国产巨作麻豆欧美亚洲综合久久| 无码伊人66久久大杳蕉网站谷歌| 天天做夜夜做久久做狠狠| 91久久精品视频| 一本色道久久88加勒比—综合| 久久久久久亚洲AV无码专区| 亚洲人成伊人成综合网久久久| 伊人情人综合成人久久网小说| 久久精品国产精品亚洲人人| 色偷偷888欧美精品久久久| 99久久超碰中文字幕伊人| 精品久久久久久亚洲精品| 色狠狠久久AV五月综合| 久久久久久九九99精品| 欧美黑人激情性久久|