<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 分析ARM嵌入式系統(tǒng)應(yīng)用中的問題總結(jié)

          分析ARM嵌入式系統(tǒng)應(yīng)用中的問題總結(jié)

          作者: 時(shí)間:2018-08-07 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201808/385769.htm

          如果選擇了帶存儲(chǔ)器管理單元(MMU)的處理器(如920T、CortexA8等),這種系統(tǒng)根據(jù)、實(shí)時(shí)性、開發(fā)環(huán)境等因素,移植一個(gè)功能較強(qiáng)的操作系統(tǒng)一般情況下會(huì)比較合適,如Linux、WinCE,甚至新的Android等。這種系統(tǒng)的開發(fā)難度主要是在OS的移植以及硬件驅(qū)動(dòng)程序的開發(fā)上。當(dāng)這二步工作完成后,主要的軟件開發(fā)工作已和在PC機(jī)上開發(fā)沒有多大區(qū)別,可以按照一般的軟件工程方法來進(jìn)行,要注意的只是與 硬件平臺(tái)相關(guān)的軟件優(yōu)化問題。

          由于系統(tǒng)硬件資源的有限性,軟件與其他軟件的主要區(qū)別,在于軟件要有較高的效率,包括執(zhí)行速度和存儲(chǔ)空間,盡管這二者經(jīng)常是相互矛盾的。目前一般要求更多的是速度優(yōu)化。要編寫出高效的ARM程序,需要開發(fā)人員熟悉ARM的體系結(jié)構(gòu),包括內(nèi)核結(jié)構(gòu)、指令系統(tǒng)、Cache與存儲(chǔ)器結(jié)構(gòu)等,還要有好的程序設(shè)計(jì)思想,以及對(duì)一些常用函數(shù)、算法的深刻理解。這個(gè)過程也是ARM系統(tǒng)開發(fā)從低級(jí)到高級(jí)的進(jìn)階之路。

          目前,由于應(yīng)用系統(tǒng)越來越復(fù)雜,嵌入式軟件的移植性和重用性也得到了人們的高度重視,因?yàn)樗苯佑绊懙角度胧杰浖拈_發(fā)效率和質(zhì)量。選擇一種通用的開發(fā)環(huán)境和高級(jí)編程語言,使開發(fā)的嵌入式軟件可以方便地移植到不同的硬件平臺(tái),是實(shí)現(xiàn)軟件重用的基礎(chǔ)。目前在ARM嵌入式系統(tǒng)開發(fā)中,ARM RealView、Keil以及IAR的EWARM是較好的開發(fā)平臺(tái),C/C++語言是應(yīng)用最廣泛的編程語言,并具有廣泛的庫函數(shù)、程序支持,在今后很長(zhǎng)一段時(shí)間內(nèi),仍將在嵌入式系統(tǒng)應(yīng)用領(lǐng)域中占重要地位。

          4 嵌入式系統(tǒng)的教學(xué)

          如今,嵌入式系統(tǒng)作為一個(gè)熱門領(lǐng)域,其教學(xué)問題也頗受高校的關(guān)注。教學(xué)的主要目的是培養(yǎng)社會(huì)需要的人,由于嵌入式系統(tǒng)的廣泛性、差異性,社會(huì)對(duì)從事嵌入系統(tǒng)開發(fā)人員的要求也有很大的不同,既需要從事簡(jiǎn)單8/16位單片機(jī)開發(fā)的人員,也需要從事 ARM、DSP開發(fā)的人員;既要有從事硬件、底層軟件開發(fā)的人員,也要有從事OS移植、應(yīng)用軟件開發(fā)的人員。由于整個(gè)大學(xué)學(xué)習(xí)時(shí)間和課程教學(xué)時(shí)數(shù)的限制,一個(gè)人顯然不可能學(xué)習(xí)、掌握嵌入系統(tǒng)開發(fā)的各個(gè)層面。所以,各個(gè)學(xué)校首先應(yīng)根據(jù)自身情況,明確定位,確定自己培養(yǎng)學(xué)生的社會(huì)適應(yīng)面,然后再制定教學(xué)大綱,確定課程內(nèi)容和實(shí)驗(yàn)平臺(tái)。對(duì)于高職、普通高校的電類與非電類專業(yè)、軟件學(xué)院等,都應(yīng)該有不同的選擇,而不是人云亦云,一哄而上。

          就目前的發(fā)展看,由于ARM等32位處理器應(yīng)用漸成主流,開發(fā)工具已較完善、成熟,對(duì)于普通高校計(jì)算機(jī)學(xué)科的嵌入式系統(tǒng)教學(xué),筆者認(rèn)為可以定位在以32位嵌入式系統(tǒng)開發(fā)為主,重點(diǎn)是嵌入式系統(tǒng)的軟硬件結(jié)構(gòu)、嵌入式OS的知識(shí),以及嵌入式軟件設(shè)計(jì)(包括優(yōu)化)。課程主體內(nèi)容基本與硬件平臺(tái)(處理器型號(hào))無關(guān),實(shí)驗(yàn)可以采用基于ARM核的不同廠家處理器的實(shí)驗(yàn)平臺(tái)。主要考慮以下幾點(diǎn):

          ①在32位嵌入式系統(tǒng)開發(fā)上,軟件開發(fā)人員的需求比硬件開發(fā)人員要多得多(盡管目前硬件開發(fā)人員較難找,但這應(yīng)該是電子等專業(yè)培養(yǎng)的)。一般在一個(gè)從事嵌入式應(yīng)用系統(tǒng)開發(fā)的公司中,軟硬件人員的比例不會(huì)小于10:1。由于學(xué)習(xí)時(shí)間有限,教學(xué)重點(diǎn)應(yīng)該偏軟件。

          ②現(xiàn)代社會(huì)強(qiáng)調(diào)分工、合作,以求得整體利益的最大化。對(duì)個(gè)人的要求首先是專才,能把局部工作做精、做好。通才是需要的,但數(shù)量會(huì)比專才少得多,而且通才是練出來的,不是教出來的。今后的大學(xué)是大眾教育,教學(xué)只能面向大眾需求。在相關(guān)專業(yè)的研究生階段,對(duì)一些有基礎(chǔ)、有興趣的學(xué)生,可以進(jìn)行一些系統(tǒng)級(jí)硬件、底層軟件的開發(fā)實(shí)踐,同時(shí)也可滿足社會(huì)對(duì)高層次嵌入式人才的需要。

          ③以此為主,可以再開設(shè)2門選修課。向下為“單片機(jī)原理與應(yīng)用”,此課程以實(shí)踐為主,讓有興趣的學(xué)生可以自己設(shè)計(jì)、制作一些單片機(jī)應(yīng)用系統(tǒng),同時(shí)也鍛煉了硬件動(dòng)手能力。向上為“數(shù)字信號(hào)處理(DSP)”,讓那些數(shù)學(xué)基礎(chǔ)較好、對(duì)實(shí)時(shí)信號(hào)處理有興趣的學(xué)生有用武之地(現(xiàn)在這樣的學(xué)生很難得)。

          另外,由于應(yīng)用日趨復(fù)雜,而教學(xué)時(shí)間有限,一個(gè)本科生在校期間不可能深入學(xué)習(xí)嵌入式系統(tǒng)的很多細(xì)節(jié),嵌入式教學(xué)應(yīng)采用自上而下的教學(xué)方法。一開始不必花很多時(shí)間講解處理器內(nèi)核架構(gòu)/指令系統(tǒng),只要知道各種內(nèi)核的基本特點(diǎn)即可,重點(diǎn)學(xué)習(xí)、掌握處理器、外設(shè)的編程結(jié)構(gòu)(即編程者角度看到的編程模型結(jié)構(gòu),非具體物理實(shí)現(xiàn)結(jié)構(gòu))。真實(shí)的應(yīng)用、研究設(shè)計(jì)都是從粗粒度向細(xì)粒度進(jìn)階的,是一個(gè)自頂向下的過程,首先要重視的是系統(tǒng)架構(gòu)和各個(gè)抽象層。1000行的C程序,編譯后生成的目標(biāo)代碼只有10 KB左右,試想現(xiàn)在的MCU Flash動(dòng)輒幾百KB,為什么?一個(gè)目標(biāo)代碼幾百KB的C程序,一般不是完全由個(gè)人寫出來的,而都會(huì)使用一些第三方的庫函數(shù)、中間件等。硬件也一樣,現(xiàn)在很多硬件系統(tǒng)都會(huì)使用一些模塊(Module),盡管這些模塊看上去還是一個(gè)芯片,但實(shí)際上已經(jīng)是一個(gè)SiP模塊,如WiFi模塊。所以,在了解基本嵌入式系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,本科階段要更多地學(xué)習(xí)各種系統(tǒng)、模塊、外設(shè)、協(xié)議、庫函數(shù)的“邊界(InteRFace)”,能夠搭建一個(gè)簡(jiǎn)單系統(tǒng)(How to do),今后在工作、或研究生階段進(jìn)一步去做好一個(gè)系統(tǒng)(How to do better)。

          5結(jié)語

          嵌入式系統(tǒng)作為一種特殊的計(jì)算機(jī)應(yīng)用系統(tǒng),在任何時(shí)期都有相對(duì)的高、中、低端應(yīng)用,即使在今后,沒有OS支持的4位或8位單片機(jī)的嵌入式應(yīng)用仍有大量需求,但趨勢(shì)是系統(tǒng)化、復(fù)雜化。這既是嵌入式系統(tǒng)的特點(diǎn)--廣泛性、差異性和不可壟斷性,也是廣大嵌入系統(tǒng)研發(fā)人員的生存與發(fā)展空間。ARM處理器在便攜、手持式設(shè)備以及工業(yè)控制等應(yīng)用領(lǐng)域,在今后相當(dāng)長(zhǎng)的時(shí)間內(nèi)是一個(gè)很好的選擇。當(dāng)然,沒有一種型號(hào)的處理器是可以覆蓋所有應(yīng)用的,也不是搬上一個(gè)嵌入式OS,就可以很好地解決軟件問題的。深入了解各種器件特性,選擇最合適的處理器、外圍器件、操作系統(tǒng)和軟件庫,盡可能地優(yōu)化軟件設(shè)計(jì),最貼切地滿足應(yīng)用需求,以獲得最好的系統(tǒng)性價(jià)比,是嵌入式系統(tǒng)設(shè)計(jì)開發(fā)的精髓。


          上一頁 1 2 下一頁

          關(guān)鍵詞: ARM 嵌入式 應(yīng)用

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();