<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 試論將μC/OS-II用于單片機教學(xué)

試論將μC/OS-II用于單片機教學(xué)

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:當前,大學(xué)中的“嵌入式系統與單片機應用”及類(lèi)似課程的教學(xué)內容和實(shí)驗正處在轉型期,由單純8位機轉向8位、16位、32位并舉;開(kāi)發(fā)方式上,仿真器在逐步退出;嵌入式實(shí)時(shí)操作系統被引入教學(xué)。本文就相關(guān)課程內容與實(shí)驗平臺方案的設計提出一些看法,以引起同行的思考與討論。 關(guān)鍵詞:?jiǎn)纹瑱C 嵌入式 RTOS μC/OS 教學(xué) 培訓 引 言 在2003年天津舉行的“全國單片機及嵌入式系統學(xué)術(shù)年會(huì )”上,來(lái)自全國各地幾十所大學(xué)的教師對單片機與嵌入式系統教學(xué)展開(kāi)了熱烈的討論。這里,就我們的認識介紹如下,以達到拋磚引玉的目的。 1 單片機與嵌入式系統應用類(lèi)課程的轉型期   當前,單片機與嵌入式系統應用類(lèi)課程正處在轉型期。過(guò)去的20年中,單片機市場(chǎng)與需求都是以8位機為主的。最近幾年來(lái),16位、32位單片機的嵌入式應用呈迅速增長(cháng)的趨勢。在一兩年后,數量上雖然仍會(huì )以8位為多,但32位單片機在產(chǎn)值上會(huì )超過(guò)8位單片機,如圖1、圖2所示。今后,單片機應用將呈現8 位、16位、32位單片機并舉的格局。   由于單片機系統的需求越來(lái)越復雜、集成電路技術(shù)發(fā)展又非???,片上存儲器容量不斷擴大,使得在片上系統的開(kāi)發(fā)中,使用嵌入式實(shí)時(shí)操作系統(RTOS)成為可能。計算機對于90%以上的學(xué)生都不能是他的專(zhuān)業(yè),而只是一種工具。同各行各業(yè)開(kāi)發(fā)單片機應用的工程師一樣,非計算機專(zhuān)業(yè)的學(xué)生來(lái)自各個(gè)領(lǐng)域,他們不可能將主要精力花在研究操作系統上,而是要把主要精力放在所研究的專(zhuān)業(yè)上,他們需要的是把計算機專(zhuān)家們研究的成果直接拿來(lái)使用。RTOS可以將一個(gè)復雜的應用分解成多個(gè)任務(wù),從而簡(jiǎn)化應用程序的設計;RTOS可以保證系統的實(shí)時(shí)性達到或接近理論上可以達到的最好水平。而多任務(wù)本身會(huì )帶來(lái)一系列的問(wèn)題,主要是任務(wù)間的競爭、死鎖、優(yōu)先級反轉、任務(wù)間同步與通信等。這些問(wèn)題有RTOS為用戶(hù)考慮,只要知道RTOS的原理,會(huì )使用就可以了。故單片機教學(xué)的這次轉型,引入RTOS概念是一大特點(diǎn)。 2 單片機教學(xué)史的回顧與思考   回憶過(guò)去我國單片機教學(xué)走過(guò)的路,大多數院校都是從8051走過(guò)來(lái)的。故8051在國內普及單片機應用方面功不可沒(méi)。而總結一下由8051教學(xué)模式帶來(lái)的副作用,將有利于目前的轉型。 圖1   一個(gè)副作用是,教學(xué)中以一片8051配以不同的外圍電路去適應各種不同的應用。這就忽略了單片機應用的多樣性和單片機應用的個(gè)性化定位。單片機姓 “單”,世界上的單片機至少有上千種,每種單片機都有各自的定位。我們強調的是SoC,即片上系統,只有將整個(gè)系統都集成在一個(gè)集成電路芯片上,才能做到低成本、高可靠性。只有在不得已的情況下,才擴充額外的接口芯片。故應告訴學(xué)生,雖然學(xué)的是某種單片機,但針對不同的應用要選擇最適宜的單片機。單片機教學(xué)要求教師教會(huì )學(xué)生一種方法,會(huì )用這種單片機,自然也會(huì )用其它單片機。   過(guò)去8051教學(xué)引入的另一誤區是使用仿真器。如果說(shuō)過(guò)去開(kāi)發(fā)掩膜型單片機使用仿真器屬不得已,則如今單片機都采用了可以反復擦寫(xiě)十萬(wàn)次以上的 Flash存儲器,實(shí)在沒(méi)有必要使用仿真器。本人在過(guò)去20年的單片機應用開(kāi)發(fā)中,就從來(lái)沒(méi)有用過(guò)仿真器,并非沒(méi)有仿真器可用,只是不主張使用仿真器,特別不主張使用仿真器教學(xué)。仿真器使單片機開(kāi)發(fā)變得不直觀(guān),高價(jià)的仿真器增加了開(kāi)發(fā)成本,也增加了教學(xué)的負擔。開(kāi)發(fā)者不可能為每一類(lèi)單片機買(mǎi)一種仿真器,只好以自己有仿真器的那種單片機去適應所有的應用,從而誤入歧途。 3 是教學(xué)還是培訓   我們這里講的是教學(xué),不是培訓,教學(xué)不同于培訓。俗話(huà)說(shuō),“授之以魚(yú)不如授之以漁”。教學(xué)是“授之以漁”,授之以解決問(wèn)題的方法,培養解決問(wèn)題的能力,是引導學(xué)生入門(mén)。通過(guò)授課與實(shí)驗,要求學(xué)生能做到三個(gè)看懂,看懂原文手冊、看懂硬件原理圖、看懂別人寫(xiě)的程序。在此基礎上學(xué)會(huì )如何掌握一種自己不熟悉的單片機。我們講CPU硬件結構,講匯編指令集,教學(xué)生如何初始化串行口,從而實(shí)現與單片機的CPU“對話(huà)”,進(jìn)而學(xué)會(huì )寫(xiě)監控程序,然后將如何與C語(yǔ)言接口,以μC/OS-II為例,講RTOS基本概念,進(jìn)而移植μC/OS-II。   培訓的目的是讓用戶(hù)盡快上手,一周乃至三天后就可以開(kāi)始寫(xiě)應用程序。培訓是“授之以魚(yú)”,培訓的典型例子是教學(xué)生如何使用某單片機的仿真器。   教學(xué),強調的是引導學(xué)生入門(mén),只要我們能正確地引導學(xué)生入門(mén),告訴他們什么是正確的方法,后面的路他們會(huì )自己走。 4 將μC/OS用于RTOS教學(xué)   1995年以后,我們逐漸將μC/OS、μC/OS-II引進(jìn)單片機應用的科研與教學(xué),證明是成功的。μC/OS、 μC/OS-II是專(zhuān)門(mén)為嵌入式應用設計的實(shí)時(shí)內核,適用于幾乎所有8位、16位、32位單片機;90%以上與硬件無(wú)關(guān)的代碼用C語(yǔ)言寫(xiě)成,用匯編語(yǔ)言寫(xiě)的與硬件相關(guān)的代碼不足200行;有PC機上可運行的范例;有針對數十種知名CPU的移植范例可直接從網(wǎng)上下載;有注解清晰、書(shū)寫(xiě)規范的全部源代碼。有一部600頁(yè)的書(shū)對RTOS基本概念、內核原理做了詳盡的描述,隨書(shū)所附光盤(pán)上的μC/OS-II V2.52通過(guò)了美國航空航天管理局的安全認證,可用在與人性命攸關(guān)的控制系統中,是一部科學(xué)、實(shí)用的好教材。該內核的前身是μC/OS,最早的版本是為 Motorola 增強型8位單片機68HC11 CPU寫(xiě)的。68HC11曾經(jīng)是世界上產(chǎn)量排名第三的(第一是68HC05,第二是8051)著(zhù)名單片機CPU。1995年前后,我們曾以68HC11作為單片機應用的教材,并出過(guò)一本《MC68HC11單片機開(kāi)發(fā)技術(shù)》的教材,清華大學(xué)出版社出版。目前,68HC11逐漸被與之指令集在源碼級兼容的 CPU12 替代,故我們的研究生教學(xué)也將順勢轉向采用16位的CPU12 單片機。   我不主張將嵌入式Linux、μClinux等用于教學(xué)。它缺乏適當的定位,雖然有源碼,但并沒(méi)有一本適于做教材的書(shū)籍,對于非計算機專(zhuān)業(yè)的學(xué)生來(lái)說(shuō)太難了,也沒(méi)有必要花那么多的時(shí)間去摳懂。將μClinux移植到不同32位系統上是計算機專(zhuān)家的事,非計算機專(zhuān)業(yè)的人士,僅僅是使用而已。對于計算機專(zhuān)業(yè)的學(xué)生,操作系統是必修課,有一部很好的教材,Andrew S. Tanenbaum等著(zhù),王鵬等譯 《操作系統設計與實(shí)現》(第2版),電子工業(yè)出版社出版。這本書(shū)講的是Minix,實(shí)際上是簡(jiǎn)化了的Unix、Linux。學(xué)過(guò)這部教材,進(jìn)而掌握 Linux原理就不難了。μClinux等嵌入式Linux不是實(shí)時(shí)的,僅對Linux做了簡(jiǎn)化,使之可用于嵌入式應用,但作不到SoC。學(xué)習簡(jiǎn)化的 Linux,不如選用Minix。當然,μClinux可用于針對某特定應用的培訓。運行μClinux至少需要512KB的 SDRAM,目前的技術(shù)水平片內RAM還不可能做那么大。而運行μC/OS-II則只需要幾KB的RAM,十幾KB的Flash,這完全可以在單片機的片內實(shí)現。講解RTOS原理,μC/OS-II足夠好了。 5 教學(xué)內容要在穩定的前提下發(fā)展   8位、16位、32位單片機將三分天下已是業(yè)界共識,作為教學(xué),穩定至關(guān)重要。雖然單片機技術(shù)發(fā)展迅速,但開(kāi)一門(mén)單片機教學(xué)的課程并非易事,需要教師、教材、實(shí)驗器材等,特別是實(shí)驗平臺,需要較大的投入。教師要有相當的科研經(jīng)驗,用單片機做過(guò)研發(fā),還要會(huì )講。我的經(jīng)驗是,講一門(mén)新課,至少要講到第三年才能說(shuō)會(huì )講了或能講好了。為了穩定,每年只能更新一小部分內容,要善于解決穩定和發(fā)展快這一對矛盾。RTOS的教學(xué)可穩定很多年。μC /OS已經(jīng)十多年了,仍然好用,雖然每年都有新發(fā)展,但基本原理沒(méi)有變化,我看μC /OS-II至少還可以再講10年;MINIX快20年了,仍是一部好教材。實(shí)驗平臺也應盡量穩定的時(shí)間長(cháng)一些,既然講述的是開(kāi)發(fā)方法,使用8位、16位還是32位單片機其實(shí)是無(wú)所謂的。   由8位機一統天下,到8位、16位、32位并舉,轉型期定位單片機與嵌入式應用類(lèi)課程的切入點(diǎn)在哪里為好? 本人擬采用了以16位機 CPU12為切入點(diǎn)。它比8位單片機復雜,比32位單片機簡(jiǎn)單,外圍接口豐富(比一般32位機還要豐富),片內RAM、ROM資源適中。講述了以匯編寫(xiě)監控程序開(kāi)始,到用C語(yǔ)言寫(xiě)程序,再到移植μC /OS這一方法,同樣適于8位、32位單片機。這種方法本身也始于20年前,逐漸增加RTOS是近8年的事,是相對穩定又有發(fā)展的。 圖2   對沒(méi)有條件由8位機實(shí)驗平臺轉向16位、32位平臺的學(xué)校,不必強求,仍可使用8位機平臺。若使用的教學(xué)平臺有幾KB 的RAM、幾十KB的Flash,用于μC /OS-II作RTOS教學(xué)已足夠好,但希望不要再用仿真器,而采用我們從寫(xiě)一個(gè)簡(jiǎn)單的監控程序,到移植μC /OS的教學(xué)法。不必過(guò)多地講授各種I/O接口的使用方法,讓學(xué)生在寫(xiě)一個(gè)簡(jiǎn)單監控程序的基礎上自己去驅動(dòng)這些 I/O模塊。   有條件直接升級到32位單片機也是一種選擇。不少學(xué)校選用了以ARM為CPU的單片機,但請注意三點(diǎn)。一是定位,若課程定位在非計算機專(zhuān)業(yè)的學(xué)生,運行μC /OS之類(lèi)RTOS,可選擇片內有幾KB、十幾KB的RAM、幾十KB的Flash、可工作在單片方式下的ARM,這樣會(huì )使教學(xué)平臺很便宜。第二點(diǎn)是不要炒作,不要一哄而上。ARM的應用定位很明確,是一切與媒體有關(guān)的便攜式低功耗應用。ARM是32位CPU,并不是全部32位單片機。以ARM為CPU擴以幾MB乃至十幾MB SDRAM、Flash的、可以上Linux的昂貴平臺,只適用于針對某類(lèi)產(chǎn)品開(kāi)發(fā)應用的培訓,不適于用來(lái)教學(xué),因為L(cháng)inux在PC機上也能跑。第3點(diǎn)是學(xué)時(shí)與學(xué)生的基礎,32位單片機對于沒(méi)有8位單片機基礎的學(xué)生是很難掌握的,沒(méi)有足夠的學(xué)時(shí),ARM底層的東西是很難掌握的。 6 關(guān)于課程的定位   課程定位不同,即授課對象不同,課程的內容可以很不一樣,但都必須符合學(xué)習的客觀(guān)規律。我們有2門(mén)單片機與嵌入式應用課程,一門(mén)定位于電類(lèi)本科生(我系核電子學(xué)專(zhuān)業(yè)),名為“單片機認識與實(shí)踐”,32學(xué)時(shí),只講簡(jiǎn)單8位單片機的入門(mén)知識,不講RTOS,面向還沒(méi)有學(xué)過(guò)數字電路課程,對單片機有興趣的2 年級電類(lèi)本科生。   由于物理學(xué)對計算機的需求幾乎是無(wú)限的,故像互聯(lián)網(wǎng)這樣的計算機技術(shù)最先源于物理學(xué)的需求。我們系對部分本科生計算機能力的要求是很高的。接下來(lái),部分學(xué)生將做一個(gè)單片機應用方面的SRT (Student Research and Training Program) 項目, 清華對SRT有專(zhuān)門(mén)的經(jīng)費支持。學(xué)生設想一個(gè)簡(jiǎn)單的單片機應用原理性演示題目,利用課余時(shí)間,花半年到一年,設計一塊印刷線(xiàn)路板、再把軟件調出來(lái),優(yōu)秀作品可拿到每年的學(xué)生科展上評獎,甚至參加學(xué)生挑戰杯的角逐。這些學(xué)生在畢業(yè)設計中,一般會(huì )做一個(gè)單片機應用方面的課題。這樣上來(lái)的研究生甚至可以幫助我當研究生課輔導實(shí)驗的小教師。   另一門(mén)課程是定位于全校非計算機專(zhuān)業(yè)的各系研究生,特別是那些可能在研究生課題中用到單片機的各專(zhuān)業(yè)學(xué)生。我們講以CPU12為核心的16位單片機和基于μC/OS-II的RTOS。這兩部分內容共安排課內64學(xué)時(shí),其中授課與教師指導下的實(shí)驗約各占一半。按校方要求,這類(lèi)課程原則上課內、外學(xué)時(shí)之比為1∶2,即學(xué)生課外要花128學(xué)時(shí)讀書(shū)和進(jìn)行無(wú)輔導下的實(shí)驗。由于學(xué)生來(lái)自不同學(xué)科、不同專(zhuān)業(yè),在單片機應用方面水平很不一樣。計算機技術(shù)的發(fā)展是各行各業(yè)需求拉動(dòng)的,而計算機技術(shù)的發(fā)展促進(jìn)了需求。這里,需求是矛盾的主要方面。而個(gè)別研究生,特別是外??既胛倚5姆请婎?lèi)研究生,甚至沒(méi)有學(xué)過(guò)微機原理之類(lèi)課程。這里我們只能假設選修這門(mén)課的同學(xué)都有數字電路課的基礎,會(huì )用C語(yǔ)言寫(xiě)程序。由于水平的參差不齊,及學(xué)生個(gè)人可能安排的課外學(xué)時(shí)的差異,到課程結束時(shí),每個(gè)人到達的水平也是很不一樣的,故只能是各按步伐、共同前進(jìn)。   教學(xué)、開(kāi)課要符合學(xué)生認、知的客觀(guān)規律,是由簡(jiǎn)單到復雜,由8位到16位、32位,由匯編到C,到RTOS。要切記防止浮躁,也要教導我們的學(xué)生防止浮躁。我們能做到的僅僅是領(lǐng)學(xué)生入門(mén)而已,能指出一個(gè)大致正確的方向,不誤人子弟已屬難得。后來(lái),能成為IT高手的,不是我們培養的,而是通過(guò)他們自己艱辛努力實(shí)現的。

本文引用地址:http://dyxdggzs.com/article/201609/305048.htm


關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>