【摘要】受到新冠疫情的影響,高校很多課程面臨線上教學,對于嵌入式課程,理論性和實踐相結合很緊密的課程,線上教學難度加大。如何在線上開展嵌入式課程實踐教學從而提高課程教學質(zhì)量變得至關重要。本文通過線上教學環(huán)境下搭建嵌入式開發(fā)環(huán)境展開討論,給出嵌入式系統(tǒng)課程在有限條件下搭建實驗環(huán)境的方法和步驟,為在有限條件下開展嵌入式課程實驗教學給出了有效的建議。
【關鍵詞】嵌入式系統(tǒng)? 仿真? Linux操作系統(tǒng)
【基金項目】2020國家語委重點研發(fā)項目:基于網(wǎng)絡空間大數(shù)據(jù)的跨媒體多語種輿情信息處理(編號:ZDI35-96)。
【中圖分類號】G64 【文獻標識碼】A 【文章編號】2095-3089(2021)39-0054-02
1.引言
嵌入式系統(tǒng)課程是一門具有較強綜合性的專業(yè)課程,需要C語言程序設計,單片機,微機原理,匯編語言等多門課程理論作為專業(yè)基礎知識,是計算機技術、通信技術、微電子技術等先進技術的綜合體。隨著智能化設備在人類生產(chǎn)和生活中發(fā)揮越來越重要的作用,嵌入式課程在信息類專業(yè)學生課程中重要性凸顯,教學比重加大。新疆大學信息科學與工程學院學生嵌入式課程的教學學時增長,實驗課的學時比重也不斷加大,課程學時由原先的2+1調(diào)整為2+2+1。在保證該課程教學的科學性和系統(tǒng)性的前提下,著重突出嵌入式系統(tǒng)理論和實踐相結合的密切性。通過課內(nèi)實驗課的開展,培養(yǎng)學生熟練掌握開發(fā)工具,在開發(fā)嵌入式產(chǎn)品時能運用課程講授理論知識。
在開展線上教學時,針對嵌入式系統(tǒng)開發(fā)的特點,開展實驗課程。有效利用學生手中有限資源開展實驗課,將課程理論和實驗盡可能充分相結合,使得學生在線上學習時,仍然能夠具備一定的有嵌入式產(chǎn)品開發(fā)能力,在線上教學過程獲得課程扎實的理論基礎和較強的實踐能力。
2.嵌入式實驗課程線上開展存在的問題
嵌入式系統(tǒng)開發(fā)采用交叉開發(fā),需要將處理器和操作系統(tǒng)及應用軟件相結合,開發(fā)出滿足特定需求的產(chǎn)品。開發(fā)環(huán)境的搭建對于嵌入式產(chǎn)品的開發(fā)有著重要的意義,隨著線上教學的進行,學生需要通過實驗課程加深對教材理論的理解。學生在家里線上上課時,不同省市地區(qū)的學生網(wǎng)絡環(huán)境差別較大,上網(wǎng)設備也有手機、PAD、臺式機、筆記本等。部分學生沒有電腦,網(wǎng)絡環(huán)境差,手機信號不穩(wěn)定,時斷時續(xù),在這種情況下,搭建高效的實驗環(huán)境受限,因此本文討論如何在有限環(huán)境下充分開展嵌入式實驗,使學生能夠掌握嵌入式開發(fā)的方法并用于解決實際問題。
3.線上開展嵌入式實驗課程設計
為了結合課程內(nèi)容,參考北京航空航天出版社出版,馬春梅等人主編的教材《ARM&Linux 嵌入式系統(tǒng)教程》。教材在課程講授上主要分為三個部分:一部分是嵌入式軟件系統(tǒng),包括嵌入式操作系統(tǒng)和嵌入式應用程序開發(fā);第二部分是嵌入式硬件部分,主要針對ARM處理器的體系結構及常用的嵌入式產(chǎn)品開發(fā)需要用到的外圍設備;第三部分講授了基于Linux操作系統(tǒng)如何開發(fā)特定處理器上可以運行的應用程序。
在課程理論內(nèi)容的基礎上,學生如果想將理論內(nèi)容和實踐相結合,就需要搭建嵌入式系統(tǒng)開發(fā)環(huán)境。
基于上述教材理論和需要掌握的實踐內(nèi)容,學生首先需要搭建基本Linux開發(fā)環(huán)境,根據(jù)開展線上教學的實際情況了解到學生手中可用的實驗設備分為以下兩種情況:
一種情況是學生有電腦。有電腦的學生安裝Linux環(huán)境可以采用以下兩個方案。
方案一是在Windows中安裝虛擬機,在虛擬機上裝Linux操作系統(tǒng)??捎眠x的虛擬機很多,常用的安裝方便的是Vmware;可選的Linux操作系統(tǒng)版本較多如Unbuntu,Centos,Deepin等等。通過互聯(lián)網(wǎng)下載虛擬機并安裝,之后下載操作系統(tǒng)鏡像文件,在安裝步驟提示下選擇下一步直至最后完成虛擬機上操作系統(tǒng)的運行。
方案二是在計算機中安裝雙系統(tǒng)。開機啟動選擇Linux或者Windows。安裝雙系統(tǒng)對系統(tǒng)硬盤存儲空間有一定要求,目前市面流行的計算機配置基本可以滿足要求。授課過程中,建議學生裝虛擬機,至于Linux操作系統(tǒng)的版本,同學們可以自行查閱Linux操作系統(tǒng)的各種不同版本的優(yōu)缺點,自行選擇安裝。
另外一種情況是學生沒有電腦。沒有電腦可以使用的同學可以利用安卓手機安裝Termux,Termux是一個Android的高級終端模擬器, 安裝后可以在Android手機上搭建一個完整的Linux環(huán)境,Termux軟件不但在手機上啟動速度快,而且開源且支持apt管理軟件包,十分方便安裝Linux下各類軟件, 支持Python,PHP,Ruby,Go,Nodejs,MySQL等等,即便有電腦的同學,手機上也可以安裝Termux ,使用十分方便。
學生在計算機或者手機安裝好Linux操作系統(tǒng)后后可以進行Linux的相關實驗。這些實驗和Linux的基本使用相關,主要實驗內(nèi)容包括但不局限于:Linux操作的相關命令,如ls,mkdir,chomod,ftp等等,這些命令的主要作用是通過使用這些命令使學生學會熟練使用Linux 操作系統(tǒng),從而可以在命令行模式下使用各種開發(fā)工具。
在學會使用linux操作系統(tǒng)后,接下來要學習如何在linux中開發(fā)應用程序。
Linux的C編譯工具鏈如VI編輯器、GCC編譯器、GDB調(diào)試器、Make工具、Busybox工具等。通過這一系列工具的使用,學生能夠熟練使用Linux編寫應用程序,并進行調(diào)試。在交叉開發(fā)設備上利用Linux編寫應用程序步驟可以簡單描述為編寫—編譯—鏈接—調(diào)試,也就是說程序的編寫、編譯、鏈接,都是在通用PC上編寫,程序的執(zhí)行是在目標系統(tǒng)中。線上教學環(huán)境下,學生能夠熟練使用Linux系統(tǒng)開發(fā)應用程序是很關鍵的一步。
在學會使用linux的基本工具之后,進一步在linux環(huán)境下編寫對Linux操作系統(tǒng)內(nèi)核的操作,操作系統(tǒng)功能有CPU管理、存儲管理、文件管理、GUI等。通過實驗了解Linux內(nèi)核功能,有助于學生定制操作系統(tǒng)功能。
內(nèi)核裁剪時可以根據(jù)需要取消對多種CPU的支持,取消對虛擬內(nèi)存的支持,取消不必要的調(diào)度算法,取消不必要的設備的支持,還有過多的文件系統(tǒng),取消對多種網(wǎng)絡協(xié)議的支持等。通過這一系列操作系統(tǒng)內(nèi)核實驗,學生可以充分掌握Linux內(nèi)核裁剪的方法,能夠根據(jù)嵌入式設備對操作系統(tǒng)和應用軟件的需求對linux操作系統(tǒng)進行定制及做應用程序開發(fā)。
在對Linux有了上述操作的基礎上,學生可以利用電腦安裝keil工具,Keil可以實現(xiàn)針對多種不同類型處理器進行編程,并進行仿真。在教材講授了嵌入式硬件系統(tǒng)后,這一部分實驗內(nèi)容可以讓學生有效理解ARM處理器體系結構并編寫代碼。
ADS/SDT這些工具同樣可以安裝在計算機上。學生通過這些工具,熟悉ARM匯編及C語言編程,這些工具也提供匯編和C的聯(lián)合編程,提高了學生的編程能力。接下來,學生可以利用Android Stdio開發(fā)Android程序,生成在手機上可以運行的APP,學會開發(fā)手機應用程序。
通過上述實驗內(nèi)容,學生掌握的教材理論知識配套的部分實驗環(huán)節(jié):軟件系統(tǒng)、硬件系統(tǒng)、交叉開發(fā)、配備一定的硬件后,學生可用自行搭建實驗環(huán)境,做嵌入式產(chǎn)品開發(fā)。
4.結束語
在線上有限的實驗條件下,堅持課本理論知識和實際開發(fā)相結合。嵌入式課程教學過程重在理論和實踐相結合,教材重要的理論知識和實驗課一致對應,如理論講嵌入式操作系統(tǒng)內(nèi)核,則實驗課安排內(nèi)核下載執(zhí)行部分。理論課講到內(nèi)核裁剪,則實驗對應操作系統(tǒng)功能裁剪及實時化改造等;理論課的進程間通信,通過實驗和理論相結合,將重要的理論知識在實驗中加深理解,有助于學生對教材知識點的理解,從而有效提升學生嵌入式產(chǎn)品開發(fā)能力。
參考文獻:
[1]馬忠梅.ARM & Linux嵌入式系統(tǒng)教程[M].北京航空航天大學出版社,2008.
[2]李善平.Linux與嵌入式系統(tǒng)[M].清華大學出版社,2002.
[3]周立功.ARM嵌入式系統(tǒng)基礎教程[M]. 北京航空航天大學出版社,2005.
[4]徐偉.嵌入式系統(tǒng)實驗教學探索[J].數(shù)字通信世界,2019(7):278-279.
[5]郎薇薇.嵌入式系統(tǒng)實驗教學設計[J].卷宗,2019,9(3):173.
[6]聞紹飛,佘黎煌,張石.嵌入式系統(tǒng)實驗教學的實踐與探索[J].實驗室科學,2019,22(2):124-125+128.
[7]黃曉玲,段鳳云,趙建科.嵌入式系統(tǒng)實驗教學體系的探索與實踐[J].實驗技術與管理,2006,23(4):85-87.
[8]趙明華,林先其.嵌入式系統(tǒng)專業(yè)實驗教學改革的探索與實踐[J].當代教育實踐與教學研究(電子刊),2017(9).
[9]金豪喆,秦怡,劉天宏,等. 嵌入式系統(tǒng)綜合實驗教學新模式的探索與實踐[C].2008年中國信息技術與應用學術論壇.
[10]黃杰,曾繁政,曾妍.《嵌入式系統(tǒng)》課程實驗教學改革及創(chuàng)新能力培養(yǎng)探索[J].電子世界,2017(7).
作者簡介:
李秀紅(1977年-),女,博士,副教授,研究方向為嵌入式系統(tǒng),圖像處理等。