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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM7&ARM9雙核平臺(tái)的技術(shù)分析

          ARM7&ARM9雙核平臺(tái)的技術(shù)分析

          作者: 時(shí)間:2011-02-15 來源:網(wǎng)絡(luò) 收藏
          目前系統(tǒng)教學(xué)平臺(tái)市場(chǎng)上的主導(dǎo)產(chǎn)品都是基于ARM7或ARM9架構(gòu)的,一般都認(rèn)為ARM7屬于低端產(chǎn)品、ARM9屬于高端產(chǎn)品,也出現(xiàn)了所謂的“ARM7ARM9覆蓋高端低端的教學(xué)平臺(tái)”。宣傳“兩套CPU子板都是可以自由插拔,一套實(shí)驗(yàn)系統(tǒng)變化為兩套,ARM7的實(shí)驗(yàn)系統(tǒng)可以實(shí)現(xiàn)基礎(chǔ)的ARM教學(xué),主要包括指令實(shí)驗(yàn),基礎(chǔ)接口實(shí)驗(yàn),UCOS-II操作系統(tǒng)實(shí)驗(yàn)和uCLinux操作系統(tǒng)實(shí)驗(yàn);ARM9的實(shí)驗(yàn)系統(tǒng)可以實(shí)現(xiàn)高端的ARM教學(xué),主要包括擴(kuò)展接口實(shí)驗(yàn),Linux操作系統(tǒng)實(shí)驗(yàn)和WinCE操作系統(tǒng)實(shí)驗(yàn)?!?BR>
          這種觀點(diǎn)有誤導(dǎo)用戶的嫌疑。因?yàn)锳RM9和ARM7同屬于ARMv41,是屬于中低端系列的ARM微處理器。目前市場(chǎng)上真正高端的ARM架構(gòu)處理器是與ARMV5TE體系兼容的IntelXScale,如PXA255和PXA270。

          教學(xué)平臺(tái)的發(fā)展來看,未來會(huì)形成兩個(gè)發(fā)展方向。即一方面向高端的XScale系列發(fā)展,主要面向計(jì)算機(jī)、軟件等專業(yè),這一類高端平臺(tái)具有強(qiáng)大的計(jì)算能力和多媒體功能,教學(xué)內(nèi)容側(cè)重于操作系統(tǒng)、驅(qū)動(dòng)程序和軟件應(yīng)用,培養(yǎng)消費(fèi)電子、手持設(shè)備、無線網(wǎng)絡(luò)、手機(jī)游戲等領(lǐng)域的嵌入式軟件人才;另一方面就是ARM7/ARM9系列的中低端教學(xué)平臺(tái),主要面向電子工程、自動(dòng)化、儀器儀表等專業(yè),這類平臺(tái)具有豐富的接口和功能,教學(xué)內(nèi)容側(cè)重于微處理器接口設(shè)計(jì)、驅(qū)動(dòng)開發(fā)和系統(tǒng)應(yīng)用,培養(yǎng)工業(yè)自動(dòng)化、測(cè)控、智能儀表等應(yīng)用領(lǐng)域的嵌入式技術(shù)人才。
          宣稱采用兩種CPU子板的方式,實(shí)現(xiàn)ARM7ARM9的功能,是完全沒有必要的,而且增加了用戶的成本的維護(hù)的復(fù)雜性,其原因如下:

          1、從ARM體系結(jié)構(gòu)的教學(xué)內(nèi)容上看,ARM9的指令集完全兼容ARM7,教學(xué)上沒有任何區(qū)別。所以ARM指令實(shí)驗(yàn)和基礎(chǔ)接口實(shí)驗(yàn)不是ARM7的專利,做過ARM系統(tǒng)開發(fā)的人都很清楚,用ARM9一樣可以完成ARM7的這些教學(xué)實(shí)驗(yàn)內(nèi)容;

          2、從操作系統(tǒng)的教學(xué)內(nèi)容上看,目前教學(xué)中大都采用μCOS-II或Linux。μCOS-II代碼簡單,易教易學(xué),Linux功能強(qiáng)大,但對(duì)學(xué)生的基礎(chǔ)要求較高。目前市場(chǎng)上大多數(shù)ARM7教學(xué)平臺(tái)都支持μCOS-II或uCLinux,ARM9基本上都支持Linux和WinCE。但μCOS-II不是ARM7的專利,在ARM9上完全可以運(yùn)行。而uClinux是Linux的一個(gè)子集,無論是從開發(fā)著者的角度還是從教學(xué)的角度去理解,Linux系統(tǒng)可以完全兼容uCLinux的應(yīng)用。

          宣稱支持ARM7和ARM9的雙內(nèi)核,主要原因是因?yàn)樗麄兊募夹g(shù)能力較弱,無法完成μCOS-II在ARM9上的移植和擴(kuò)展工作,所以采用ARM7來彌補(bǔ)μCOS-II的教學(xué)內(nèi)容。試想,如果有一款A(yù)RM9平臺(tái),能夠運(yùn)行μCOS-II、Linux、WinCE等操作系統(tǒng),我們?yōu)槭裁催€需要ARM7來畫蛇添足呢?事實(shí)上,這樣的平臺(tái)已經(jīng)有了,一些技術(shù)實(shí)力較強(qiáng)的公司已經(jīng)把μCOS-II移植到了ARM9上,如UP-NETARM2410和UP-NETARM2410S等。

          3、從硬件設(shè)計(jì)的教學(xué)內(nèi)容上看,支持ARM7和ARM9的雙內(nèi)核的平臺(tái),造成了硬件資源的浪費(fèi),難以發(fā)揮ARM7和ARM9各自的優(yōu)勢(shì)。比如:用s3c44b0和s3c2410處理器作為ARM7和ARM9的內(nèi)核,s3c2410平臺(tái)支持USBhost和USBclient,支持真彩色TFTLCD。而主平臺(tái)為了兼容s3c44b0,不得不使用256色STN的LCD;如果要想有USBhost或者client接口,不得不使用其他芯片外擴(kuò)。這都會(huì)使ARM9處理器的功能受到限制,不能充分發(fā)揮ARM9處理器的性能。

          4、從產(chǎn)品的成本的服務(wù)維護(hù)上看,采用支持ARM7和ARM9的雙內(nèi)核的平臺(tái),無疑會(huì)增加產(chǎn)品的成本,因?yàn)榻虒W(xué)平臺(tái)最貴的芯片就是微處理器和存儲(chǔ)器,而從教學(xué)角度看,這部分增加的成本是沒有意義的。如果從科學(xué)角度看,這種做法又浪費(fèi)資源,其性價(jià)比無不如一塊開發(fā)板。此外,采用支持ARM7和ARM9的雙內(nèi)核的平臺(tái),降低了系統(tǒng)的可靠性,學(xué)生在實(shí)驗(yàn)過程中,會(huì)經(jīng)常切換兩種內(nèi)核,其損壞的概率會(huì)大大增加,增加后續(xù)維護(hù)成本。

          由此可見,僅僅一個(gè)ARM9平臺(tái)就可以同時(shí)滿足中低端教學(xué)的需求,額外添加ARM7去滿足低端教學(xué)任務(wù),只能認(rèn)為是畫蛇添足。平白增添了硬件成本,還限制了硬件平臺(tái)的擴(kuò)展。

          教學(xué)的目的應(yīng)該是為了讓學(xué)生學(xué)到一種嵌入式平臺(tái)開發(fā)和設(shè)計(jì)的方法,其變化主要體現(xiàn)在運(yùn)行不同操作系統(tǒng)上,而不是硬件是否采用ARM7還是ARM9上。教學(xué)思想應(yīng)是“授人以漁”,學(xué)生學(xué)到的是設(shè)計(jì)方法,將來不管是ARM7,ARM9,還是XScale,甚至包括MIPS、alpha、68k、powerpc等其它體系結(jié)構(gòu)的微處理器,對(duì)于一個(gè)優(yōu)秀的嵌入式系統(tǒng)工程師來說都是一樣的。
          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(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); })();