欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      學(xué)習(xí)嵌入式技術(shù)之后的感想[合集]

      時(shí)間:2019-05-12 13:50:17下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《學(xué)習(xí)嵌入式技術(shù)之后的感想》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《學(xué)習(xí)嵌入式技術(shù)之后的感想》。

      第一篇:學(xué)習(xí)嵌入式技術(shù)之后的感想

      學(xué)習(xí)嵌入式技術(shù)之后的感想

      嵌入式系統(tǒng)(Embedded Systems),實(shí)際上是“嵌入式計(jì)算機(jī)系統(tǒng)”的簡稱,它是相對(duì)于通用計(jì)算機(jī)系統(tǒng)而言的。在有些系統(tǒng)里也有計(jì)算機(jī),但是計(jì)算機(jī)是作為某個(gè)專用系統(tǒng)的一個(gè)部件而存在的。像這樣“嵌入”到更大,專用的系統(tǒng)中計(jì)算機(jī)系統(tǒng),稱之為“嵌入式計(jì)算機(jī)”,“嵌入式計(jì)算機(jī)系統(tǒng)”或“嵌入式系統(tǒng)”。在日常生活中,早已存在許多嵌入式系統(tǒng)的應(yīng)用,如天天必用的移動(dòng)電話,帶在手腕上的電子表,烹調(diào)用的微波爐,辦公室里的打印機(jī),汽車?yán)锏墓┯蛧娚淇刂葡到y(tǒng),防鎖死剎車系統(tǒng)(ABS)。以及現(xiàn)在流行的個(gè)人數(shù)字助理(PDA),數(shù)碼相機(jī),數(shù)碼攝相機(jī)等等,它們內(nèi)部都有一個(gè)中央處理器cpu.嵌入式系統(tǒng)無處不在,從家庭的洗衣機(jī),電冰箱,小汽車到辦公室里的遠(yuǎn)程好會(huì)議系統(tǒng)等,都屬于可以用嵌入式技術(shù)進(jìn)行開發(fā)和改造的產(chǎn)品。嵌入式系統(tǒng)本是一個(gè)相對(duì)模糊的定義。一個(gè)手持的MP3和PC104的微型工業(yè)控制計(jì)算機(jī)都可以認(rèn)為是嵌入式系統(tǒng)。

      根據(jù)電氣工程師協(xié)會(huì)(IEE)的定義,嵌入式系統(tǒng)是用來控制或監(jiān)視機(jī)器裝置或工廠等的大規(guī)模系統(tǒng)的設(shè)備。

      可以看出此定義是從應(yīng)用方面考慮的。嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)電等附屬裝置。

      國內(nèi)一般定義為:以應(yīng)用中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁減,從而能夠適應(yīng)實(shí)際應(yīng)用中對(duì)功能,可靠性,成本,體積,功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。

      嵌入式系統(tǒng)在應(yīng)用數(shù)量上遠(yuǎn)遠(yuǎn)超過了各種通用計(jì)算機(jī)。一臺(tái)通用計(jì)算機(jī)的外部設(shè)備中就包含5—10個(gè)嵌入式微處理器,鍵盤,硬盤,顯示器,Moden,網(wǎng)卡,聲卡,打印機(jī),掃描機(jī),數(shù)碼相機(jī),集線器等,均是由嵌入式處理器進(jìn)程控制的,在制造工業(yè),過程控制,通信,儀器,汽車,航空航天,軍事裝備,消費(fèi)類產(chǎn)品等方面,嵌入式系統(tǒng)都有用武之地。

      入式系統(tǒng)本身是一個(gè)相對(duì)模糊的定義,一個(gè)手持的MP3和一個(gè)PC104的微型工業(yè)控制計(jì)算機(jī)都可以認(rèn)為是嵌入式系統(tǒng)??傮w來說,嵌入式系統(tǒng)是“用于控制,監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝備”。一個(gè)典型的桌面Linux系統(tǒng)包括3個(gè)主要的軟件層---linux內(nèi)核、C庫和應(yīng)用程序代碼。內(nèi)核是唯一可以完全控制硬件的層,內(nèi)核驅(qū)動(dòng)程序代表應(yīng)用程序與硬件之間進(jìn)行會(huì)話。內(nèi)核之上是C庫,負(fù)責(zé)把POSIX API轉(zhuǎn)換為內(nèi)核可以識(shí)別的形式,然后調(diào)用內(nèi)核,從應(yīng)用程序向內(nèi)核傳遞參數(shù)。應(yīng)用程序依靠驅(qū)動(dòng)內(nèi)核來完成特定的任務(wù)。嵌入式與單片機(jī)的關(guān)系與區(qū)別;

      嵌入式計(jì)算機(jī)系統(tǒng)起源于微型機(jī)時(shí)代,但很快就進(jìn)入到獨(dú)立發(fā)展的單片機(jī)時(shí)代。在單片機(jī)時(shí)代,嵌入式系統(tǒng)以器件形態(tài)迅速進(jìn)入到傳統(tǒng)電子技術(shù)領(lǐng)域中,以電子技術(shù)應(yīng)用工程師為主體,實(shí)現(xiàn)傳統(tǒng)電子系統(tǒng)的智能化,而計(jì)算機(jī)專業(yè)隊(duì)伍并沒有真正進(jìn)入單片機(jī)應(yīng)用領(lǐng)域。因此,電子技術(shù)應(yīng)用工程師以自己習(xí)慣性的電子技術(shù)應(yīng)用模式,從事單片機(jī)的應(yīng)用開發(fā)。這種應(yīng)用模式最重要的特點(diǎn)是:軟、硬件的底層性和隨意性;對(duì)象系統(tǒng)專業(yè)技術(shù)的密切相關(guān)性;缺少計(jì)算機(jī)工程設(shè)計(jì)方法。

      雖然在單片機(jī)時(shí)代,計(jì)算機(jī)專業(yè)淡出了嵌入式系統(tǒng)領(lǐng)域,但隨著后PC時(shí)代的到來,網(wǎng)絡(luò)、通信技術(shù)得以發(fā)展;同時(shí),嵌入式系統(tǒng)軟、硬件技術(shù)有了很大的提升,為計(jì)算機(jī)專業(yè)人士介入嵌入式系統(tǒng)應(yīng)用開辟了廣闊天地。計(jì)算機(jī)專業(yè)人士的介入,形成的計(jì)算機(jī)應(yīng)用模式帶有明顯的計(jì)算機(jī)的工程應(yīng)用特點(diǎn),即基于嵌入式系統(tǒng)軟、硬件平臺(tái),以網(wǎng)絡(luò)、通信為主的非嵌入式底層應(yīng)用。兩種應(yīng)用模式的并存與互補(bǔ)

      由于嵌入式系統(tǒng)最大、最廣、最底層的應(yīng)用是傳統(tǒng)電子技術(shù)領(lǐng)域的智能化改造,因此,以通曉對(duì)象專業(yè)的電子技術(shù)隊(duì)伍為主,用最少的嵌入式系統(tǒng)軟、硬件開銷,以8位機(jī)為主,帶有濃重的電子系統(tǒng)設(shè)計(jì)色彩的電子系統(tǒng)應(yīng)用模式會(huì)長期存在下去。另外,計(jì)算機(jī)專業(yè)人士會(huì)愈來愈多地介入嵌入式系統(tǒng)應(yīng)用,但囿于對(duì)象專業(yè)知識(shí)的隔閡,其應(yīng)用領(lǐng)域會(huì)集中在網(wǎng)絡(luò)、通信、多媒體、商務(wù)電子等方面,不可能替代原來電子工程師在控制、儀器儀表、機(jī)械電子等方面的嵌入式應(yīng)用。因此,客觀存在的兩種應(yīng)用模式會(huì)長期并存下去,在不同的領(lǐng)域中相互補(bǔ)充。電子系統(tǒng)設(shè)計(jì)模式應(yīng)從計(jì)算機(jī)應(yīng)用設(shè)計(jì)模式中,學(xué)習(xí)計(jì)算機(jī)工程方法和嵌入式系統(tǒng)軟件技術(shù);計(jì)算機(jī)應(yīng)用設(shè)計(jì)模式應(yīng)從電子系統(tǒng)設(shè)計(jì)模式中,了解嵌入式系統(tǒng)應(yīng)用的電路系統(tǒng)特性、基本的外圍電路設(shè)計(jì)方法和對(duì)象系統(tǒng)的基本要求等。嵌入式系統(tǒng)應(yīng)用的高低端:由于嵌入式系統(tǒng)有過很長的一段單片機(jī)的獨(dú)立發(fā)展道路,大多是基于8位單片機(jī),實(shí)現(xiàn)最底層的嵌入式系統(tǒng)應(yīng)用,帶有明顯的電子系統(tǒng)設(shè)計(jì)模式特點(diǎn)。大多數(shù)從事單片機(jī)應(yīng)用開發(fā)人員,都是對(duì)象系統(tǒng)領(lǐng)域中的電子系統(tǒng)工程師,加之單片機(jī)的出現(xiàn),立即脫離了計(jì)算機(jī)專業(yè)領(lǐng)域,以“智能化”器件身份進(jìn)入電子系統(tǒng)領(lǐng)域,沒有帶入“嵌入式系統(tǒng)”概念。因此,不少從事單片機(jī)應(yīng)用的人,不了解單片機(jī)與嵌入式系統(tǒng)的關(guān)系,在談到“嵌入式系統(tǒng)”領(lǐng)域時(shí),往往理解成計(jì)算機(jī)專業(yè)領(lǐng)域的,基于32位嵌入式處理器,從事網(wǎng)絡(luò)、通信、多媒體等的應(yīng)用。這樣,“單片機(jī)”與“嵌入式系統(tǒng)”形成了嵌入式系統(tǒng)中常見的兩個(gè)獨(dú)立的名詞。但由于“單片機(jī)”是典型的、獨(dú)立發(fā)展起來的嵌入式系統(tǒng),從學(xué)科建設(shè)的角度出發(fā),應(yīng)該把它統(tǒng)一成“嵌入式系統(tǒng)”。考慮到原來單片機(jī)的電子系統(tǒng)底層應(yīng)用特點(diǎn),可以把嵌入式系統(tǒng)應(yīng)用分成高端與低端,把原來的單片機(jī)應(yīng)用理解成嵌入式系統(tǒng)的低端應(yīng)用,含義為它的底層性以及與對(duì)象系統(tǒng)的緊耦。嵌入式與PC機(jī)的關(guān)系與區(qū)別:

      嵌入式系統(tǒng)一般指非 pc 系統(tǒng),有計(jì)算機(jī)功能但又不稱之為計(jì)算機(jī)的設(shè)備或器材。它是以應(yīng)用為中心,軟硬件可裁減的,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等綜合性嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。簡單地說,嵌入式系統(tǒng)集系統(tǒng)的應(yīng)用軟件與硬件于一體,類似于 pc 中 bios 的工作方式,具有軟件代碼小、高度自動(dòng)化、響應(yīng)速度快等特點(diǎn),特別適合于要求實(shí)時(shí)和多任務(wù)的體系。嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成,它是可獨(dú)立工作的“器件”。

      個(gè)人pc一詞源自于1978年IBM的第一部桌上型計(jì)算機(jī)型號(hào)PC,在此之前有Apple II的個(gè)人用計(jì)算機(jī)。能獨(dú)立運(yùn)行、完成特定功能的個(gè)人計(jì)算機(jī)。個(gè)人計(jì)算機(jī)不需要共享其他計(jì)算機(jī)的處理、磁盤和打印機(jī)等資源也可以獨(dú)立工作。今天,個(gè)人計(jì)算機(jī)一詞則泛指所有的個(gè)人計(jì)算機(jī)、如桌上型計(jì)算機(jī)、筆記型計(jì)算機(jī)、或是兼容于IBM系統(tǒng)的個(gè)人計(jì)算機(jī)等。

      嵌入式這門課程名稱對(duì)我來說并不陌生,是因?yàn)樯蠈W(xué)期講我們單片機(jī)的艾爾肯老師提過,他說我們這個(gè)專業(yè)最重要最應(yīng)用兩門課程是單片機(jī)和嵌入式。那時(shí)候我特別感興趣,還去圖書館看有關(guān)的書,在網(wǎng)上查資料,是因?yàn)槲铱傆X得我們以前學(xué)的都是理論沒有什么動(dòng)手做的,別人問我“你讀的專業(yè)做什么?”,我也說不去話來,只說畫電路圖,研究計(jì)算機(jī)硬件等回答,所以決心學(xué)好這些課門,剛開始把單片機(jī)的實(shí)驗(yàn)做的特努力,每次程序下載成功的時(shí)候特別高興,可后來不怎么感興趣了,因?yàn)槲也粫?huì)寫程序,只懂一點(diǎn)點(diǎn),實(shí)驗(yàn)上的程序是書上有的要么老師給的,只復(fù)制粘貼而一。

      我們開始學(xué)習(xí)《ARM&LINUX嵌入式系統(tǒng)教程》,由于初次接觸嵌入式系統(tǒng),感覺蠻難的,很多的概念都聽也沒聽過,覺得挺尷尬,老師每次上課都布置作業(yè),下課后同學(xué)一起做實(shí)驗(yàn),我覺得這個(gè)挺不錯(cuò)的,當(dāng)然,其中遇到很多的難題,很多東西都是第一次接觸,又沒有別人在旁邊指導(dǎo)操作,完全憑借自己去摸索練習(xí),我不懂得地方別人懂,誰也不懂查資料,吵吵鬧鬧這樣還學(xué)了一些東西,不管怎么說自己下手做,還老師關(guān)于實(shí)驗(yàn)內(nèi)容提問。到第9周我們開始做實(shí)驗(yàn)了,這個(gè)實(shí)驗(yàn)比以前做的實(shí)驗(yàn)難多了,做起來也難,幾乎每次實(shí)驗(yàn)不那么理想,越努力做好越出問題,老師講的時(shí)候覺得挺懂,一手可以做好實(shí)驗(yàn)感覺,可事實(shí)不是這樣的。其中的困難可想而知。然而堅(jiān)持就是勝利,牙一咬眼一閉堅(jiān)持做下去,而通過本次實(shí)驗(yàn),我感覺收獲還是蠻多的??赡芪覍?duì)于嵌入式的知識(shí)學(xué)習(xí)的還是不太多,但是這之外的東西收獲頗豐。它讓我學(xué)會(huì)了如何通過自己的努力去認(rèn)知一個(gè)新事物,更重要的是端正自己的學(xué)習(xí)態(tài)度,只有真正下功夫去學(xué)習(xí),才能有收獲,正所謂“一份耕耘,一份收獲?!睕]有付出,何談回報(bào)呢?再者,通過本次實(shí)驗(yàn),我也學(xué)會(huì)了如何去分析問題,如何找出自己設(shè)計(jì)中的不足,繼而去排除解決問題,這就是一個(gè)自我學(xué)習(xí)的過程。當(dāng)我通過實(shí)驗(yàn)去學(xué)習(xí)理論知識(shí)時(shí),自己動(dòng)手得出的結(jié)論,不僅能加深我對(duì)嵌入式的理解,更能加深我對(duì)此的記憶。

      當(dāng)然,在這其中,我也發(fā)現(xiàn)自己的許多不足之處,由于我把C語言沒有好好學(xué)習(xí),才落到如此地步,這也可以說是一個(gè)教訓(xùn)吧!我相信在以后的學(xué)習(xí)工作中,我一定會(huì)端正自己的學(xué)習(xí)態(tài)度,一絲不茍的去對(duì)待每一件事。只有做好足夠的準(zhǔn)備,才能事半功倍。參考的書和網(wǎng)址:

      ARM & LINUX 嵌入式系統(tǒng)教程(第2版)第1頁

      第二篇:《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      目錄

      一、嵌入式系統(tǒng)簡介............................................................................................2

      1.1 嵌入式系統(tǒng)的定義和特點(diǎn)....................................................................2 1.2 嵌入式系統(tǒng)的構(gòu)成.................................................................................3 1.3 嵌入式系統(tǒng)的應(yīng)用.................................................................................5 1.4 嵌入式系統(tǒng)的工具鏈.............................................................................6 1.5 嵌入式系統(tǒng)的發(fā)展趨勢.........................................................................7

      二、嵌入式系統(tǒng)的學(xué)習(xí)實(shí)踐................................................................................8

      三、實(shí)驗(yàn)內(nèi)容........................................................................................................9

      3.1ZedBoard-Zynq7000介紹........................................................................9 3.2 軟件的安裝設(shè)置...................................................................................10 3.3 main函數(shù)分析.......................................................................................10 3.4 任務(wù)管理...............................................................................................12

      3.4.1 任務(wù)優(yōu)先級(jí).........................................................................................13 3.4.2 任務(wù)的堆棧.........................................................................................13 3.4.3 任務(wù)的狀態(tài).........................................................................................14

      3.5 就緒任務(wù)的管理...................................................................................15 3.6 任務(wù)調(diào)度...............................................................................................17

      3.6.1 任務(wù)搶占.............................................................................................17 3.6.2 輪轉(zhuǎn)調(diào)度.............................................................................................18 3.6.3 調(diào)度時(shí)機(jī).............................................................................................19 3.6.4 調(diào)度實(shí)現(xiàn).............................................................................................19

      3.7 上下文切換...........................................................................................20

      四、工作總結(jié)......................................................................................................2

      21/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      一、嵌入式系統(tǒng)簡介 1.1嵌入式系統(tǒng)的定義和特點(diǎn)

      嵌入式操作系統(tǒng)(Embedded Operation System,EOS)是一種“嵌入機(jī)械或電氣系統(tǒng)內(nèi)部、具有專屬功能的計(jì)算機(jī)系統(tǒng)”,通常要求實(shí)時(shí)計(jì)算性能。被嵌入的系統(tǒng)通常是包含硬件和機(jī)械部件的完整設(shè)備。相反,通用計(jì)算機(jī)如個(gè)人計(jì)算機(jī)則設(shè)計(jì)靈活,以滿足廣大終端用戶的需求。現(xiàn)在常見的很多設(shè)備都采用嵌入式系統(tǒng)控制。EOS負(fù)責(zé)嵌入系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動(dòng)。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能。嵌入式系統(tǒng)與對(duì)象系統(tǒng)密切相關(guān),其主要技術(shù)發(fā)展方向是滿足嵌入式應(yīng)用要求,不斷擴(kuò)展對(duì)象系統(tǒng)要求的外圍電路(如ADC、DAC、PWM、日歷時(shí)鐘、電源監(jiān)測、程序運(yùn)行監(jiān)測電路等),形成滿足對(duì)象系統(tǒng)要求的應(yīng)用系統(tǒng)。因此,嵌入式系統(tǒng)作為一個(gè)專用計(jì)算機(jī)系統(tǒng),要不斷向計(jì)算機(jī)應(yīng)用系統(tǒng)發(fā)展。因此,可以把定義中的專用計(jì)算機(jī)系統(tǒng)引伸成,滿足對(duì)象系統(tǒng)要求的計(jì)算機(jī)應(yīng)用系統(tǒng)?!扒度胄浴薄ⅰ皩S眯浴迸c“計(jì)算機(jī)系統(tǒng)”是嵌入式系統(tǒng)的三個(gè)基本要素。對(duì)象系統(tǒng)則是指嵌入式系統(tǒng)所嵌入的宿主系統(tǒng)。另外,在理解嵌入式系統(tǒng)定義時(shí),不要與嵌入式設(shè)備相混淆。嵌入式設(shè)備是指內(nèi)部有嵌入式系統(tǒng)的產(chǎn)品、設(shè)備,例如,內(nèi)含單片機(jī)的家用電器、儀器儀表、工控單元、機(jī)器人、手機(jī)、PDA等。

      嵌入式系統(tǒng)的特點(diǎn)與定義不同,它是由定義中的三個(gè)基本要素衍生出來的。不同的嵌入式系統(tǒng)其特點(diǎn)會(huì)有所差異。與“嵌入性”的相關(guān)特點(diǎn):由于是嵌入到對(duì)象系統(tǒng)中,必須滿足對(duì)象系統(tǒng)的環(huán)境要求,如物理環(huán)境(小型)、電氣/氣氛環(huán)境(可靠)、成本(價(jià)廉)等要求的特點(diǎn)。與“專用性”的相關(guān)特點(diǎn):軟、硬件的裁剪性。滿足對(duì)象要求的最小軟、硬件配置等。與“計(jì)算機(jī)系統(tǒng)”的相關(guān)特點(diǎn):嵌入式系統(tǒng)必須是能滿足對(duì)象系統(tǒng)控制要求的計(jì)算機(jī)系統(tǒng)。與上兩個(gè)特點(diǎn)相呼應(yīng),這樣的計(jì)算機(jī)必須配置有與對(duì)象系統(tǒng)相適應(yīng)的接口電路。

      目前,已推出一些應(yīng)用比較成功的EOS產(chǎn)品系列。隨著Internet技術(shù)的發(fā)展、信息家電的普及應(yīng)用及EOS的微型化和專業(yè)化,EOS開始從單一的弱功能向高專業(yè)化的強(qiáng)功能方向發(fā)展。嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時(shí)高效性、硬件的相關(guān)依賴性、軟件固化以及應(yīng)用的專用性等方面具有較為突出的特點(diǎn)。EOS是相對(duì)于一般操作系統(tǒng)而言的,它除具備了一般操作系統(tǒng)最基本的功能,如任務(wù)調(diào)度、同步機(jī)制、中斷處理、文件功能等外,還有以下特點(diǎn):

      (1)可裝卸性。開放性、可伸縮性的體系結(jié)構(gòu)。

      (2)強(qiáng)實(shí)時(shí)性。EOS實(shí)時(shí)性一般較強(qiáng),可用于各種設(shè)備控制當(dāng)中。(3)統(tǒng)一的接口。提供各種設(shè)備驅(qū)動(dòng)接口。

      (4)操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學(xué)易用。

      2/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      (5)提供強(qiáng)大的網(wǎng)絡(luò)功能,支持TCP/IP協(xié)議及其它協(xié)議,提供TCP/UDP/IP/PPP協(xié)議支持及統(tǒng)一的MAC訪問層接口,為各種移動(dòng)計(jì)算設(shè)備預(yù)留接口.(6)強(qiáng)穩(wěn)定性,弱交互性。嵌入式系統(tǒng)一旦開始運(yùn)行就不需要用戶過多的干預(yù),這就要負(fù)責(zé)系統(tǒng)管理的EOS具有較強(qiáng)的穩(wěn)定性。嵌入式操作系統(tǒng)的用戶接口一般不提供操作命令,它通過系統(tǒng)調(diào)用命令向用戶程序提供服務(wù)。

      (7)固化代碼。在嵌入系統(tǒng)中,嵌入式操作系統(tǒng)和應(yīng)用軟件被固化在嵌入式系統(tǒng)計(jì)算機(jī)的ROM中。輔助存儲(chǔ)器在嵌入式系統(tǒng)中很少使用,因此,嵌入式操作系統(tǒng)的文件管理功能應(yīng)該能夠很容易地拆卸,而用各種內(nèi)存文件系統(tǒng).(8)更好的硬件適應(yīng)性,也就是良好的移植性.1.2嵌入式系統(tǒng)的構(gòu)成

      嵌入式系統(tǒng)按形態(tài)可分為設(shè)備級(jí)(工控機(jī))、板級(jí)(單板、模塊)、芯片級(jí)(MCU、SoC)。嵌入式系通常由嵌入式處理器、外圍設(shè)備、嵌入式操作系統(tǒng)和應(yīng)用軟件等幾大部分組成。嵌入式系統(tǒng)與對(duì)象系統(tǒng)密切相關(guān),其主要技術(shù)發(fā)展方向是滿足嵌入式應(yīng)用要求,不斷擴(kuò)展對(duì)象系統(tǒng)要求的外圍電路(如ADC、DAC、PWM、日歷時(shí)鐘、電源監(jiān)測、程序運(yùn)行監(jiān)測電路等),形成滿足對(duì)象系統(tǒng)要求的應(yīng)用系統(tǒng)。因此,嵌入式系統(tǒng)作為一個(gè)專用計(jì)算機(jī)系統(tǒng),要不斷向計(jì)算機(jī)應(yīng)用系統(tǒng)發(fā)展。

      (1)嵌入式處理器

      嵌入式處理器是嵌入式系統(tǒng)的核心部件。嵌入式處理器與通用處理器的最大不同點(diǎn)在于其大多工作在為特定用戶群設(shè)計(jì)的系統(tǒng)中。它通常把通用計(jì)算機(jī)中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有有利于嵌入式系統(tǒng)設(shè)計(jì)趨于小型化,并具有高效率、高可靠性等特征。嵌入式處理器大概可分為兩類。一類是普通微處理器:使用獨(dú)立的集成電路存儲(chǔ)器和外設(shè)。另一類是單片機(jī):具有片上外設(shè),降低了功耗、尺寸和成本。嵌入式系統(tǒng)的軟件是為某種應(yīng)用定制的,而不是像個(gè)人計(jì)算機(jī)那樣的由終端用戶安裝的商品,因此可以使用各種不同的基本CPU架構(gòu):既有范紐曼型架構(gòu)也有不同程度的哈佛結(jié)構(gòu);既有RISC也有非精簡指令集處理器;字長從4位到64位甚至更高,當(dāng)然最典型的仍然是8/16位。多數(shù)架構(gòu)由幾家不同的公司生產(chǎn),使用了大量不同的變量和類型。嵌入式系統(tǒng)也會(huì)使用通用型微處理器,但比單片機(jī)需要更多外圍電路。大的硬件廠商會(huì)推出自己的嵌入式處理器,因而現(xiàn)今市面上有1000多種嵌入式處理器芯片,其中使用最為廣泛的有ARM、MIPS、PowerPC、MC6800等。

      SoC是一種常見的為超大批量嵌入式系統(tǒng)設(shè)計(jì)的可配置陣列。它在單個(gè)芯片內(nèi)包含了多處理器、乘法器、緩存和接口,形成一個(gè)完整的系統(tǒng);通過特定用途集成電路或現(xiàn)場可編程門陣列來實(shí)現(xiàn)。

      (2)嵌入式主板

      3/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      嵌入式主板一般理解為嵌入在設(shè)備里面做控制、數(shù)據(jù)處理使用的CPU板,也就是設(shè)備的“大腦”。嵌入式到設(shè)備里面,當(dāng)然就會(huì)對(duì)主板的體積以及功耗(嵌入式主板的散熱問題)有比較嚴(yán)格的要求。所以一般來講嵌入式主板會(huì)具備尺寸小、高集成度、低功耗等特性。目前嵌入式主板比較常見的一般有兩大類:基于X86的嵌入式主板(一般使用INTEL、威盛、AMD或其他產(chǎn)家的X86芯片如:臺(tái)灣RDC、臺(tái)灣ICOP等等);基于RISC的ARM 嵌入式主板(由ARM公司授權(quán)生產(chǎn),每個(gè)芯片產(chǎn)家各有自己特殊的功能)。嵌入式的ARM板一般都是板載CPU,而基于x86 CPU的主板則不一定。基于RISC 的ARM板一般都是根據(jù)產(chǎn)品的要求做具體設(shè)計(jì),所以主板在尺寸外觀上面通常沒有做定義。

      PC/104和PC/104+是小型、小批量嵌入式強(qiáng)固系統(tǒng)的標(biāo)準(zhǔn)之一,大多基于x86架構(gòu);通常比標(biāo)準(zhǔn)PC要小,而比多數(shù)簡單的8/16位嵌入式系統(tǒng)要大;使用MSDOS、Linux、NetBSD,或?qū)崟r(shí)嵌入式操作系統(tǒng)如MicroC/OS-II、QNX、VxWorks。有時(shí)這些主板也會(huì)使用非x86處理器。在某些應(yīng)用中,小巧、高效并非主要關(guān)注點(diǎn),因而可以使用與x86型PC主板兼容的部件。VIA EPIA系列板卡則可以彌補(bǔ)這個(gè)空缺,它兼容PC但是高度集成、體積較小,或提供其他對(duì)嵌入式工程師很有吸引力的特性。這種方法的好處是低成本商品也可以使用通用的軟件開發(fā)工具。用這種方法構(gòu)建的系統(tǒng)仍然是嵌入式系統(tǒng),因?yàn)樗度朐谳^大的設(shè)備中、用于滿足單一用途。例如ATM和電子游戲機(jī),它們都包含了針對(duì)各自應(yīng)用的代碼。

      多數(shù)嵌入式主板都不是圍繞PC設(shè)計(jì)的,也不使用ISA或PCI總線。如果采用SoC處理器,用標(biāo)準(zhǔn)總線連接分立組件就不是上策,此外軟硬件開發(fā)環(huán)境都可能會(huì)很不一樣。一種常用的設(shè)計(jì)模式是采用小型系統(tǒng)模塊——也許只有商務(wù)卡片大小,容納高密度的BGA芯片如ARM處理器和外設(shè)、用于存儲(chǔ)的外部閃存、作為內(nèi)存的DRAM。模塊廠商通常會(huì)提供引導(dǎo)軟件和操作系統(tǒng)選項(xiàng),一般包括Linux和一些實(shí)時(shí)操作系統(tǒng)。這些模塊由熟悉專業(yè)測試方法的組織大批量生產(chǎn),配合較小批量的、帶特殊應(yīng)用外設(shè)的定制主板使用。

      (3)外圍設(shè)備

      外圍設(shè)備是指在一個(gè)嵌入式系統(tǒng)中,除了嵌入式處理器以外用于完成存儲(chǔ)、通信、調(diào)試、顯示等輔助功能的其它部件。根據(jù)外圍設(shè)備的功能可以分為存儲(chǔ)器、接口和人機(jī)交互。嵌入式系統(tǒng)通過外設(shè)與外部通信串行,包括通信接口:RS-232、RS-

      422、RS-485等;同步串行通信接口:I2C、SPI、ESSI等;USB;多媒體卡:SD卡、CF卡等;網(wǎng)絡(luò):以太網(wǎng)、LonWorks等;現(xiàn)場總線:CAN總線、LIN總線、PROFIBUS等;定時(shí)器:PLL、捕獲比較模塊和時(shí)間處理單元;分立IO:GPIO;模擬-數(shù)字/數(shù)字-模擬轉(zhuǎn)換(ADC/DAC);調(diào)試接口:JTAG、ISP、ICSP、BDM端口、BITP、DP9端口等。

      (4)嵌入式操作系統(tǒng)

      4/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      在大型嵌入式應(yīng)用系統(tǒng)中,為了使嵌入式開發(fā)更方便、快捷,需要具備一種穩(wěn)定、安全的軟件模塊集合,用以管理存儲(chǔ)器分配、中斷處理、任務(wù)間通信和定時(shí)器響應(yīng),以及提供多任務(wù)處理等,即嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)的引入大大的提高了嵌入式系統(tǒng)的功能,方便了應(yīng)用軟件的設(shè)計(jì),但同時(shí)占用了寶貴的嵌入式系統(tǒng)資源。一般在比較大型或需要多任務(wù)的應(yīng)用場合才考慮使用嵌入式系統(tǒng)。嵌入式系統(tǒng)常常需要有實(shí)時(shí)要求,所以嵌入式操作系統(tǒng)往往又是“實(shí)時(shí)操作系統(tǒng)”。早期的嵌入式系統(tǒng)幾乎都用于控制目的,從而或多或少都有些實(shí)時(shí)要求,所以從前“嵌入式操作系統(tǒng)”實(shí)際上是“實(shí)時(shí)操作系統(tǒng)”的代名詞。今年來由于手持式計(jì)算機(jī)和掌上電腦等設(shè)備的出現(xiàn),也有了不帶實(shí)時(shí)要求的嵌入式系統(tǒng)。另外一方面,由于CPU速度的提高,一些原先認(rèn)為是“實(shí)時(shí)”的反應(yīng)速度現(xiàn)在已經(jīng)很普遍了。這樣,一些原先需要在“實(shí)時(shí)”操作系統(tǒng)上才能實(shí)現(xiàn)的應(yīng)用,現(xiàn)在已不難在常的操作系統(tǒng)上實(shí)現(xiàn)。在這樣的背景下,“嵌入式操作系統(tǒng)”和“實(shí)時(shí)操作系統(tǒng)”就成了不同的概念名詞。

      常見的嵌入式操作系統(tǒng)有: Android、Firefox OS、iPhone OS、uC/OS、uCLinux、VxWorks、pSOS、Nucleus、PalmOS、Windows CE、Windows XP Embedded、Windows Vista Embedded、嵌入式Linux、ECOS、QNX、Lynx、Symbian、Arm-Linux等。

      (5)應(yīng)用軟件

      嵌入式系統(tǒng)的應(yīng)用軟件是針對(duì)特定的實(shí)際專業(yè)領(lǐng)域,基于相應(yīng)的嵌入式硬件平臺(tái),并能完成用戶的預(yù)期任務(wù)的計(jì)算機(jī)軟件。用戶的任務(wù)可能有時(shí)間和精度的要求。有些應(yīng)用軟件需要嵌入操作系統(tǒng)的支持,但在簡單的場合下不需要專門的操作系統(tǒng)。由于嵌入式應(yīng)用軟件對(duì)成本十分敏感,因此,為減少系統(tǒng)成本,除了精簡每個(gè)硬件單元的成本外,應(yīng)盡可能的減少應(yīng)用軟件的資源消耗,盡可能的優(yōu)化。

      1.3嵌入式系統(tǒng)的應(yīng)用

      嵌入式計(jì)算機(jī)在應(yīng)用數(shù)量上遠(yuǎn)遠(yuǎn)超過了各種通用計(jì)算機(jī),一臺(tái)通用計(jì)算機(jī)的外部設(shè)備中就包含了5-10個(gè)嵌入式微處理器。嵌入式系統(tǒng)技術(shù)具有非常廣闊的應(yīng)用前景,其應(yīng)用領(lǐng)域可以包括:工業(yè)控制:業(yè)過程控制、數(shù)字機(jī)床、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設(shè)備監(jiān)測、石油化工系統(tǒng);交通管理:在車輛導(dǎo)航、流量控制、信息監(jiān)測與汽車服務(wù)方面,嵌入式系統(tǒng)技術(shù)已經(jīng)獲得了廣泛的應(yīng)用,內(nèi)嵌GPS模塊,GSM模塊的移動(dòng)定位終端已經(jīng)在各種運(yùn)輸行業(yè)獲得了成功的使用;信息家電:這將稱為嵌入式系統(tǒng)最大的應(yīng)用領(lǐng)域,冰箱、空調(diào)等的網(wǎng)絡(luò)化、智能化將引領(lǐng)人們的生活步入一個(gè)嶄新的空間。即使你不在家里,也可以通過電話線、網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制。在這些設(shè)備中,嵌入式系統(tǒng)將大有用武之地。家庭智能管理系統(tǒng):水、電、煤氣表的遠(yuǎn)程自動(dòng)抄表,安全防火、防盜系統(tǒng),其中嵌有的專用控

      5/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      制芯片將代替?zhèn)鹘y(tǒng)的人工檢查,并實(shí)現(xiàn)更高,更準(zhǔn)確和更安全的性能;POS網(wǎng)絡(luò)及電子商務(wù):公共交通無接觸智能卡(Contactless Smartcard, CSC)發(fā)行系統(tǒng),公共電話卡發(fā)行系統(tǒng),自動(dòng)售貨機(jī),各種智能ATM終端將全面走入人們的生活,到時(shí)手持一卡就可以行遍天下。環(huán)境工程與自然:水文資料實(shí)時(shí)監(jiān)測,防洪體系及水土質(zhì)量監(jiān)測、堤壩安全,地震監(jiān)測網(wǎng),實(shí)時(shí)氣象信息網(wǎng),水源和空氣污染監(jiān)測。在很多環(huán)境惡劣,地況復(fù)雜的地區(qū),嵌入式系統(tǒng)將實(shí)現(xiàn)無人監(jiān)測。軍事領(lǐng)域:戰(zhàn)機(jī)、火控系統(tǒng)、導(dǎo)彈、火箭。

      1.4嵌入式系統(tǒng)的工具鏈

      工具對(duì)工程師設(shè)計(jì)開發(fā)的成功所起的決定性因素也在提高。應(yīng)用越來越復(fù)雜,工具的選擇也越來越重要?,F(xiàn)在市場上有些工具是免費(fèi)的,也有很多商業(yè)工具。無論是免費(fèi)的還是商業(yè)的,工具的好壞往往會(huì)影響整個(gè)工程的最終結(jié)果?,F(xiàn)在的嵌入式系統(tǒng)開發(fā)工具非常多樣化,市場分散。目前據(jù)不完全統(tǒng)計(jì),全世界嵌入式處理器的品種數(shù)已經(jīng)超過1000多種,流行體系結(jié)構(gòu)有30多個(gè)系列,在其上運(yùn)行的操作系統(tǒng)環(huán)境也非常多樣化,包括VxWorks、QNX、Linux、Nuclears、WinCE等等。不僅各種操作系統(tǒng)有各自的開發(fā)工具,在同一系統(tǒng)下不同的開發(fā)階段也有不同的開發(fā)工具。如在用戶的目標(biāo)板開發(fā)初期,需要硬件仿真器來調(diào)試硬件系統(tǒng)和基本的驅(qū)動(dòng)程序,在調(diào)試應(yīng)用程序階段使用交互式的開發(fā)環(huán)境進(jìn)行軟件調(diào)試,在測試階段需要專門的測試軟件進(jìn)行功能和性能的測試等等。對(duì)于設(shè)計(jì)人員來說,要掌握、駕馭這樣龐大的開發(fā)體系是一件非常困難的事情,而且編程的復(fù)雜度相當(dāng)大。

      在選擇工具時(shí),主要需要注意以下幾個(gè)方面:編譯器的性能和穩(wěn)定性、代碼覆蓋、仿真(不僅是對(duì)CPU的仿真,還有對(duì)其他硬件和設(shè)備的仿真)。工具鏈,一般由編譯器、連接器、解釋器和調(diào)試器組成,在嵌入式開發(fā)中一般指交叉工具鏈。在嵌入式開發(fā)中,往往在機(jī)器A中使用工具鏈生成可執(zhí)行程序,而在機(jī)器B中執(zhí)行程序。而機(jī)器A和機(jī)器B的指令系統(tǒng)往往不同,常見的是利用x86機(jī)器上的工具鏈開發(fā)基于ARM或MIPS的嵌入式系統(tǒng)。工具鏈的構(gòu)成往往與目標(biāo)對(duì)象和使用工具鏈的操作系統(tǒng)平臺(tái)有關(guān)。通常構(gòu)建交叉工具鏈有如下三種方法:(1)分步編譯和安裝交叉編譯工具鏈所需要的庫和源代碼,最終生成交叉編譯工具鏈。該方法相對(duì)比較困難,適合想深入學(xué)習(xí)構(gòu)建交叉工具鏈的讀者。如果只是想使用交叉工具鏈,建議使用下列的方法二構(gòu)建交叉工具鏈。(2)通過諸如Crosstool等腳本工具來實(shí)現(xiàn)一次編譯,生成交叉編譯工具鏈。該方法相對(duì)要簡單許多,并且出錯(cuò)的機(jī)會(huì)也非常少,建議大多數(shù)情況下使用該方法構(gòu)建交叉編譯工具鏈。(3)直接通過網(wǎng)上下載已經(jīng)制作好的交叉編譯工具鏈。該方法的優(yōu)點(diǎn)不用多說,當(dāng)然是簡單省事,但該方法有一定的弊端就是局限性太大,因?yàn)楫吘故莿e人構(gòu)建好的,也就是固定的,沒有靈活性,所以構(gòu)建所用的庫以及編譯器的版本也許并不適合6/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      你要編譯的程序,同時(shí)也許會(huì)在使用時(shí)出現(xiàn)許多莫名其妙的錯(cuò)誤,建議慎用此方法。

      對(duì)于新手而言,直接下載一些廠商提供的集成開發(fā)環(huán)境(IDE),能夠快速入手嵌入式開發(fā)。常用的IDE有Keil MDK、Xilinx ISE、Xilinx EDK、TKStudioIDE、Atmel的AVR Studio(for AVR以及AVR32)、Microchip的MPLab(for PIC、PIC18與dsPIC等)、Aiji的EDS(for ARM),南京萬利的MedWin(for 8051)、IAR Embedded Workbench等?!罢w解決方案是毒藥”,我們使用IDE但是不要迷信整體解決方案。

      嵌入式系統(tǒng)開發(fā)工具的發(fā)展已經(jīng)有二十多年的歷史,目前開放性和開放源碼成為一股強(qiáng)大的潮流,推動(dòng)嵌入式系統(tǒng)設(shè)計(jì)技術(shù)向前發(fā)展,傳統(tǒng)的嵌入式系統(tǒng)開發(fā)工具已不能適應(yīng)這一潮流。最新的發(fā)展趨勢是,使用Eclipse開放源碼集成化開發(fā)環(huán)境(IDE)平臺(tái),采用插件技術(shù),在這樣的平臺(tái)基礎(chǔ)上擴(kuò)展許多開發(fā)工具套件。越來越多的嵌入式系統(tǒng)軟件供應(yīng)商將Eclipse平臺(tái)作為自身工具的基礎(chǔ),推出個(gè)性化的開發(fā)工具套件,除提供標(biāo)準(zhǔn)的編譯器、編輯器、調(diào)試器,還提供增強(qiáng)的操作系統(tǒng)內(nèi)核級(jí)調(diào)試手段和高級(jí)的系統(tǒng)分析工具,如內(nèi)存泄漏檢測、系統(tǒng)性能監(jiān)控等??傊?,嵌入式開發(fā)工具將向高度集成、編譯優(yōu)化、具有系統(tǒng)設(shè)計(jì)、可視化建模、仿真和驗(yàn)證功能方向發(fā)展。

      1.5嵌入式系統(tǒng)的發(fā)展趨勢

      在嵌入式系統(tǒng)開發(fā)領(lǐng)域,技術(shù)發(fā)展的最新趨勢可以從企業(yè)層面、平臺(tái)層面和部件層面分別觀察,其核心是以盡可能快的速度、盡可能低的成本來滿足迅速變化的市場需求。(1)以往,嵌入式軟件開發(fā)的技術(shù)問題主要是在工程師和開發(fā)團(tuán)隊(duì)的層面來解決。不同的工程師和開發(fā)項(xiàng)目之間可以共享的資源并沒有得到足夠的重視和利用,這是業(yè)界經(jīng)常說的一個(gè)問題—制造每輛汽車都必須從輪子開始。共享資源、提高軟件部件的可重用性,這是整個(gè)軟件業(yè)界幾十年來的普遍趨勢,只是這個(gè)趨勢在嵌入式軟件領(lǐng)域的步伐比企業(yè)軟件慢了不少。隨著DSO(Device Software Optimization,設(shè)備軟件優(yōu)化)概念的提出,嵌入式軟件的可重用性將會(huì)得到快速提高。這就是嵌入式軟件在企業(yè)層面的主流趨勢。(2)從開發(fā)平臺(tái)層面來看,開放已經(jīng)成為一種主流思想,對(duì)于開放系統(tǒng)首先會(huì)讓人想到的就是Linux。不過,開放本身不是一種技術(shù),而是一種包容先進(jìn)技術(shù)的思路和方法。新技術(shù)往往是從封閉開始,通過走向開放而發(fā)揮更大的價(jià)值。(3)從部件層面來看,最主流的趨勢是多核技術(shù)的興起。這個(gè)趨勢從處理器芯片巨頭的動(dòng)向可以一目了然。對(duì)于嵌入式軟件工程師來講,采用開放、高效并且能夠讓自己不斷積累開發(fā)成果的開發(fā)平臺(tái)與工具,讓自己能夠?qū)W⒂诋a(chǎn)品功能特性的開發(fā),而不是花費(fèi)太多精力去做維護(hù)工具和基礎(chǔ)性、重復(fù)性的功能開發(fā)。

      7/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      二、嵌入式系統(tǒng)的學(xué)習(xí)實(shí)踐

      目前從事嵌入式開發(fā)的主要有兩類人。一類是學(xué)電子工程、通信工程等偏硬件專業(yè)出身的人,他們主要是搞硬件設(shè)計(jì),需要開發(fā)一些與硬件關(guān)系最密切的最底層軟件:BootLoader、Board SupportPackage(像PC的BIOS一樣,往下驅(qū)動(dòng)硬件,往上支持操作系統(tǒng)),最初級(jí)的硬件驅(qū)動(dòng)程序等。他們的優(yōu)勢是對(duì)硬件原理非常清楚,不足是他們更擅長定義各種硬件接口,但對(duì)復(fù)雜軟件系統(tǒng)往往力不從心(例如嵌入式操作系統(tǒng)原理和復(fù)雜應(yīng)用軟件等)。另一類是學(xué)軟件、計(jì)算機(jī)專業(yè)出身的人,主要從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開發(fā)。如果我們學(xué)軟件的人對(duì)硬件原理和接口有較好的掌握,我們完全也可寫B(tài)SP和硬件驅(qū)動(dòng)程序。嵌入式硬件設(shè)計(jì)完后,各種功能就全靠軟件來實(shí)現(xiàn)了,嵌入式設(shè)備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統(tǒng)的最主要工作。目前有很多公司將硬件設(shè)計(jì)包給了專門的硬件公司,稍復(fù)雜的硬件都交給臺(tái)灣或國外公司設(shè)計(jì),國內(nèi)的硬件設(shè)計(jì)力量很弱,很多嵌入式公司自己只負(fù)責(zé)開發(fā)軟件,因?yàn)楣径贾溃度胧疆a(chǎn)品的差異很大程度在軟件上,在軟件方面是最有“花頭”可做的,所以搞軟件的人完全不用擔(dān)心我們在嵌入式市場上的用武之地,越是智能設(shè)備越是復(fù)雜系統(tǒng),軟件越起關(guān)鍵作用,而且這是目前的趨勢。

      中國的學(xué)生能夠在大學(xué)相關(guān)課程中充分對(duì)MCU基礎(chǔ)知識(shí)進(jìn)行學(xué)習(xí),這已經(jīng)走在了很多國家(甚至包括日本)的前面。但中國新一代工程師面對(duì)的主要問題是如何去積累經(jīng)驗(yàn)。嵌入式系統(tǒng)的開發(fā)通常是硬件和軟件同時(shí)進(jìn)行的,其在開發(fā)過程中出現(xiàn)不良狀況的原因有可能是硬件或是軟件,有時(shí)甚至可能是兩者同時(shí)發(fā)生故障。在這樣的狀況下,就要求從事硬件的技術(shù)人員要相當(dāng)程度的懂得軟件,從事軟件的技術(shù)開發(fā)人員也要在一定程度上懂得硬件。另外,目前該行業(yè)存在最終產(chǎn)品的壽命較短的情況,這就意味著每年都有必要開發(fā)新的產(chǎn)品。但是從初級(jí)階段進(jìn)行開發(fā),需要花費(fèi)大量的開發(fā)成本及開發(fā)時(shí)間。因此,有效地歸納總結(jié)現(xiàn)有的開發(fā)成果,并有效地投入新開發(fā)中加以利用是十分重要的。

      很多工程師在設(shè)計(jì)嵌入式系統(tǒng)的時(shí)候往往選擇最底層的工具,把絕大部分的時(shí)間都花在了底層的細(xì)節(jié),而往往忽視了創(chuàng)新性和系統(tǒng)級(jí)的把握。工程師無論是為了自身的發(fā)展還是為了所設(shè)計(jì)產(chǎn)品的競爭力,這兩點(diǎn)其實(shí)都是至關(guān)重要的。

      首先是“工欲善其事,必先利其器”,若有條件要盡可能采用更快更強(qiáng)的工具進(jìn)行開發(fā)。其次是“磨刀不誤砍柴工”,要盡可能挖掘集成開發(fā)軟件中的資源,如花些時(shí)間去了解許多實(shí)用輔助軟件,如DMA、Cache和片內(nèi)帶寬分析工具等。同時(shí),在至少一個(gè)領(lǐng)域中具有深入的技術(shù)知識(shí)。工程師能夠分析問題或是編寫程序是遠(yuǎn)遠(yuǎn)不夠的,他們還要能夠利用自己的知識(shí)完成獨(dú)特創(chuàng)新的設(shè)計(jì)。所以,工程師要體現(xiàn)自身價(jià)值,必須有系統(tǒng)性的眼光,能夠進(jìn)行有創(chuàng)新性的設(shè)計(jì)。在這種情況下,工程師們更多的應(yīng)該從底層的編程細(xì)節(jié)中脫身,讓工具去處理那些“常

      8/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      規(guī)”事務(wù),而工程師本身就可以專注于自己的設(shè)計(jì)或研究領(lǐng)域,從更高的角度來看待自己在設(shè)計(jì)的系統(tǒng),而不是只見樹木,不見森林。

      三、實(shí)驗(yàn)內(nèi)容

      我所在的小組的實(shí)驗(yàn)任務(wù),基于ZedBoard-Zynq7000的μC/OS-III代碼的分析和調(diào)試,重點(diǎn)分析μC/OS-III操作系統(tǒng)的任務(wù)調(diào)度機(jī)制。

      3.1ZedBoard-Zynq7000介紹

      ZedBoard是一款基于賽靈思Zynq-7000可擴(kuò)展處理平臺(tái)(EPP)的低成本開發(fā)板,也是行業(yè)首款面向廣大開源小區(qū)的Zynq-7000 EP可擴(kuò)展處理平臺(tái)開發(fā)工具包。開發(fā)板為基于Linux、安卓、Windows或其它操作系統(tǒng)/實(shí)時(shí)操作系統(tǒng)的設(shè)計(jì)開發(fā)提供了所需的一切。另外,該平臺(tái)提供數(shù)款擴(kuò)展連接器,便于用戶訪問處理系統(tǒng)和可編程邏輯。Zynq-7000 EPP緊密集成了ARM?處理系統(tǒng)和7系列可編程邏輯,充分利用它們的優(yōu)勢,并結(jié)合ZedBoard可以開發(fā)出獨(dú)樹一幟且功能強(qiáng)大的設(shè)計(jì)。

      圖一:ZedBoard-Zynq7000 Zynq7000系列是基于Xilinx的可編程SOC架構(gòu),集成了一個(gè)雙核的ARM? Cortex?-A9 處理器,一個(gè)Xilinx可編程邏輯(PL)。Zynq7000集成有仿真芯片,提供了板載USB-JTAG編程、USB-UART,方便開發(fā)者進(jìn)行調(diào)試。

      9/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      圖二:Zynq-7000 AP SoC系統(tǒng)框架

      3.2軟件的安裝設(shè)置

      (1)安裝UART驅(qū)動(dòng)。目前只有32位版本的,在windows 7以下可安裝。在windows 8安裝失敗。

      (2)安裝Vivado Design Suite.選擇默認(rèn)安裝即可。

      (3)uCOS-III項(xiàng)目的構(gòu)建。Micrium-ZC702-uCOS-III源碼壓縮包中有“Micrium ZC702 uCOS-III Readme.pdf”說明書。打開Xilinx SDK,安裝說明書里面的步驟一步一步進(jìn)行配置即可完成uCOS-III 項(xiàng)目的構(gòu)建。

      3.3main函數(shù)分析

      結(jié)合《Micrium-uCOS-III-UserManual》對(duì)代碼進(jìn)行靜態(tài)分析,最好的方法是找到程序入口函數(shù)main(ZC702_uCOSIIIApplicationapp.c),然后在main函數(shù)內(nèi)逐行代碼分析從而對(duì)程序的流程有一個(gè)大體的了解。在分析過程中碰到關(guān)鍵或感興趣的函數(shù)或結(jié)構(gòu)可以進(jìn)一步跟入分析。

      intmain(void){ OS_ERR os_err;

      10/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      Xil_DCacheDisable();//關(guān)數(shù)據(jù)cache

      Xil_ICacheDisable();//關(guān) instruction cache

      Reset_Handler();/* Scatter loading is complete.*/ /* Now the caches can be activated.*/

      BSP_BranchPredictorEn();/* Enable branch prediction.*/

      BSP_L2C310Config();/* Configure the L2 cache controller.*/

      BSP_CachesEn();/* Enable L1 I&D caches + L2 unified cache.*/

      CPU_Init();/* Initialize the uC/CPU services */

      BSP_Init();

      OSInit(&os_err);/* Initialize uC/OS-III.*/

      OSTaskCreate((OS_TCB *)&AppTaskStartTCB,//任務(wù)控制塊 /* Create the start task */(CPU_CHAR *)“Startup Task”,(OS_TASK_PTR)AppTaskStart,//任務(wù)地址(void *)0,(OS_PRIO)APP_CFG_TASK_START_PRIO,(CPU_STK *)&AppTaskStartStk[0],(CPU_STK_SIZE)APP_CFG_TASK_START_STK_SIZE / 10u,(CPU_STK_SIZE)APP_CFG_TASK_START_STK_SIZE,(OS_MSG_QTY)0u,(OS_TICK)0u,(void *)0,(OS_OPT)(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),(OS_ERR *)&os_err);

      OSStart(&os_err);/* Start multitasking(i.e.give control to uC/OS-III).*/

      for(;;){

      11/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      } } 對(duì)main函數(shù)內(nèi)調(diào)用的一些函數(shù)和結(jié)構(gòu)做進(jìn)一步分析,可知OS_TCB(ZC702_uCOSIIIuCOS-IIISourceos.h)是系統(tǒng)用于表示一個(gè)任務(wù)的結(jié)構(gòu),是系統(tǒng)的核心數(shù)據(jù)結(jié)構(gòu)之一。OSInit(ZC702_uCOSIIIuCOS-IIISourceos_core.c)函數(shù)是值得重點(diǎn)看的函數(shù)。main->OSInit->OS_IdleTaskInit,通過調(diào)用OS_IdleTaskInit的調(diào)用創(chuàng)建了系統(tǒng)的一個(gè)名叫“uC/OS-III Idle Task”的任務(wù),其優(yōu)先級(jí)值為31。這個(gè)任務(wù)相應(yīng)執(zhí)行的函數(shù),基本沒有做任何操作,簡單對(duì)OSIdleTaskCtr、OSStatTaskCtr兩個(gè)系統(tǒng)計(jì)數(shù)進(jìn)行增加。OSIdleTaskHook()是用戶可以自定義的函數(shù),uCOS-III代碼中有大量這種Hook函數(shù),方便用戶進(jìn)行功能擴(kuò)展。當(dāng)然用戶也可直接對(duì)任意代碼進(jìn)行修改,但是對(duì)系統(tǒng)Hook函數(shù)進(jìn)行重寫能夠很好地保持原有uCOS-III系統(tǒng)的完整性。

      void OS_IdleTask(void *p_arg){ ??

      while(DEF_ON){

      CPU_CRITICAL_ENTER();

      OSIdleTaskCtr++;#if OS_CFG_STAT_TASK_EN > 0u

      OSStatTaskCtr++;#endif

      CPU_CRITICAL_EXIT();

      OSIdleTaskHook();/* Call user definable HOOK */

      } } main->OSInit->OS_TickTaskInit創(chuàng)建了一個(gè)名叫“uC/OS-III Tick Task”的任務(wù)(優(yōu)先級(jí)為10),任務(wù)的創(chuàng)建都得通過OSTaskCreate來創(chuàng)建,main函數(shù)中又創(chuàng)建“Startup Task”任務(wù)。這三個(gè)任務(wù)對(duì)應(yīng)的運(yùn)行函數(shù)內(nèi)都包含了while死循環(huán),因此系統(tǒng)運(yùn)行起來后至少有三個(gè)任務(wù),分別是Idle任務(wù)、Tick任務(wù)、Startup任務(wù)。

      3.4任務(wù)管理

      12/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      μC/OS-III支持多任務(wù),理論上可以支持任意多個(gè)任務(wù),但實(shí)際通常受限于系統(tǒng)內(nèi)存的多少。所有任務(wù)管理都是基于OS_TCB結(jié)構(gòu)來進(jìn)行的,接下來我們詳細(xì)分析OS_TCB的定義(uCOS-IIISourceos.h),可知一個(gè)任務(wù)有優(yōu)先級(jí)、狀態(tài)、堆棧,下面分別予以介紹。

      3.4.1 任務(wù)優(yōu)先級(jí)

      μC/OS-III的優(yōu)先級(jí)共有32個(gè)(0-31),數(shù)值越小優(yōu)先級(jí)越高,一般地優(yōu)先級(jí)0和31保留給系統(tǒng)使用。中斷處理任務(wù)的優(yōu)先級(jí)最高,空閑任務(wù)的優(yōu)先級(jí)最低。

      圖三:μC/OS-III任務(wù)優(yōu)先級(jí)

      3.4.2 任務(wù)的堆棧

      在利用OSTaskCreate創(chuàng)建新任務(wù)前,必須先創(chuàng)建好任務(wù)堆棧,如Startup任務(wù)就用如下代碼來分配堆棧:

      13/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      static CPU_STK

      AppTaskStartStk[APP_CFG_TASK_START_STK_SIZE]; 堆棧主要的大小是可以由用戶自己定義(需考慮任務(wù)里函數(shù)的嵌套層數(shù)和局部變量占用空間多少。另外在嵌入式開發(fā)中,應(yīng)盡可能避免遞歸的調(diào)用),堆棧是向下增長的。堆棧溢出(這里的溢出是指堆棧空間不夠用)是操作系統(tǒng)必須考慮的問題,μC/OS-III有三種解決方法:(1)利用內(nèi)存管理單元(MMU)或內(nèi)存保護(hù)單位(MPU);(2)利用某些CPU提供的堆棧溢出檢測功能;(3)基于軟件實(shí)現(xiàn)的堆棧溢出檢測。前兩者都依賴于硬件提供該功能。

      圖四:μC/OS-III堆棧結(jié)構(gòu)

      3.4.3 任務(wù)的狀態(tài)

      OS_TCB結(jié)構(gòu)中的TaskState表示任務(wù)的狀態(tài)。在μC/OS-III中,從用戶的角度來看任務(wù)有五個(gè)狀態(tài):靜止(Dormant)、就緒(Ready)、運(yùn)行(Running)、掛起(Pending)、中斷(Inrerrupted)。任務(wù)的狀態(tài)是動(dòng)態(tài)轉(zhuǎn)換的,構(gòu)造好OS_TCB結(jié)構(gòu)后,此時(shí)任務(wù)處于靜止?fàn)顟B(tài),OSTaskCreate函數(shù)中調(diào)用OS_TaskInitTCB函數(shù)將任務(wù)狀態(tài)設(shè)為OS_TASK_STATE_RDY并調(diào)用OS_RdyListInsertTail將任務(wù)插入相應(yīng)優(yōu)先級(jí)的就緒隊(duì)列中。

      14/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      圖五:任務(wù)狀態(tài)的轉(zhuǎn)換

      3.5就緒任務(wù)的管理

      任務(wù)在運(yùn)行前都處于就緒狀態(tài)或中斷狀態(tài),CPU的調(diào)度基本上就是以某種策略從所有就緒任務(wù)中挑選一個(gè)任務(wù)運(yùn)行。μC/OS-III利用一個(gè)就緒優(yōu)先級(jí)位圖和一個(gè)就緒隊(duì)列表來管理就緒任務(wù)。

      OSInit->OS_PrioInit()中對(duì)任務(wù)優(yōu)先級(jí)位圖表進(jìn)行了初始化。μC/OS-III 有OS_CFG_PRIO_MAX優(yōu)先級(jí)(見os_cfg.h),優(yōu)先級(jí)值越小表示優(yōu)先級(jí)越高。優(yōu)先級(jí)0表示最高級(jí)別,優(yōu)先級(jí)OS_CFG_PRIO_MAX-1最低(在本實(shí)驗(yàn)中OS_CFG_PRIO_MAX=32).如果某個(gè)優(yōu)先級(jí)上存在就緒的任務(wù),那么就在位圖表中相應(yīng)的位設(shè)置為1,否則設(shè)置為0.位圖寬度可以是8bit、16bit、32bit,這樣依賴于CPU_DATA的值即依賴所用CPU的特性(本實(shí)驗(yàn)中是32bit,優(yōu)先級(jí)總數(shù)為

      15/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      32,因此位圖大小為32*1)。查找最高就緒的優(yōu)先級(jí),只需在優(yōu)先級(jí)位圖中找第一不為0的bit。

      OS_PRIO OS_PrioGetHighest(void){ CPU_DATA *p_tbl;OS_PRIO prio;prio =(OS_PRIO)0;p_tbl = &OSPrioTbl[0];while(*p_tbl ==(CPU_DATA)0){

      prio += DEF_INT_CPU_NBR_BITS;)p_tbl++;} prio +=(OS_PRIO)CPU_CntLeadZeros(*p_tbl);return(prio);}

      圖六:就緒優(yōu)先級(jí)位圖

      就緒列表實(shí)際上是一包含OS_CFG_PRIO_MAX個(gè)OS_RDY_LIST(見os.h)類型實(shí)體的數(shù)組(OSRdyList[])。OS_RDY_LIST實(shí)體包含三個(gè)成員:Entries、TailPtr、HeadPtr。Entries表示該優(yōu)先級(jí)別上任務(wù)個(gè)數(shù),TailPtr和HeadPt用于創(chuàng)建包含該所有優(yōu)先級(jí)別上的就緒任務(wù)的雙向鏈表。代碼中包含了OS_RdyListInit()、16/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      OS_RdyListInsert()、OS_RdyListInsertHead()、OS_RdyListInsertTail()、OS_RdyListMoveHeadToTail()、OS_RdyListRemove()等函數(shù)用于操作就緒列表。

      圖七:任務(wù)創(chuàng)建后加入就緒列表

      3.6 任務(wù)調(diào)度

      3.6.1 任務(wù)搶占

      在μC/OS-III中,任務(wù)調(diào)度器(scheduler)即分發(fā)器(dispatcher)負(fù)責(zé)任務(wù)的調(diào)度。μC/OS-III使用基于優(yōu)先級(jí)、搶占式的調(diào)度策略。搶占是指當(dāng)由于某種原因使更高優(yōu)先級(jí)任務(wù)變成就緒狀態(tài)(較當(dāng)前任務(wù)),那么調(diào)度器立即將CPU分別給該更高優(yōu)先級(jí)任務(wù),而當(dāng)前任務(wù)變成掛起狀態(tài)。類似地,當(dāng)中斷服務(wù)程序(ISR)將一個(gè)處于掛起狀態(tài)的更高優(yōu)先級(jí)任務(wù)喚醒時(shí),當(dāng)前被中斷的任務(wù)保持掛起狀態(tài),被喚醒的那個(gè)更高優(yōu)先級(jí)任務(wù)得到執(zhí)行。如圖八,是一種直接的搶占方式,μC/OS-III還支持一種較Post Defferd即延時(shí)的搶占方式(圖九)。延時(shí)搶占方式,多一步ISR Handler(在操作系統(tǒng)中被稱為中斷軟處理,主要目的是減少關(guān)中斷的時(shí)間)用于處理在ISR(中斷硬處理)中來不及處理事情。

      17/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      圖八:任務(wù)搶占

      圖九:帶延遲處理的任務(wù)搶占

      3.6.2輪轉(zhuǎn)調(diào)度

      如果未開啟輪轉(zhuǎn)策略,正在執(zhí)行的任務(wù)除非主動(dòng)放棄執(zhí)行(包括等待某些時(shí)間、或者調(diào)用睡眠函數(shù))或者被搶占,那么同級(jí)別的任務(wù)得等到該任務(wù)執(zhí)行完采用機(jī)會(huì)執(zhí)行。當(dāng)同一個(gè)優(yōu)先級(jí)上有兩個(gè)以上就緒任務(wù)時(shí),μC/OS-III 采用時(shí)間片策略使得該優(yōu)先級(jí)上所有任務(wù)得到依次輪轉(zhuǎn)執(zhí)行。當(dāng)然如果一個(gè)任務(wù)的時(shí)間片未

      18/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      用完,也可主動(dòng)放棄CPU使得下個(gè)任務(wù)得到執(zhí)行。輪轉(zhuǎn)調(diào)度策略不是必須的,μC/OS-III允許用戶開啟或關(guān)閉該策略。

      圖九:時(shí)間片調(diào)度

      3.6.3 調(diào)度時(shí)機(jī)

      調(diào)度可能發(fā)生時(shí)機(jī)包括:(1)一個(gè)任務(wù)給其他任務(wù)發(fā)送(send)消息或信號(hào)時(shí);(2)任務(wù)OSTimeDly()或者OSTimeDlyHMSM();(3)任務(wù)調(diào)用等待函數(shù)OS???Pend()等待尚未發(fā)生的任務(wù);(4)任務(wù)放棄掛起:其它任務(wù)調(diào)用OS???PendAbort()改變該任務(wù)狀態(tài);(5)任務(wù)創(chuàng)建時(shí):創(chuàng)建的任務(wù)可能擁有比當(dāng)前任務(wù)較高優(yōu)先級(jí);(6)任務(wù)被刪除時(shí):如果該任務(wù)就是當(dāng)前任務(wù);(7)內(nèi)核對(duì)象被刪除時(shí);(7)任務(wù)優(yōu)先級(jí)發(fā)生改變時(shí);(8)任務(wù)調(diào)用OSTaskSuspend()掛起自己;(9)任務(wù)調(diào)用OSTaskResume()喚醒了其它任務(wù);(10)所有嵌套的ISR退出時(shí):調(diào)度由OSIntExit()發(fā)起而不是OSSched();(11)調(diào)度器被解鎖;(12)任務(wù)調(diào)用OSSchedRoundRobinYield()主動(dòng)放棄時(shí)間片;(12)用戶調(diào)用了OSSched();(13)任務(wù)時(shí)間片用完了。

      3.6.4 調(diào)度實(shí)現(xiàn)

      調(diào)度器的實(shí)現(xiàn)在函數(shù)OSSched()和OSIntExit()中。其中,OSSched()由任務(wù)級(jí)別代碼發(fā)起而OSIntExit()是有中斷服務(wù)程序發(fā)起。任務(wù)的調(diào)度是基于前面提及的就緒任務(wù)的相關(guān)數(shù)據(jù)結(jié)構(gòu):就緒優(yōu)先級(jí)位圖和就緒隊(duì)列。

      19/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      圖十:調(diào)度時(shí)主要用到的數(shù)據(jù)結(jié)構(gòu)

      3.7 上下文切換

      上下文切換:當(dāng)μC/OS-III要執(zhí)行另一任務(wù)時(shí),需要將當(dāng)前任務(wù)使用的那些CPU寄存器值保存當(dāng)前任務(wù)堆棧中,同時(shí)加載要執(zhí)行的任務(wù)的上下文給CPU的寄存器進(jìn)而開始另一任務(wù)的執(zhí)行。上下文切換存在一些開銷,通常CPU寄存器越多(任務(wù)用到的寄存器越多),開銷就會(huì)越大。上下文切換的時(shí)間開銷取決于有多少個(gè)CPU寄存器需要被存儲(chǔ)和載入。

      圖十一:上下文在堆棧中的存儲(chǔ)

      20/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      存在兩種上下文的切換:普通任務(wù)的上下文切換、中斷服務(wù)程序的上下文切換。前者在函數(shù)OSCtxSw()中實(shí)現(xiàn)(其實(shí)是由宏OS_TASK_SW()調(diào)用,后者在函數(shù)OSIntCtxSw()中實(shí)現(xiàn)。這兩個(gè)函數(shù)都是采用匯編語言實(shí)現(xiàn),因此是CPU相關(guān)的(見uCOS-IIIPortsARM-Cortex-AGenericGNU os_cpu_a_vfp-d32.S)。這里只介紹OSCtxSw()的實(shí)現(xiàn)。

      OSIntCtxSw:

      BL OSTaskSwHook@ OSTaskSwHook()@

      MOVW R0, #:lower16:OSPrioCur@ OSPrioCur = OSPrioHighRdy@ MOVT R0, #:upper16:OSPrioCur MOVW R1, #:lower16:OSPrioHighRdy MOVT R1, #:upper16:OSPrioHighRdy LDRB R2, [R1] STRB R2, [R0]

      MOVW R0, #:lower16:OSTCBCurPtr@ OSTCBCurPtr = OSTCBHighRdyPtr@ MOVT R0, #:upper16:OSTCBCurPtr MOVW R1, #:lower16:OSTCBHighRdyPtr MOVT R1, #:upper16:OSTCBHighRdyPtr LDR R2, [R1] STR R2, [R0] LDR SP, [R2] @ SP = OSTCBHighRdyPtr->OSTCBStkPtr@

      OS_CPU_ARM_FP_REG_POP R0 @ RESTORE NEW TASK'S CONTEXT: LDMFD SP!, {R0} @ Pop new task's CPSR, MSR SPSR_cxsf, R0 LDMFD SP!, {R0-R12, LR, PC}^ @ Pop new task's context.如圖,當(dāng)有更高優(yōu)先級(jí)就緒任務(wù)需要被執(zhí)行,任務(wù)調(diào)度器就會(huì)調(diào)用OSCtxSW()。主要有以下步驟:

      (1)OSTCBCurPtr指向當(dāng)前正運(yùn)行的任務(wù)對(duì)應(yīng)的OS_TCB,然后任務(wù)級(jí)調(diào)度器調(diào)用OSSched().(2通過OSTCBHighRdyPt指針,可以找到即將要運(yùn)行的任務(wù)的OS_TCB;(3)OSTCBHighRdyPtr->StkPtr指向?qū)⒁粓?zhí)行的任務(wù)的堆棧的頂部;(4)執(zhí)行任務(wù)上下文切換,將CPU的相關(guān)寄存器存儲(chǔ)到當(dāng)前任務(wù)(即將被調(diào)出CPU的任務(wù))的堆棧。由于保存了上下文(以棧幀形式存儲(chǔ)),將來該任務(wù)可以被恢復(fù)現(xiàn)場,以便繼續(xù)運(yùn)行。

      (5)調(diào)用OSSched()后,CPU堆棧指針TSP會(huì)指向任務(wù)的堆棧。

      21/ 22

      《嵌入式技術(shù)》學(xué)習(xí)總結(jié)報(bào)告

      圖十二:OSCtxSw()所執(zhí)行操作

      四、工作總結(jié)

      學(xué)習(xí)嵌入式,顯然應(yīng)偏重于嵌入式軟件,特別是嵌入式操作系統(tǒng)方面。對(duì)于搞嵌入式軟件的人,最重要的技術(shù)顯然是:(1)掌握主流嵌入式微處理器的結(jié)構(gòu)與原理。(2)必須掌握一個(gè)嵌入式操作系統(tǒng)。(3)必須熟悉嵌入式軟件開發(fā)流程并至少做過一個(gè)嵌入式軟件項(xiàng)目。

      通過本門課程的學(xué)習(xí),我對(duì)嵌入式系統(tǒng)有了較直觀的理解,并加深了操作系統(tǒng)一些概念的理解。但畢竟時(shí)間有限,希望可以在后續(xù)的進(jìn)一步學(xué)習(xí)中加強(qiáng)實(shí)踐,希望早日能在嵌入式領(lǐng)域做一些開發(fā)工作。

      22/ 22

      第三篇:嵌入式學(xué)習(xí)的總結(jié)感想

      亞嵌嵌入式培訓(xùn)感想

      我是一名2009年畢業(yè)的大學(xué)生,畢業(yè)后不知道自己想做什么,對(duì)自己也沒有一個(gè)正確的定位,當(dāng)時(shí)年輕的我做了一個(gè)現(xiàn)在看來不是那么好的決定,于是我踏入社會(huì)的第一份工作讓我在一年后變得迷茫、不知所措,于是我離職了,開始尋找新的方向。思前想后,結(jié)合大學(xué)學(xué)習(xí)的專業(yè)以及自己的興趣,我選擇了嵌入式Linux軟件開發(fā),到亞嵌成都中心培訓(xùn)了4個(gè)多月時(shí)間。

      在這4個(gè)多月時(shí)間里,我集中學(xué)習(xí)了嵌入式Linux編程、最小系統(tǒng)、驅(qū)動(dòng)開發(fā)等課程,總體來講還是收獲滿多的,對(duì)嵌入式軟件開發(fā)從應(yīng)用到驅(qū)動(dòng)到最終的硬件操作都有了一個(gè)整體的認(rèn)識(shí),打好了相關(guān)的技術(shù)基礎(chǔ),為我新的職業(yè)規(guī)劃提供了能力的保障。由于我們學(xué)員大多數(shù)是社會(huì)在職人士,一般來參加培訓(xùn)以前都不是做這個(gè)方向的,短時(shí)間的培訓(xùn)學(xué)到了不少基礎(chǔ)知識(shí),在學(xué)習(xí)的過程中應(yīng)該更加注重實(shí)際項(xiàng)目的實(shí)踐,多了解些實(shí)際項(xiàng)目用到的一些技術(shù)知識(shí),以盡量彌補(bǔ)我們在工作經(jīng)驗(yàn)上的欠缺,亞嵌成都中心的項(xiàng)目都很有針對(duì)性,而且是開發(fā)過程中的項(xiàng)目,這點(diǎn)幫助非常大。另外,機(jī)會(huì)對(duì)我們初入一個(gè)行業(yè)是至關(guān)重要的,我們應(yīng)該比別人更加積極去爭取,和相關(guān)領(lǐng)導(dǎo)溝通,表現(xiàn)出我們的決心和信心,以及我們對(duì)于這份工作的熱愛,這樣我們才能在原本處于劣勢的激烈競爭中打敗那些社會(huì)在職人士得到一個(gè)好的機(jī)會(huì)。當(dāng)你努力為自己贏得了一個(gè)機(jī)會(huì),那么用你最多的付出把握好這個(gè)機(jī)會(huì),選擇一個(gè)適合自己的方向,堅(jiān)持下去,讓自己的職業(yè)生涯步上新的臺(tái)階。

      從個(gè)人學(xué)習(xí)體會(huì)來看,對(duì)于嵌入式的學(xué)習(xí),基礎(chǔ)很重要,實(shí)踐更重要。我們有很多方向,有很多可以選擇的,但是一定得選擇一個(gè)真正適合自己的方向,如果喜歡應(yīng)用就選應(yīng)用,喜歡驅(qū)動(dòng)就選驅(qū)動(dòng)。我們每個(gè)人的時(shí)間、精力都是有限的,以前我總覺得自己應(yīng)該學(xué)會(huì)C++,學(xué)會(huì)Qt,到現(xiàn)在我才明白,其實(shí)C語言的應(yīng)用都很廣泛,學(xué)而不精,還不如學(xué)少點(diǎn),搞精點(diǎn)。學(xué)而只知其皮毛,倒不如不學(xué)。我們應(yīng)該合理的規(guī)劃自己有限的時(shí)間,把好鋼都用到刀刃上,這樣才能出成績,才能有足夠的實(shí)力去贏得寶貴的機(jī)會(huì)。

      現(xiàn)在我已經(jīng)選擇了自己的方向,我會(huì)一直堅(jiān)持下去,感謝亞嵌成都的老師在我學(xué)習(xí)過程中給我的幫助。最后分享一下我的信念:只要敢于堅(jiān)持自己的夢想,堅(jiān)信付出一定會(huì)有回報(bào)。

      ----第37期學(xué)員

      索*鋒

      2012-2-28

      第四篇:學(xué)習(xí)日語之后的感想

      日本語を?qū)Wんだ後

      今まで、私は日本語を勉強(qiáng)するのはもう一年になりました。昔、私は日本語を理解していなかった。今年中に私は多くを?qū)Wんだ。そらから、日本語を?qū)W習(xí)は非常に面白いとおもいて。

      日本語の勉強(qiáng)は始めたばかりのころは、日本語が簡単だった。平仮名やカタカナや漢字や日本語の発音は易しかった。助詞やアクセントはちょっと難しかった。教科書のCDは速くありません。日本語の勉強(qiáng)すればするほど難しくなります。特に日本語の文法はとても難しいだ。そして、どうきゅうせいは全部非常に真剣に勉強(qiáng)する。

      わたしたちの日本語の先生、さかさんとかびさんとここさんは優(yōu)しい先生で、全部はいいです。それに、この一年間には私はただ日本語の勉強(qiáng)だけではなくて、日本の文化もたくさん了解しました。日本語の勉強(qiáng)をきかけにして、日本料理にも、日本の服裝にも、日本の祭りまでにも関心を持つようになりました。これらのことも勉強(qiáng)の楽しみです。

      要するに、日本語の授業(yè)はとても難しいだ。しかし、おもしろいし、それに楽しいだ。言葉の勉強(qiáng)は日々の努力の積み重ねだ。私はまだ學(xué)ぶために行く多くの場所を持っている。これから、もっと頑張ろうと思います。皆さん、頑張りましょう。

      第五篇:學(xué)習(xí)瑜伽之后的感想

      序號(hào): 1110119 動(dòng)科一班 吳芳麗 得分:

      上課時(shí)間:周三下午五六節(jié)

      學(xué)習(xí)瑜伽課后的感想

      一個(gè)學(xué)期快過去了,雖然夏老師給我們的授課時(shí)間有限,但是在她的悉心教導(dǎo)下我們都學(xué)到了很多東西,也讓我們對(duì)瑜伽有了更全面的了解認(rèn)識(shí)。夏老師上課生動(dòng)活潑,記憶尤深的是老師教我們的敲腿減肥放松法,堅(jiān)持下來好多同學(xué)都說有效果呢。自己每天也都有根據(jù)老師的指導(dǎo)做瑜伽練習(xí),所以積累了一些小小的心得體會(huì),在這里跟大家總結(jié)分享。

      首先,說一下我自身的情況,一開始做的時(shí)候,可能是我的韌帶天生比較緊,自己平時(shí)又沒有怎么鍛煉,所以在做瑜伽動(dòng)作的時(shí)候很不標(biāo)準(zhǔn)而且特別吃力,尤其是彎腰的時(shí)候,嘗試手觸地,或者是更標(biāo)準(zhǔn)的做前胸貼大腿那個(gè)動(dòng)作,就感覺膝蓋處的韌帶很痛,像是已經(jīng)被拉到極限了,但是反觀自己的動(dòng)作,跟老師要達(dá)到的標(biāo)準(zhǔn)相比,還差了好遠(yuǎn)好遠(yuǎn)。在老師的教導(dǎo)下,自己也沒有氣餒,配合呼吸,每天每次都下去一點(diǎn)點(diǎn),再下去一點(diǎn)點(diǎn),現(xiàn)在的情況跟以前相比真的是進(jìn)步已經(jīng)很大了,自己感覺很開心,雖然跟標(biāo)準(zhǔn)動(dòng)作相比還差了一些。因?yàn)楝F(xiàn)在的我明白,其實(shí)瑜伽并不是非要達(dá)到那個(gè)很高的標(biāo)準(zhǔn),只要做到自己力所能及的程度就好了。所以每次都是盡力做到自己的極限,每次都進(jìn)步一點(diǎn)點(diǎn),這樣就足夠了,這就是我體會(huì)的瑜伽。

      老師說練瑜伽最基本也是最重要的就是呼吸。自己在練習(xí)的過程中也是深有體會(huì)。在剛開始學(xué)瑜伽時(shí),我不怎么注重呼吸,做一些有難度吃力的動(dòng)作時(shí)總是憋著氣,用力往下做到標(biāo)準(zhǔn),尤其是增強(qiáng)脊椎延伸式和交換腿伸展式,我的頭根本沒法接觸小腿,胸部也貼不到大腿,身體不能“折疊”,總是特別疼,特別吃力。但在后來經(jīng)過老師的反復(fù)強(qiáng)調(diào)后,我每次練習(xí)的時(shí)候都不憋氣了,配合呼吸每次讓動(dòng)作進(jìn)步一點(diǎn)點(diǎn),到現(xiàn)在,我做的幅度大了許多,越來越接近標(biāo)準(zhǔn),并且能在極限處停留很久。

      本人覺得除了呼吸外,瑜伽最重要的還有放松這一程序。每當(dāng)做完一個(gè)動(dòng)作,都會(huì)覺得肌肉酸疼,這時(shí)老師會(huì)提醒讓我們放松剛剛鍛煉到的部位,然后酸痛感就會(huì)減弱。前面剛開始的時(shí)候不怎么理解,覺得無所謂,結(jié)果前兩次上完瑜伽課后的幾天里都是腰酸背痛的,感覺挺累的。后來聽了老師的指導(dǎo),放松一下身體,不但這種酸痛感消失了,練習(xí)完瑜伽之后的幾天反而覺得神清氣爽,感覺超好。

      還有就是大家公認(rèn)的也是最難做好的一條——要想練好瑜伽,就必須得堅(jiān)持不懈。每天或隔天練習(xí)一次,這樣才不會(huì)覺得生疏,韌帶的拉伸是一個(gè)循序漸進(jìn)的過程,就好似學(xué)習(xí)語言,幾天不碰就生疏了?,F(xiàn)在我每天都堅(jiān)持練瑜伽,它就成了我生活的一部分,它帶給我健康,教會(huì)了我在繁忙的一天后放松身心。

      下載學(xué)習(xí)嵌入式技術(shù)之后的感想[合集]word格式文檔
      下載學(xué)習(xí)嵌入式技術(shù)之后的感想[合集].doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        有關(guān)嵌入式的感想

        長春大學(xué) 有關(guān)車載ARM嵌入式的感想 專業(yè):電子信息工程 班級(jí): 電信四班13404 學(xué)號(hào):021340424 學(xué)號(hào):021340423 姓名: 牟吉峰姓名:溫如軒 學(xué)號(hào):021340425 學(xué)號(hào):021340427 姓名: 馬浩然......

        入黨之后感想

        入黨后的感想 首先我要感謝老師同學(xué)對(duì)我的支持與認(rèn)可,能夠加入中國共產(chǎn)黨,并成為其中的一員,我感到非常的榮幸!在加入到黨組織的這段期間,我更加的明白作為一名黨員身上肩負(fù)的責(zé)......

        《感恩》之后感想

        總結(jié)觀看《感恩》之后感想 觀看了李強(qiáng)導(dǎo)師的啟智訓(xùn)練《感恩》后,從中得到了啟發(fā)和感觸,即要有一顆感恩的心。我感到感恩是每個(gè)人都應(yīng)有的道德準(zhǔn)則,也是做人的起碼的修養(yǎng),更是一......

        學(xué)習(xí)《世界經(jīng)濟(jì)地理》之后的一些感想

        學(xué)習(xí)《世界經(jīng)濟(jì)地理》之后的一些感想 學(xué)習(xí)世界經(jīng)濟(jì)地理課程,我對(duì)世界上各個(gè)國家又有了更深的了解,各國的經(jīng)濟(jì)、地理、礦產(chǎn)、人文、···是十分豐富的,其中包含的各種知識(shí)在實(shí)......

        電工技術(shù)學(xué)習(xí)感想

        電工學(xué)的應(yīng)用于學(xué)習(xí)感想 電工學(xué)是高等工科院校非電專業(yè)學(xué)生的一門技術(shù)基礎(chǔ)課。通過該課程的學(xué)習(xí) 使大家獲得電工技術(shù)的基本理論和基本知識(shí),受到基本技能訓(xùn)練,提高獨(dú)立分析 問......

        《物證技術(shù)學(xué)》學(xué)習(xí)感想

        《物證技術(shù)學(xué)》學(xué)習(xí)感想 一接觸物證技術(shù)學(xué)這門課程,我便被其中廣博的物證技術(shù)知識(shí)深深吸引。由于高中選擇的是理科,我對(duì)教材中的化學(xué)物證和生物物證部分立刻就產(chǎn)生了十足的親......

        多媒體技術(shù)學(xué)習(xí)感想

        多媒體技術(shù)學(xué)習(xí)感想 - 對(duì)于多媒體技術(shù),我起初并沒有太過重視,因?yàn)槲乙恢闭J(rèn)為多媒體技術(shù)其實(shí)很簡單,一直以來我以為多媒體技術(shù)也就是做PPT,也就是做幻燈片啥的;并沒有其他的東西;而......

        嵌入式系統(tǒng) 課程感想

        《嵌入式系統(tǒng)設(shè)計(jì)》課程感想 班級(jí):電氣99姓名:王正杰學(xué)號(hào):09095018 雖然上完了整門課,但是還是對(duì)嵌入式和嵌入式系統(tǒng)等最基本的概念不是很了解。于是自己動(dòng)手查閱了一些資料,其中......