王益涵 史志才 孔麗紅



摘 要:高校計算機專業紛紛開設嵌入式方向,實驗教學是其重要組成部分。針對嵌入式技術特點和嵌入式實驗教學存在的問題,根據嵌入式系統知識架構自下而上重構實驗內容,從最小系統開始搭建開放、兼容的嵌入式軟硬件實驗平臺,自頂向下構建基于“目標—能力—內容—平臺”的實驗教學體系,根據學校背景和專業特色確定嵌入式人才培養目標,為計算機專業嵌入式方向人才培養提供必要支撐。
關鍵詞:嵌入式方向;自頂向下;實驗教學改革
DOI:10. 11907/rjdk. 182659 開放科學(資源服務)標識碼(OSID):
中圖分類號:G434文獻標識碼:A 文章編號:1672-7800(2019)007-0209-04
Construction on Experimental Teaching System of
Embedded Curriculum for Computer Specialty
WANG Yi-han,SHI Zhi-cai,KONG Li-hong
(School of Electronic and Electrical Engineering, Shanghai University of Engineering Science, Shanghai 201620, China)
Abstract:As a new interdiscipline based on computer technology, embedded system has become a hot spot in recent years. Now embedded curriculum has been set up for computer specialty in many universities. Furthermore experimental teaching is an important part of embedded curriculum for the computer specialty. Firstly the features of embedded technology and the problems of embedded experimental teaching were analyzed. And with a view to the characteristics of computer specialty and the background of our university, Top down method was adopted. Secondly the objective and the ability of talent in the embedded system were presented. Thirdly the content of experimental teaching was reorganized from bottom up based on the knowledge hierarchy of embedded system. Fourthly starting with minimum system based on microcontroller an open and cross-curricular experimental platform consisting of software and hardware was built. Finally the experimental teaching system of embedded curriculum for computer specialty was established from the perspective of objective, ability, content and platform, which provides the essential support for raising the talents in the embedded system.
Key Words:embedded curriculum;top down;experimental teaching system
基金項目:教育部產學合作協同育人項目(201702119030);上海市教委本科重點課程建設項目(s201702003);上海市科委科研計劃項目(17511110200);上海工程技術大學課程建設項目(k201702003)
作者簡介:王益涵(1981-),男,碩士,上海工程技術大學電子電氣工程學院講師,研究方向為嵌入式系統教學。
0 引言
嵌入式系統是21世紀最有生命力的新興技術之一,它以應用為中心、以計算機技術為基礎,融合微電子技術、通信技術和自動控制技術,其軟硬件可裁剪,是功能、可靠性、成本、體積、功耗和應用環境有特殊要求的專用計算機系統,目前已應用于工業制造、儀器儀表、汽車電子、軍事裝備、航空航天和移動通信等多個領域[1-4]。隨著嵌入式技術的高速發展,社會對嵌入式人才需求也迅速增加[5-6]。許多高校在機械、電氣信息類專業開設了嵌入式課程。嵌入式系統與計算機專業具有天然聯系,不少高校的計算機專業整合嵌入式相關課程,形成嵌入式方向,建立嵌入式實驗室,系統培養嵌入式人才。
嵌入式方向的人才培養和實驗教學研究有:王冠軍等[7]結合卓越工程師計劃與學科競賽平臺,構建以創新實踐能力培養為導向的卓越工程師理論課程體系;吳玉峰等 [8]以應用型人才培養為宗旨,在“3+1”人才培養模式基礎上建立嵌入式人才培養課程體系;劉鈺等 [9]通過研究國外先進的CDIO工程教育模式,結合應用型本科院校實際情況,提出了計算機專業嵌入式系統方向人才實踐能力培養方案;何煦嵐[10]在分析普通高校計算機專業學生的知識結構特征以及該知識結構對嵌入式系統課程學習利弊的基礎上,從嵌入式系統課程所需基礎知識、嵌入式系統硬軟件課程教學以及實踐課程建設4個方面,提出了普通高校計算機專業嵌入式方向課程建設方法;胡青等 [11]面向自動化專業,打造學生“隨身”實驗室, 將MOOC和翻轉課堂教學方式引入嵌入式實驗教學,提出了嵌入式系統課程實驗的一種新模式;張美平[12]結合福建師范大學數計學院計算機科學與技術專業特點,面向《嵌入式系統》課程提出了一種分層次、多方位的立體實踐教學方案,探索了多樣化的嵌入式系統實踐教學形式。但目前對計算機專業嵌入式方向的實驗教學體系研究還不夠完善,各個實驗的前后關系及從屬課程之間的聯系還不夠明確。因此,必須結合計算機專業背景和嵌入式系統特點,針對計算機專業嵌入式實驗教學中存在的問題,加強計算機專業嵌入式方向系列課程整體研究,整合構建規范的嵌入式實驗教學體系,以適應社會對嵌入式系統人才的迫切需求。
1 嵌入式方向實驗教學現狀
計算機專業嵌入式方向實驗教學雖然歷經多次改革,但仍然與嵌入式產業發展存在脫節現象。
1.1 實驗涉及內容多但不成體系
高校計算機專業嵌入式方向設置了一系列嵌入式相關課程及實驗[13-14],這些課程的實驗或過于強調軟件而弱化硬件,或過于強調應用而弱化原理,在內容安排上各自為戰,缺乏統一布局,不成體系。而且嵌入式方向的各門課程分別使用不同的硬件平臺、操作系統和開發環境,缺乏連貫性和整體性。學生學完這些嵌入式方向系列課程后,往往只是掌握各門課程中各個孤立的知識點,不能前后聯系靈活應用。
1.2 硬件平臺結構封閉
我國高校計算機專業嵌入式方向實驗硬件平臺多以實驗箱為主[15-16]。實驗箱通常以一塊或多塊可替換的微控制器為核心,資源豐富、功能強大、封裝完整,易于實驗室管理和維護,但成本高、更新速度慢,容易與市場脫節。實驗箱系統封閉結構較為復雜,對于嵌入式初學者難以上手,在實驗過程中容易出現畏難心理。即使上手,也往往是知其然而不知其所以然,尤其對嵌入式硬件缺乏感性認識,達不到預期的實驗效果。另外,實驗箱外設接口固定,開放性和靈活性較差,難以動手改裝;適于驗證性實驗,難以滿足設計性及更高層次實驗要求。實驗箱與實際的嵌入式產品有著較大差距,使實驗教學與嵌入式開發實際之間存在脫節現象。
1.3 實驗時間少
不少高校計算機專業嵌入式方向教學安排仍以課堂授課為主,實驗教學尤其是硬件實驗時間不足[17]。在新一輪教學改革縮減本科總學時背景下,計算機專業嵌入式方向實驗也相應削減。受時間、成本、管理和師資等條件限制,硬件實驗受影響最大,個別學校甚至完全取消。但硬件是嵌入式系統的基礎,嵌入式軟件的運行依賴于硬件。硬件實踐的缺乏,既不利于學生形成嵌入式系統整體概念,也使學生無法深入理解嵌入式軟件尤其是嵌入式操作系統和驅動軟件。
嵌入式實驗涉及內容廣,軟硬件更新速度快,實驗時間少,不利于學生消化和吸收知識。因此,如何充分利用有限的實驗教學時間加強硬件實驗,最大限度地提高實驗教學效率,成為嵌入式實驗教學亟待解決的問題。
2 實驗教學體系構建
針對嵌入式技術特點及嵌入式實驗中存在的問題,構建覆蓋嵌入式相關課程和嵌入式系統開發生命周期的嵌入式實驗體系非常必要。以下從目標定位、能力要求、內容設計、平臺建設4個方面自頂向下、層層遞進,構建計算機專業嵌入式方向實驗教學體系。
2.1 目標定位
明確人才培養目標和定位,是構建計算機專業嵌入式方向實驗教學體系的第一步。由于嵌入式技術涉及的行業和領域很廣,要求學生在有限的實驗教學時間內精通嵌入式軟件、硬件及應用等各方面內容相當困難,必須在夯實基礎上突出重點應用領域。
根據學校特色和學生基礎,筆者學校計算機專業嵌入式方向實驗教學體系定位于面向微控制器應用領域,培養具備扎實的嵌入式系統基礎知識、能從事嵌入式系統基礎與技術應用、軟硬件及相關技術研發、嵌入式系統設計規劃與運行維護等方面工作的應用型專業技術人才。
2.2 能力要求
根據以上目標,在深入調研嵌入式行業現狀和人才需求基礎上,設計計算機專業嵌入式方向實驗教學體系,主要培養學生具備以下能力:
(1)嵌入式系統認知分析能力:掌握嵌入式系統基本概念,熟悉嵌入式系統開發環境,能剖析實際生活中典型的嵌入式系統組成及其特點。
(2)嵌入式硬件實踐能力:掌握一種主流嵌入式處理器的體系結構、常用的片上外設及接口設計。
(3)嵌入式軟件實踐能力:熟練使用一種嵌入式開發工具,精通一種嵌入式開發語言,深入理解一種常用的嵌入式操作系統,掌握常用的嵌入式軟件架構、開發技術和開發方法,至少熟練掌握某一個嵌入式應用領域的軟件開發。
(4)嵌入式系統工程應用能力:熟悉嵌入式系統的整個研發過程和主要步驟,能從實際生活中抽象概括出嵌入式工程問題,并能進行需求分析、預算評估、設計、規劃、開發、調試和運行維護。
2.3 內容設計
基于上述能力要求,以嵌入式系統知識體系架構為線索,自下而上、由硬件到軟件依次設計嵌入式系統導論課內實驗、嵌入式操作系統課內實驗、嵌入式軟件開發技術課內實驗和嵌入式系統綜合實驗等實踐環節,分為不同類型(驗證性、分析性、設計性、綜合性和創新性)在不同時間開設,循序漸進、逐步深入,基本覆蓋專業學習的各個階段,如圖1所示。
嵌入式系統導論課內實驗,位于嵌入式系統知識體系架構的最低層——硬件接口層,在第四學期開設。作為嵌入式方向系列課程的首個實踐環節,從生活中常見的嵌入式系統入手,培養學生對嵌入式系統的認知興趣和分析能力,并以微控制器為核心,以驗證性實驗為主,突出微控制器的基本原理,使學生掌握其系統結構和存儲映射,并熟悉常用的嵌入式I/O設備,掌握它們與主流微控制器的接口設計,能開發基于主流微控制器常用接口的簡單應用程序。
嵌入式操作系統課內實驗,位于嵌入式系統知識體系架構的中間層——操作系統層,在第五學期開設。該實踐環節從嵌入式操作系統與PC操作系統之間的區別和聯系入手,以分析性實驗為主,通過案例層層深入引導學生探索嵌入式軟件核心——嵌入式操作系統,著重培養學生對典型嵌入式操作系統內核原理的理解能力、實現機制的分析能力以及在主流微控制器上運行的移植能力。
嵌入式軟件開發課內實驗,位于嵌入式系統知識體系架構的最高層——應用軟件層,在第六學期開設。在前兩個實踐環節的基礎上,以設計性實驗為主培養學生結合具體應用(如網絡通信、視頻采集等),基于主流微控制器和嵌入式操作系統開發較為復雜的應用軟件。
嵌入式系統綜合實驗,是計算機專業嵌入式方向系列課程中創新性、綜合性實踐環節,貫穿嵌入式知識體系架構的所有層次,在第七學期開設。在前面實踐環節的基礎上,引導學生首先從實際生活中發現問題、形成嵌入式產品創意,運用需求分析法確定嵌入式產品的功能性要求和非功能性要求;進行嵌入式產品的架構設計和軟硬件劃分,形成人員分工和開發計劃,評估開發風險和開發成本;使用嵌入式軟硬件開發工具和開發語言,構建硬件平臺并進行軟件編程和調試;開發出嵌入式產品并撰寫產品開發文檔和使用文檔。
本實驗教學體系內容在能力培養方向上各有側重卻又緊密聯系,在整體上以嵌入式系統的知識體系架構為主線,自下而上、層層遞進,從而對計算機專業嵌入式方向人才培養形成跨時間、多角度、不同力度的支撐,如表1所示(★表示關鍵支撐,√表示一般支撐,△表示輔助支撐)。
2.4 平臺建設
一個完整全面的嵌入式實驗教學體系,不僅要有精心設計、合理安排的實驗內容,而且要有一個統一開放、貫通軟硬、前后兼顧的實驗平臺。對于嵌入式實驗教學體系而言,實驗內容與實驗平臺,一主一輔,兩者緊密相連,缺一不可。因此,在確定計算機專業嵌入式方向實驗體系的具體內容之后,必須構建一個與之適應、緊密結合的實驗平臺。
基于實驗教學內容并考慮不同實驗類型,設計與之相應的嵌入式實驗平臺如圖2所示(實線箭頭表示該實驗平臺主要面向的實驗內容,虛線箭頭表示該實驗平臺兼顧的實驗內容)。
嵌入式實驗平臺由嵌入式硬件平臺、嵌入式操作系統平臺和嵌入式開發工具等3部分組成。
嵌入式硬件平臺往往是認知和構建嵌入式系統的第一步,也是整個嵌入式實驗平臺的物理基礎,不僅是計算機專業嵌入式實驗教學體系中的首項內容——嵌入式系統導論課內實驗的主要支持平臺,而且是后續實驗內容的硬件基礎平臺。因此,嵌入式硬件平臺選擇和設計的原則是主流、開放與兼容。
嵌入式硬件平臺的核心是微控制器。考慮市場占有率、技術支持及價格等因素,嵌入式硬件平臺采用意法半導體公司的基于ARM Coretx-M3內核STM32F103微控制器為核心開發板。相比傳統的實驗箱,開發板刪繁就簡、易于上手,使學生對嵌入式硬件結構有直接和感性的認識,降低學習難度,既滿足嵌入式導論課程驗證性實驗需要,又滿足嵌入式后續各項實驗基礎平臺的需要。
嵌入式操作系統平臺位于嵌入式硬件平臺之上,是最接近硬件的嵌入式軟件,主要面向計算機專業嵌入式實驗教學體系中的第二項內容——嵌入式操作系統課內實驗,同時也是后續內容——嵌入式軟件開發課內實驗和嵌入式系統綜合實驗的軟件基礎平臺。根據嵌入式操作系統課內實驗要求,并考慮嵌入式硬件平臺的適用性和后續實驗內容的擴展性,選用uCOS-II作為操作系統平臺。uCOS-II是一個可裁剪、搶占式、實時多任務的嵌入式操作系統內核,能在嵌入式硬件平臺核心——STM32F103微控制器上運行。uCOS-II源碼開放、結構清晰、注釋詳盡、教學免費,很好地滿足了嵌入式操作系統分析性實驗要求。uCOS-II通過聯邦航空局商用航行器認證,具有良好的可靠性、安全性、移植性和擴展性,可滿足后續設計性、綜合性和創新性實驗要求。
嵌入式開發工具是嵌入式系統開發必需的輔助工具,它貫穿計算機專業嵌入式方向實驗教學體系的所有實驗內容,不可或缺。嵌入式開發工具主要分為硬件開發工具和軟件開發工具兩部分。在實驗平臺構建中,無論是硬件開發工具還是軟件開發工具都應與嵌入式硬件平臺和嵌入式操作系統相適應。本文采用基于ARM Cortex-M3內核的STM32F103開發板為核心的嵌入式硬件平臺和以uCOS-II為內核的嵌入式操作系統,實驗平臺選擇KEIL MDK作為軟件開發工具、J-Link仿真器作為硬件開發工具。KEIL MDK也稱MDK-ARM,為基于ARM內核的微控制器應用開發提供了一個集成開發工具,采用MicroLib C庫,包含C/C++編譯器(armcc)、宏匯編器(armasm)、鏈接器(armlink)、庫管理器(armar)、調試器(μVision)和實時內核(RTX)等組件[18-20],提供軟件模擬和目標機硬件兩種調試模式,可滿足嵌入式軟件開發和調試的所有需求。J-LINK是用于嵌入式處理器仿真調試和軟件固化的JTAG仿真器,支持幾乎所有基于ARM內核的微控制器仿真和程序下載,還可與嵌入式軟件開發工具KEIL MDK無縫連接[18],可滿足執行程序的硬件下載和實時仿真要求。
本實驗教學平臺緊密圍繞教學內容,以嵌入式系統構成為依據,劃分為硬件(STM32F103開發板)、軟件(uCOS-II)和工具(KEIL MDK、J-Link)3個部分,環環相扣,依次遞進,如表2所示(★表示關鍵支撐,√表示一般支撐,△表示輔助支撐)。
3 結語
嵌入式系統是一門以應用為中心,以計算機技術為基礎,融合微電子技術、通信技術和自動控制技術的新興交叉學科,要求從業人員具備全面的知識結構和較強的實踐能力,這對高等院校計算機專業嵌入式方向實驗教學提出了新的挑戰。本文從分析嵌入式技術的特點和當前實驗教學存在的問題入手,對現有實驗教學體系進行改革,采用自頂向下的設計方法,以“目標—能力—內容—平臺”為主線,構建了計算機專業嵌入式方向實驗教學體系,為計算機專業嵌入式人才培養提供支撐。
參考文獻:
[1] DAVE. Embedded systems[M]. Chennai: Pearson Education press, 2017.
[2] SAI KRISHNA V? N? R, KARI. Embedded system[M]. Riga: Scholars' Press, 2017: 20-23.
[3] BLOKDYK G. Embedded system:a practical handbook[M]. South Carolina:CreateSpace Independent Publishing Platform, 2017: 8-11.
[4] ICON GROUP INTERNATIONAL. The 2018-2023 world outlook for embedded systems[M]. Las Vegas: ICON Group International, Inc , 2017.
[5] 王福剛,楊文君,葛良全. 嵌入式系統的發展與展望[J]. 計算機測量與控制,2014,22(12):3842-3847,3863.
[6] 中國計算機學會. CCF2016-2017中國計算機科學技術發展報告[M]. 北京:機械工業出版社, 2017:154-156.
[7] 王冠軍,江海峰,林果園. 卓越計劃與學科競賽平臺相結合的嵌入式方向人才培養創新實踐[J]. 實驗室研究與探索,2017,36(8):187-190.
[8] 吳玉峰,白鳳娥. 高校嵌入式人才培養的探索與實踐[J]. 實驗技術與管理,2018, 35(3):172-176.
[9] 劉鈺,張燕,沈奇. 計算機專業嵌入式系統方向人才培養探究[J]. 實驗技術與管理,2010,27(9):164-167.
[10] 何煦嵐. 普通高校計算機專業嵌入式方向的教學探討[J]. 計算機教育,2014(8):61-64.
[11] 胡青,余嘉蘇,玉剛. 面向工程實踐能力培養的嵌入式實驗教學改革[J]. 實驗技術與管理,2017,34(9):160-163.
[12] 張美平. 計算機專業《嵌入式系統》課程實踐教學探索[J]. 福建師范大學學報:自然科學版,2011,27(3):10-13.
[13] 馮源,劉曉虎,夏立. 基于ARM平臺的嵌入式技術綜合設計實驗教學[J]. 實驗室研究與探索,2014,33(9):205-207,235.
[14] 汪湛清,彭熙偉,郭玉潔. 嵌入式系統實驗教學中的挑戰問題[J]. 實驗室研究與探索,2013,32(11):364-366,392.
[15] 楊澤林,何莉. ARM嵌入式教輔系統的教學實踐[J]. 實驗室研究與探索,2018,37(2):188-192.
[16] 徐志江,彭宏,孟利民. 開放共享嵌入式系統實驗網絡平臺建設[J]. 實驗室研究與探索,2015,34(5):86-89.
[17] 張輝,何青,劉錚. 嵌入式系統實驗教學改革與實踐[J]. 電氣電子教學學報,2016,38(1):135-137.
[18] 王益涵,孫憲坤,史志才. 嵌入式系統原理及應用——基于ARM Cortex-M3內核的STM32F103系列微控制器[M]. 北京:清華大學出版社, 2016:45-46.
[19] 徐成,凌純清,劉彥,等. 嵌入式系統導論[M]. 北京:中國鐵道出版社, 2011:24-25.
[20] 蔣建春,曾素華. 嵌入式系統原理及應用[M]. 北京:高等教育出版社, 2014:118-124.
(責任編輯:杜能鋼)