關(guān)于嵌入式教學(xué)中選用系統(tǒng)的感受
一. ARM7 vs ARM9
UP-NETARM3000和UP-NETARM300采用基于ARM7TDMI核的三星S3C44B0芯片,該芯片是目前國(guó)內(nèi)使用最廣的經(jīng)典ARM芯片,非常適合教學(xué);和ARM7相比,應(yīng)該說ARM9在性能方面有很大提高,但ARM9更適合作為產(chǎn)品開發(fā)平臺(tái),并不適合作為教學(xué)平臺(tái)。
ARM7比ARM9更適合教學(xué)。體現(xiàn)如下:
- 從硬件設(shè)計(jì)方面,ARM7主頻在30-100MHz左右,學(xué)生完全可以掌握其設(shè)計(jì)技術(shù),而ARM9在100-200MHz左右,屬高速設(shè)計(jì),至少有3年以上經(jīng)驗(yàn)的硬件工程師才可能進(jìn)行設(shè)計(jì),一般學(xué)生很難掌握。
- 從軟件設(shè)計(jì)方面,在教學(xué)中采用源碼開發(fā)的操作系統(tǒng)已成為共識(shí),ARM7資源緊湊,適合運(yùn)行ucos和ucLinux等源碼開放的操作系統(tǒng),在教學(xué)中能夠充分體現(xiàn)嵌入式系統(tǒng)對(duì)資源、成本、可靠性有嚴(yán)格需要的特點(diǎn);而ARM9是系統(tǒng)集成度更高的SOC,適合跑WinCE、Linux等高級(jí)操作系統(tǒng),用于教學(xué)是“大馬拉小車”,這樣造成學(xué)生在設(shè)計(jì)時(shí)往往不會(huì)關(guān)注資源、成本、可靠性的限制,就如同用一臺(tái)PC進(jìn)行教學(xué)一樣,無法體現(xiàn)嵌入式教學(xué)的特點(diǎn)。
- 從應(yīng)用方面,而ARM7芯片價(jià)格比ARM9低得多,而且ARM7芯片是目前嵌入式產(chǎn)品市場(chǎng)的主流,占90%以上,很多手機(jī)、小靈通等產(chǎn)品都是基于ARM7的,就如同目前單片機(jī)開發(fā)與教學(xué)絕大多數(shù)采用51體系一樣,ARM7就是32位微處理器領(lǐng)域的51,至少有10年左右的生命力,這也如同單片機(jī)教學(xué)很少講16位的80186一樣。
是不是ARM9就比ARM7高級(jí)呢?
嵌入式教學(xué)設(shè)備和PC不一樣,PC強(qiáng)調(diào)“性能”,而教學(xué)設(shè)備強(qiáng)調(diào)“功能”,設(shè)備是否高級(jí),在于“功能”,而不在于“性能”,教學(xué)設(shè)備的特點(diǎn)是使用簡(jiǎn)單,盡量減輕教師和學(xué)生的使用負(fù)擔(dān)。博創(chuàng)的UP-NETARM3000和UP-NETARM300是功能完備的教學(xué)設(shè)備,完全體現(xiàn)了功能強(qiáng)大、簡(jiǎn)單易學(xué)的教學(xué)特點(diǎn)。
這就和現(xiàn)代《計(jì)算機(jī)體系結(jié)構(gòu)》、《計(jì)算機(jī)組成》、《微機(jī)原理》等課程仍在使用4位、8位機(jī)進(jìn)行教學(xué)實(shí)驗(yàn)案例而不選用P4級(jí)CPU做為實(shí)驗(yàn)案例一個(gè)道理,因?yàn)?位、8位機(jī)作為教學(xué)已經(jīng)足夠了,即容易理解,又能講清知識(shí)和問題,因?yàn)榻虒W(xué)中講的是知識(shí)和概念,而不是CPU的性能。
高級(jí)的嵌入式實(shí)驗(yàn)教學(xué)設(shè)備的“高級(jí)”應(yīng)體現(xiàn)在教學(xué)內(nèi)容和使用功能的高級(jí)方面,而不是單純的性能“高級(jí)”。博創(chuàng)的UP-NETARM3000和UP-NETARM300采用雙操作系統(tǒng),可通過更換核心模塊從ucos教學(xué)升級(jí)到ucLinux教學(xué),兩種操作系統(tǒng)都具有完整的教學(xué)體系和實(shí)驗(yàn)課件,這是其它任何教學(xué)設(shè)備所不具備的。
二. Linux VS uC/OS-II
的確,Linux很熱門,而且是未來幾年的發(fā)展方向。但在教學(xué)中,我們必須正視這樣一些現(xiàn)實(shí):桌面操作系統(tǒng)主流仍為Windows系統(tǒng),絕大多數(shù)老師和學(xué)生沒有或很少使用Linux,而且本科生階段也很少開設(shè)Linux相關(guān)課程。而開展ARM+Linux教學(xué)至少要有Linux應(yīng)用經(jīng)驗(yàn),否則在教學(xué)中要花很大精力去講授Linux操作系統(tǒng)知識(shí)、ARM微處理器知識(shí)、Linux下的編程與交叉編譯技術(shù),在實(shí)驗(yàn)中要熟悉Linux開發(fā)環(huán)境、進(jìn)行實(shí)際編程訓(xùn)練,我們都知道,上面的每個(gè)知識(shí)點(diǎn)花一門課去講授都不為過,把這么多內(nèi)容都放在一門課上講解,很難保證教學(xué)質(zhì)量。
因此,嵌入式教學(xué)必須從學(xué)生實(shí)際情況出發(fā),制定相應(yīng)的教學(xué)計(jì)劃和選擇實(shí)驗(yàn)設(shè)備,不能只追求“高級(jí)”和“流行”,而忽略教學(xué)過程中最關(guān)鍵的環(huán)節(jié)“學(xué)生接受能力”,應(yīng)做到因材施教,因勢(shì)利導(dǎo),才能達(dá)到最好的教學(xué)效果。
博創(chuàng)的UP-NETARM3000和UP-NETARM300教學(xué)平臺(tái)充分考慮了嵌入式教學(xué)的上述特點(diǎn),即在Linux還不普及的情況下,對(duì)大多數(shù)專業(yè)而言,采用源碼開發(fā)的操作系統(tǒng)ucos是最好的選擇,ucos源代碼簡(jiǎn)單經(jīng)典,容易學(xué)習(xí)和接受,在Windows環(huán)境下開發(fā),容易理解和學(xué)習(xí),通過30-40學(xué)時(shí)的講解和實(shí)驗(yàn),學(xué)生能夠充分掌握嵌入式開發(fā)的要點(diǎn),清華、北航的教學(xué)實(shí)踐充分證明了這一點(diǎn),80%的學(xué)生都獨(dú)立或合作開發(fā)出了基于嵌入式小游戲,保證了教學(xué)效果;在未來兩年內(nèi),很多高校都會(huì)開設(shè)Linux相關(guān)基礎(chǔ)課程,那時(shí)通過更換核心模塊或重新燒寫系統(tǒng),UP-NETARM 3000和UP-NETARM300會(huì)輕松升級(jí)到Linux,ucos和ucLinux可以滿足絕大多數(shù)嵌入式教學(xué)的要求。
嵌入式系統(tǒng)教學(xué)是一門新課,涉及電子、計(jì)算機(jī)、軟件等諸多專業(yè)學(xué)科,對(duì)授課老師要求較高,選擇合適的教學(xué)體系和實(shí)驗(yàn)設(shè)備對(duì)教學(xué)順利開展和保證教學(xué)質(zhì)量至關(guān)重要;博創(chuàng)的UP-NETARM3000和UP-NETARM300教學(xué)平臺(tái)具有配套教材、教案、實(shí)驗(yàn)指導(dǎo)書、實(shí)驗(yàn)課件、網(wǎng)上教學(xué)輔導(dǎo)一整套完整的解決方案,為教師和學(xué)生提供了最大限度的教學(xué)資源,減輕教與學(xué)的負(fù)擔(dān)。
更為重要的一點(diǎn),是博創(chuàng)的教學(xué)體系和實(shí)驗(yàn)課件已經(jīng)在清華大學(xué)、北京航空航天大學(xué)、南開大學(xué)等國(guó)內(nèi)一流高校教學(xué)中得到了實(shí)際應(yīng)用,經(jīng)過兩年多實(shí)際教學(xué)的反復(fù)完善,已經(jīng)成熟,通過學(xué)生的反饋意見被證明是成功的,完全可以推廣到其它各個(gè)高校。而其它的嵌入式教學(xué)平臺(tái)的課件只是其開發(fā)人員的一些技術(shù)資料,沒有經(jīng)過教學(xué)驗(yàn)證。采用這樣的平臺(tái)在教學(xué)中會(huì)有很大的風(fēng)險(xiǎn)性。
因此,嵌入式教學(xué)必須從學(xué)生實(shí)際情況出發(fā),制定相應(yīng)的教學(xué)計(jì)劃和選擇實(shí)驗(yàn)設(shè)備,不能一味追求“高級(jí)”和“流行”,而忽略教學(xué)過程中最關(guān)鍵的環(huán)節(jié)“學(xué)生接受能力”,應(yīng)做到因材施教,因勢(shì)利導(dǎo),才能達(dá)到最好的教學(xué)效果。