嵌入式系統(tǒng)教學模式探討
從1985年初接觸單片機到現(xiàn)在已有20余年,親歷我國嵌入式系統(tǒng)的發(fā)展,也從事著嵌入式系統(tǒng)教學的探索。在社會上開始單片機培訓7年后高校才大規(guī)模開設單片機課程,而嵌入式系統(tǒng)課程只是全面鋪開,并沒有形成由應用推動的嵌入式系統(tǒng)教學體系,這值得探討和反思。
由8/16位單片機到采用32位嵌入式處理器的嵌入式系統(tǒng),一方面是互聯(lián)網(wǎng)的普及和高端應用的需求,另一方面是8位單片機對半導體公司來說利潤空間已經(jīng)很小。由全國大學生電子設計競賽組委會主辦、Intel公司協(xié)辦的“全國大學生電子設計競賽——嵌入式系統(tǒng)專題競賽”進一步豐富了全國大學生電子設計競賽的形式和內(nèi)容,推動了高校信息電子類專業(yè)教學改革、課程體系及實驗室建設,各高校紛紛開設嵌入式系統(tǒng)課程。2002年舉辦的首屆嵌入式系統(tǒng)專題競賽采用Intel公司提供的基于StrongARM和Windows CE的開發(fā)板。只有北京大學參賽隊采用了Linux操作系統(tǒng),并最終獲得了Intel杯。嵌入式系統(tǒng)不只是ARM和Linux的組合,可用于嵌入式應用的微處理器和嵌入式操作系統(tǒng)種類繁多。下面評介流行的、適合嵌入式系統(tǒng)教學的微處理器和嵌入式操作系統(tǒng),探討嵌入式系統(tǒng)教學模式和經(jīng)驗。
1 嵌入式處理器
用于嵌入式應用的處理器可分為4類:微控制器(即俗稱單片機,Microcontroller Unit,MCU)、嵌入式微處理器(Embedded Microprocessor Unit,EMPU)、信號處理領域的DSP處理器(Digital Signal Processor,DSP)和高度集成的片上系統(tǒng)(System on Chip,SoC)。目前用于教學的嵌入式處理器大致形成了以8位、16位和32位劃分的局面。
單片機教學最流行的是8051系列。8051是Intel公司1980年設計的8位MCU。20世紀80年代中期,Intel公司將8051單片機內(nèi)核使用權(quán)以專利互換或出售形式轉(zhuǎn)讓給世界許多著名的IC制造廠商,如Philips、Atme1、Dallas、Infineon、ADI、Winbond和Silicon Labs公司等,這樣8051就變成有眾多制造廠商支持的、發(fā)展出上百個品種的大家族。到目前為止,其他任何一個單片機系列均未發(fā)展到如此的規(guī)模,近30年一直是普遍流行的產(chǎn)品,如此具有生命力。8051是單片機教學的首選機型,已成為單片機領域的實際標準?,F(xiàn)在C8051F系列和STC89系列就是8051生命力的最好體現(xiàn),前一種是SoC型單片機,功能更強,后一種價格相當便宜。Oregano System公司的Core8051 IP和Synopsys公司的DW8051_core是與8051指令兼容的8位單片機IP核?;贗P核和FPGA的SoC設計方法具有極大的靈活性,可以大大縮短項目的開發(fā)周期。
Microchip公司的PIC系列倚靠大學計劃,使得在單片機教學中采用PIC系列單片機的高校不少。值得欣賞的是這個公司非常專注,它把8位PIC單片機做到了60億顆?,F(xiàn)在他們才用MIPS核推出32位微控制器。MIPS是美國計算機體系結(jié)構(gòu)課教學機型,國產(chǎn)的龍芯CPU就是MIPS兼容的。Atmel公司的AVR系列同PIC系列一樣也是RISC結(jié)構(gòu)的單片機,得益于啟東人成長起來的雙龍公司代理該系列產(chǎn)品。AVR系列單片機也在教學中采用,甚至推廣到了中學課外科技活動中。這些從國內(nèi)出版的單片機教材中可見一斑。
在DSP芯片教學中,TI公司做得最好,TMS320C54x系列靠大學計劃得到普及。該公司后續(xù)推廣的TMS320C240系列和MSP430系列單片機也得益于大學計劃。ADI公司也利用大學計劃推廣DSP芯片。Freescale公司(原Motorola公司半導體部)大學計劃推廣DSP芯片、通信用PowerPC芯片和單片機。
ARM公司是一家不生產(chǎn)芯片,只提供IP授權(quán)的公司,它的產(chǎn)品已經(jīng)成為32位嵌入式系統(tǒng)的事實標準。ARM嵌入式處理器以它獨特的IP授權(quán)形式得到了眾多半導體廠家的青睞。DSP生產(chǎn)廠家購買它的RISC核做雙核芯片,PLD生產(chǎn)廠商購買其IP核支持SoC設計,大多數(shù)半導體廠商設計MPU或MCU。NXP公司(原Philips公司半導體部)靠廣州周立功公司的推廣,其LPC系列ARM7核微控制器在教學中得到采用。采用ARM公司最新Cortex核的意法半導體公司的STM32系列和Luminary公司的群星系列微控制器正在推廣過程中。ARM9核芯片方面,因NXP公司和Atmel公司的芯片都不帶LCD控制器,做實驗箱普遍都采用了三星公司的S3C2410芯片。但三星公司對散客沒有支持,優(yōu)勢只是價格便宜。Intel公司出售了ARM核的XScale,主推自己的EIA架構(gòu),對高端嵌入式系統(tǒng)教學有一定的影響。
SoC片上系統(tǒng)更是嵌入式系統(tǒng)的終極目標。大學計劃做得最好的是Altera公司,它推出了Nios軟核的SOPC解決方案,并舉辦創(chuàng)新競賽。Xilinx公司也有大學計劃,推廣Microblaze軟核FPGA。現(xiàn)在還有Actel公司,在推廣帶ARM CortexM硬核和8051軟核的FPGA芯片。
總之,嵌入式系統(tǒng)教學用處理器應選用主流芯片,或有廠家大學計劃支持的芯片。若教學偏重硬件設計,要教會學生制板、做硬件應用系統(tǒng),最好選擇8/16位芯片、ARM7或CortexM芯片。200MHz以上的ARM9芯片對布線的要求高,而且表面貼裝引腳較多的芯片也需要專門的焊接設備。
2 嵌入式操作系統(tǒng)
Linux從1991年問世到現(xiàn)在,短短十幾年時間已經(jīng)發(fā)展成為功能強大、設計完善的操作系統(tǒng)之一,不僅可以與各種傳統(tǒng)的商業(yè)操作系統(tǒng)抗爭,在新興的嵌入式系統(tǒng)領域內(nèi)也獲得了飛速發(fā)展。嵌入式Linux以其可應用于多種硬件平臺、內(nèi)核高效穩(wěn)定、開放源碼、軟件豐富、完善的網(wǎng)絡通信和文件管理機制等優(yōu)良特性,成為嵌入式系統(tǒng)領域中的一個研究熱點。Linux開放源碼及內(nèi)核可裁減非常適用于嵌入式系統(tǒng)教學。要注意,沒有MMU的微控制器只能使用μClinux,要使用流行的圖形用戶界面GUI需要ARM9以上的微處理器和普通Linux操作系統(tǒng)。
Windows CE是微軟公司從整體上為有限資源的平臺設計的多線程、完整優(yōu)先權(quán)、多任務的操作系統(tǒng)。它的模塊化設計允許對從掌上電腦到專用工業(yè)控制器的用戶電子設備進行定制。微軟公司的大學計劃支持高校的嵌入式系統(tǒng)教學,提供有時間限制的安裝軟件光盤和完整的教學課件。會微機編程的人能夠很容易上手Windows CE編程,軟件學院教學選用它很合適。更重要的是微軟提供完整的解決方案,學生可以專注于應用的開發(fā)。
VxWorks操作系統(tǒng)是美國WindRiver公司于1983年設計開發(fā)的一種實時操作系統(tǒng)。VxWorks擁有良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在實時操作系統(tǒng)領域占據(jù)一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術(shù)及實時性要求極高的領域中。VxWorks是商業(yè)化強實時操作系統(tǒng),價格較高。風河公司有大學計劃支持嵌入式系統(tǒng)教學。現(xiàn)在它從FSMlabs購買了RTLinux,對實時Linux開發(fā)設計提供專業(yè)的開發(fā)平臺。
μC/OS是由美國人Jean J.Labrosse開發(fā)的實時嵌入式操作系統(tǒng)內(nèi)核。這個內(nèi)核的產(chǎn)生和Linux有點相似:
由于從事嵌入式產(chǎn)品的相關(guān)開發(fā)和Labrosse本人的興趣,他花了一年時間開發(fā)了這個最初名為μC/OS的實時操作系統(tǒng)。值得注意的是μC/OS只是一個操作系統(tǒng)內(nèi)核,沒有文件系統(tǒng)、網(wǎng)絡協(xié)議和圖形用戶界面。μC/OS是開源的,但不免費。針對教育和非商業(yè)應用只要買Labrosse的書即可得到光盤上的源碼,但用其開發(fā)產(chǎn)品是要付費的。周立功公司購買了μC/OS授權(quán),自己設計了文件系統(tǒng)ZLG/FS、網(wǎng)絡協(xié)議ZLG/IP和圖形用戶界面ZLG/GUI,提供了開發(fā)平臺。Labrosse的Micrium公司通過北京麥克泰軟件公司代理其產(chǎn)品。該軟件代碼很規(guī)范,沒有使用操作系統(tǒng)課程中很專業(yè)的進程和線程的概念,只使用了任務,適合沒有學過操作系統(tǒng)課程的開發(fā)人員學習。
總之,嵌入式系統(tǒng)教學用嵌入式操作系統(tǒng)也要慎重選擇,能選用主流或有廠家大學計劃支持的更好。一般只需選擇一種,從精通一種到能開發(fā)項目。實際上一通百通,再學習其他的操作系統(tǒng)也不困難。
本文引用地址:http://cafeforensic.com/article/201706/349428.htm
3 嵌入式系統(tǒng)教學探索
3.1 應用推動嵌入式教學
筆者1985年起給單片機培訓班上課,當時的培訓班學員來自研究所、公司和高校。培訓班的目的是銷售和培訓廠商的開發(fā)工具,不收取費用。很多學員都有項目需求,學會使用工具后直接參與項目。這種單片機推廣培訓開展7年后,國內(nèi)高校才大規(guī)模開課。由于單片機應用已經(jīng)全面鋪開,高校培養(yǎng)的學生很容易找到工作。
現(xiàn)在的嵌入式系統(tǒng)教學很大程度上不是由應用來推動的,而是跟著實驗箱廠家提供的內(nèi)容來規(guī)劃授課內(nèi)容,包括接口技術(shù)、匯編編程、C語言編程、操作系統(tǒng)移植。甚至ARM加Linux似乎就是嵌入式系統(tǒng)。存在的問題是,Linux開放源代碼、免費但無人支持,一旦碰到難點只能網(wǎng)上求援。很多小公司吃了苦頭,再不敢用Linux做產(chǎn)品;有的轉(zhuǎn)向Windows CE,因為無法把握產(chǎn)品的開發(fā)周期,而且人員成本較大。雖然Linux可以免費得到,但是其上流行的圖形用戶界面GUI又是收費的,按照GPL協(xié)議還得公開自己的源碼。Linux的教學難度也很大,一般學過操作系統(tǒng)才好辦。最早的嵌入式系統(tǒng)課將很大精力消耗在教學生怎么用Linux,直到計算機操作系統(tǒng)課加了Linux上機實驗上手才比較順利。從Intel公司大學計劃送給高校教學用的PDA參考設計——SitSang板子的培訓教師看,硬件部分的培訓教師是板子的設計者,是學電子技術(shù)的,主要講硬件原理,軟件只是用C語言編寫測試程序來測試板子的各個部件是否工作正常;軟件部分的培訓教師是學計算機的,主要講如何移植Linux、設計驅(qū)動程序和應用程序??梢姶蠊拒浻布瞬欧止ず苊鞔_。
實際上一個項目的軟硬件開發(fā)人員比例可以到8∶2。也就是說若有10人,其中做硬件的只有2人,大部分人要開發(fā)軟件。硬件有參考設計原理圖,做出來即可;而軟件體現(xiàn)著創(chuàng)意,體現(xiàn)產(chǎn)品的附加值。軟件很重要,拿VCD機和蘋果公司的iPOD比較,國內(nèi)VCD機只能賣到幾百元,而蘋果公司的iPOD要賣幾千元。硬件成本兩者相比差不多,關(guān)鍵是軟件。微軟的移動和嵌入式研討會令人感到震撼。微軟資助用Windows Mobile開發(fā)云南白藥集團企業(yè)管理用手機和城管通手機:
企業(yè)銷售人員用前者隨時和企業(yè)聯(lián)系,一次拜訪客戶即可把訂單做好;城管通手機使城管監(jiān)督員可將所在地點的門牌標識和臟亂差的情況拍照,直接發(fā)送給城管部門。微軟公司介入嵌入式領域,提供的是完整的解決方案,用戶很快就能開發(fā)出產(chǎn)品。反觀國內(nèi)的嵌入式Linux,還陷在移植和底層接口模塊的使用上。一般來講這些適合偏硬件的人員做,距離做出產(chǎn)品還相去甚遠。半導體廠商偏愛Linux是因為它是免費的,只要移植到評估板上就能證明處理器是正常工作的。真正要能開發(fā)出產(chǎn)品還得搭建應用平臺。目前大的廠商都有手機平臺、PDA平臺或汽車電子平臺。軟件類嵌入式系統(tǒng)教學應該與硬件類嵌入式系統(tǒng)教學有所不同,應側(cè)重平臺搭建、GUI應用的開發(fā),讓學生能把自己的創(chuàng)意實現(xiàn)出來。至于編程,應以C語言為主、匯編語言為輔,優(yōu)化則采用模塊化混合編程。嵌入式系統(tǒng)課的實踐性非常強,要上成理論課就失去了它的意義。
3.2 嵌入式系統(tǒng)的專業(yè)化分工
嵌入式系統(tǒng)教學需要前期開設的基礎課有:模擬電路和數(shù)字電路、微機原理或計算機組成原理、計算機接口技術(shù)、操作系統(tǒng)、C語言程序設計。嵌入式系統(tǒng)支柱學科有:微電子學科、計算機學科、電子技術(shù)學科及對象學科。微電子學科、計算機學科、電子技術(shù)學科為嵌入式應用構(gòu)筑各種類型的應用平臺,不介入嵌入式系統(tǒng)的具體應用;對象學科一定要在嵌入式系統(tǒng)應用平臺的基礎上,實現(xiàn)嵌入式系統(tǒng)在本學科領域的產(chǎn)品化應用,不必介入嵌入式系統(tǒng)的平臺構(gòu)建。操作系統(tǒng)的構(gòu)建應該定位在計算機學科領域。在對象領域中,操作系統(tǒng)被視為工具,只需了解操作系統(tǒng)與應用界面?;诖?,各個專業(yè)的嵌入式系統(tǒng)教學應有所側(cè)重,不能千篇一律;只有把國內(nèi)的嵌入式應用推動起來,培養(yǎng)的學生才能好找工作。這樣看來,本科教學中,電子技術(shù)專業(yè)應側(cè)重講接口技術(shù)和驅(qū)動程序設計,非電類的對象應用專業(yè)應側(cè)重單片機接口和C語言編程技術(shù),計算機專業(yè)應側(cè)重GUI應用和驅(qū)動程序。至于操作系統(tǒng)移植,并非一般教學內(nèi)容,應安排在本科畢業(yè)設計或研究生階段教學。實際教學能做到“師傅領進門,修行在個人”即可,主要是培養(yǎng)學生對嵌入式系統(tǒng)的興趣,而不能因涉及面太廣、難度太大而把學生們嚇跑。各高校嵌入式系統(tǒng)課多為選修課,學時有限,規(guī)劃主要的教學內(nèi)容和實驗內(nèi)容側(cè)重點是教師的首要任務。
3.3 加強嵌入式系統(tǒng)的實踐能力
筆者“嵌入式系統(tǒng)”選修課圍繞ARM和Linux,按照驗證性實驗、綜合性實驗和創(chuàng)新性實驗等3個層次逐漸培養(yǎng)學生開發(fā)應用程序和驅(qū)動程序的能力。實驗教學中心采購了多種實驗箱。針對實驗設備的多樣性,采用驅(qū)動程序屏蔽的方法,給學生提供一致的應用程序編程接口,利用實驗設備共性的部分開設基礎的驗證性實驗。同時,針對各種外設開發(fā)出各種實驗樣例程序,如液晶屏、觸摸屏、小鍵盤和攝像頭等,由學生自由組合成綜合性實驗。對于實驗設備選配件以及未開發(fā)的部分,允許學生自主命題,申請器件進行創(chuàng)新性設計。這已經(jīng)不是課內(nèi)的內(nèi)容,而是作為對嵌入式系統(tǒng)感興趣的學生的課外科技活動。基于GTK+圖形庫的開源LiPS手機平臺被移植到實驗箱上。手機是未來的電腦,三大Linux手機標準聯(lián)盟正推動著基于Linux的手機開發(fā)。鼓勵大三和大四學生選修嵌入式系統(tǒng)課,側(cè)重圖片顯示、觸摸屏和視頻采集的內(nèi)容,通過開源手機平臺等提高學生對硬件類課程的興趣。上課和開設實驗更多是為了發(fā)現(xiàn)對嵌入式系統(tǒng)感興趣的學生,嵌入式系統(tǒng)課程不是普及教育,而是精英教育。光學課本,沒有長時間的動手實踐,根本不行?;叵虢佑|嵌入式Linux之初,買遍了市面上嵌入式Linux的書也沒有找到一個模塊化驅(qū)動程序的開發(fā)樣例,最后不得不求助在Freescale公司工作的學生。從只會畫單色圓的實驗設備做起到積累大量實驗樣例,深深感到只把Linux移植到具體的板子遠遠滿足不了嵌入式Linux應用的要求,應用程序和驅(qū)動程序開發(fā)才是嵌入式系統(tǒng)開發(fā)的關(guān)鍵。只有把嵌入式Linux的應用推動起來,國內(nèi)高端嵌入式應用才能健康發(fā)展?,F(xiàn)在更缺少嵌入式軟件人才,希望培養(yǎng)學生對嵌入式系統(tǒng)的興趣,更多地側(cè)重多媒體、人機交互和GUI的程序設計。
因?qū)嶒炏鋸S商的支持有限,倡議成立嵌入式系統(tǒng)教學聯(lián)盟,尋找提供交流的平臺。按照各個專業(yè)的特點設計實驗樣例,能有自己的OS和GUI。希望不久的將來在國內(nèi)能看到大量基于Linux的產(chǎn)品,學生們也能更好找工作。
3.4 重視開發(fā)環(huán)境的教學
2008年5~7月,ARM公司舉辦“微控制器市場創(chuàng)新研討會”。會議的主題內(nèi)容是:ARM MCU市場和技術(shù)發(fā)展趨勢、各半導體廠商基于ARM的MCU產(chǎn)品及技術(shù)方案和針對ARM MCU的開發(fā)工具解決方案。ARM公司合作伙伴Atmel、Luminary、NXP和ST公司及其代理商介紹自己的MCU并展示開發(fā)板。
ARM公司推出的CortexM核專門針對微控制器市場。ARM公司收購德國Keil公司并投資英蓓特公司,推出中國版的RealView MDK開發(fā)平臺。這樣原用8051單片機的用戶可使用熟悉的開發(fā)環(huán)境過渡到ARM MCU的應用。此次會議的新理念是,用ARM來統(tǒng)一支離破碎的微控制器市場開發(fā)環(huán)境,以后微控制器的選型不再以8位、16位和32位來區(qū)分,而是以高、中、低檔芯片來劃分。因為這些微控制器都有統(tǒng)一的機“芯”,區(qū)別只是它們的外圍部件不同和廠商的技術(shù)支持不同。這樣,工具和軟件都可以重復使用,不用購置各種開發(fā)工具。在整個芯片成本中CPU只占很少的部分,芯片的價格不是由CPU核來確定,再按位數(shù)來評價MCU沒有意義,應按外圍部件和Flash容量等來確定。Microchip公司用MIPS核推出了32位微控制器。這都顯現(xiàn)出通用的內(nèi)核、廣泛的支持、一致的開發(fā)環(huán)境是未來的發(fā)展趨勢,也是嵌入式系統(tǒng)教學的新曙光。
結(jié)語
其實各高校也不一定淘汰單片機教學而一味去講帶操作系統(tǒng)的嵌入式系統(tǒng)。適時更新一部分教學內(nèi)容,跟上時代的發(fā)展即可。ARM現(xiàn)在也同樣看中單片機的應用市場。只要大家記住教學是為了滿足應用的需求,社會有什么需求,就朝什么方向努力。嵌入式系統(tǒng)沒有單一、通用的教學模式,正像嵌入式系統(tǒng)是面向?qū)ο箢I域的專用計算機系統(tǒng),只有突出自己的專業(yè)特點才能更好地為社會服務。
評論