桑勝田,李曉明,蔣明,譚曉昀
(哈爾濱工業(yè)大學 微電子科學與技術(shù)系,黑龍江哈爾濱 150001)
嵌入式實時操作系統(tǒng)(Real-time Operating System,RTOS)是嵌入式軟件課程教學的重點和難點。由于RTOS 具有結(jié)構(gòu)復雜和實時性強的特點,需要有效的教學工具來展示其內(nèi)部結(jié)構(gòu)和工作原理;RTOS 的知識內(nèi)容繁雜,目前的教學手段無法滿足授課內(nèi)容廣度和深度的要求,亟待進行教學環(huán)境和教學模式的改革。
嵌入式實時操作系統(tǒng)是十分復雜精巧的系統(tǒng)軟件程序,其內(nèi)部使用了多種數(shù)據(jù)結(jié)構(gòu)和算法,這是嵌入式軟件的核心技術(shù)內(nèi)容之一,對其結(jié)構(gòu)和機理的剖析是嵌入式軟件課程教學的重點和難點。
第一,RTOS 課程缺少能充分展示系統(tǒng)細節(jié)和動態(tài)過程的教學手段。目前在國內(nèi)外嵌入式系統(tǒng)相關(guān)的教學中,RTOS 部分都是以理論講解結(jié)合程序代碼分析為主。教學工具主要有兩種:一種是用PPT 課件中的動畫來展示軟件關(guān)鍵部分的結(jié)構(gòu)和過程;另一種是在硬件開發(fā)板上實驗操作。這兩種方式都存在明顯的缺點。課件中的動畫通常是局部的展示,只能演示預先設(shè)定的步驟,完整性和真實性有限;在硬件上的實驗則可觀測性不強,無法直觀觀察和剖析系統(tǒng)內(nèi)部的細節(jié)和過程。
軟件可視化是近年來計算機軟硬件教學中開始采用的工具。康奈爾大學[1]和成功大學[2]的學者在數(shù)據(jù)結(jié)構(gòu)和算法課程中開發(fā)了可視化教學環(huán)境,可以動態(tài)交互式展示數(shù)據(jù)結(jié)構(gòu)和算法工作過程。但這些工具僅支持單獨數(shù)據(jù)結(jié)構(gòu)和算法模塊的演示和教學。RTOS 包含多種復雜數(shù)據(jù)結(jié)構(gòu)和算法,其教學的挑戰(zhàn)性超過算法課程中單一數(shù)據(jù)結(jié)構(gòu)知識點的講授。
軟件仿真技術(shù)能夠很好地展示系統(tǒng)內(nèi)部復雜結(jié)構(gòu)和微妙的動態(tài)過程。瑞士洛桑聯(lián)邦理工學院的Morten B.Petersen 開發(fā)了微處理器可視化仿真軟件Ripes[3],用于計算機硬件微結(jié)構(gòu)的教學。此外,吳海青等人基于Proteus 仿真環(huán)境開展了單片機實踐教學[4];張蓓等人則采用電路仿真技術(shù)開展傳感器及電路教學[5]。這些嘗試展示了可視化仿真技術(shù)在復雜系統(tǒng)教學中的潛力[6-8]。
第二,RTOS 知識復雜,教學信息量大,難以在課程中充分展開講解。嵌入式實時操作系統(tǒng)不僅管理計算機的硬件資源和支持應(yīng)用程序運行,而且對運行時間精度和可靠度的要求都極高。由于嵌入式RTOS 知識信息量大,通常受課程容量限制,難以對這些內(nèi)容展開充分講解。翻轉(zhuǎn)課堂的教學形式則能充分利用課堂內(nèi)外的時間,擴展課程容量[9-11]。
第三,對于學生來說,現(xiàn)有的RTOS 教學和實驗缺少交互性和學習自主性。無論采用PPT 課件的形式還是采用硬件實驗板的方案,都不支持遠程在線自主學習。因此,針對實時操作系統(tǒng)教學的特殊性,使用有效的工具,適當結(jié)合翻轉(zhuǎn)課堂的形式,可滿足授課和實驗中學生自主學習和探索式學習的需求[12]。
因此,本文提出在RTOS 教學時采用嵌入式軟硬件仿真、可視化和交互式展示軟件結(jié)構(gòu)和動態(tài)過程的教學工具和方法,結(jié)合該教學工具和翻轉(zhuǎn)課堂模式,以開放式自主學習結(jié)合課上講授增加課程信息容量,使學生開展互動式、探索型自主學習。
為支持翻轉(zhuǎn)課堂教學模式,針對嵌入式實時操作系統(tǒng)的特點和教學要求,研究了適合云平臺和在線教學的仿真技術(shù),開發(fā)了能夠交互式探索RTOS 內(nèi)部數(shù)據(jù)結(jié)構(gòu)的可視化教學平臺。該平臺不僅可以用于學生課下自主探索式學習,也可以用于課上教師授課和師生互動研討。仿真平臺是本教學改革依托的技術(shù)基礎(chǔ),也是教學改革的重點工作之一。
首先,開發(fā)云端仿真引擎,實現(xiàn)了脫離硬件實驗器材的處理器仿真模擬器,開發(fā)了用于操作系統(tǒng)仿真狀態(tài)捕獲的框架,為人機交互界面提供仿真數(shù)據(jù)。然后,研究了呈現(xiàn)實時操作系統(tǒng)運行信息的交互方法,開發(fā)了基于Web 的數(shù)據(jù)結(jié)構(gòu)圖形和動畫界面。這里,重點考慮了用戶控制輸入采集和回傳程序,設(shè)計開發(fā)與后端進行信息傳遞的通信協(xié)議,優(yōu)化數(shù)據(jù)量和提高響應(yīng)速度。
該平臺具有如下特點和優(yōu)勢:
(1)仿真教學環(huán)境具有真實性、完整性和交互性特點:采用與真實系統(tǒng)結(jié)構(gòu)一致的“硬件+RTOS”的技術(shù)方案,運行真實完整的操作系統(tǒng)軟件,不僅能觀察軟件工作過程,而且可以揭示軟件與硬件交互的細節(jié)。相對于現(xiàn)有的預定PPT 動畫,本系統(tǒng)呈現(xiàn)的是真實系統(tǒng),具有信息全面,內(nèi)容豐富、交互性強的特點,可進行開放式探索學習。
(2)提供全方位洞察功能和從宏觀到微觀的揭示功能:本系統(tǒng)仿真實現(xiàn)的虛擬處理器,能以真實硬件洞察系統(tǒng)內(nèi)部狀態(tài)和變化過程,可以在時間和空間維度上進行比例縮放;基于云計算技術(shù)的在線使用方式,只需使用瀏覽器,即可在各種操作系統(tǒng)和電腦、平板等設(shè)備上運行,全面支持學生自主學習[13]。
最終實現(xiàn)的可視化交互仿真平臺,界面如圖1 所示。
有了交互式仿真教學環(huán)境,課題組提出了基于場景的翻轉(zhuǎn)課堂教學設(shè)計。基于實際應(yīng)用中嵌入式RTOS 系統(tǒng)角色和功能場景,拆解關(guān)鍵知識點,組織翻轉(zhuǎn)課堂教學的任務(wù)主題,安排課下學習和課上活動。綜上,課題組設(shè)計的總體方案如圖2 所示。

圖2 翻轉(zhuǎn)課堂的教學模式
其中核心部分是交互式仿真教學環(huán)境軟件系統(tǒng),教師面向該系統(tǒng)設(shè)計基于場景RTOS 學習的教學任務(wù)、教學方案和實驗活動;學生以該系統(tǒng)為工具,展開探索型自主學習和實驗,同時以該系統(tǒng)為媒介和工具開展課堂互動。
交互式仿真教學環(huán)境又分為仿真執(zhí)行引擎和交互式操作界面,仿真執(zhí)行引擎的任務(wù)是忠實地仿真嵌入式硬件和軟件的執(zhí)行;交互式操作界面則要以直觀易用的方式呈現(xiàn)狀態(tài)信息、在用戶控制下反饋仿真系統(tǒng)的狀態(tài)視圖。
教學方案包括任務(wù)設(shè)計和任務(wù)布置,將RTOS 教學按照專題分解教學任務(wù),組織設(shè)計成學習場景。例如在uC/OS-II 實時操作系統(tǒng)[14]教學中,將RTOS 的知識點拆解為系統(tǒng)初始化、任務(wù)創(chuàng)建、任務(wù)調(diào)度、任務(wù)間通信、優(yōu)先級反轉(zhuǎn)等9 個場景。教師圍繞這些場景,將任務(wù)布置給學生自主學習,待學生返回課堂,再針對這些場景進行課堂討論和師生互動。
學生按照任務(wù)自主開展RTOS 學習活動,這里的任務(wù)并非詳細的實驗步驟,而是基于場景的探索式交互學習。學生根據(jù)學習和實驗,形成課堂互動反饋,圍繞RTOS 系統(tǒng)的關(guān)鍵結(jié)構(gòu)和原理,借助教學仿真軟件的可視化場景,使核心知識學習更具象,探索學習活動目標更明確。
哈爾濱工業(yè)大學基于教學改革整體方案,開發(fā)了運行在云平臺的ARM Cortex-M0 處理器的仿真引擎,并基于該程序?qū)崿F(xiàn)了微控制器硬件仿真系統(tǒng)。經(jīng)測試驗證,該仿真系統(tǒng)可以正確執(zhí)行標準編譯器生成的LPC1100 單片機的軟件和RTOS 系統(tǒng)及上層應(yīng)用程序。
哈爾濱工業(yè)大學依托微電子專業(yè)本科專業(yè)課程嵌入式軟件、嵌入式系統(tǒng)及應(yīng)用,于2021 年秋季學期和2022 春季學期分別進行了教學試驗,按照課程大綱講授uC/OS-II 實時操作系統(tǒng)。在兩次試驗中,大部分學生完成了預定的課下學習任務(wù),參加了課上研討。與原有教學方案相比,學生對知識點的掌握均有所加強,并且學生對相關(guān)內(nèi)容學習興趣更強,能夠主動提出問題并進行解答。
本文針對嵌入式RTOS 教學的難點,結(jié)合云計算和交互式仿真技術(shù),實現(xiàn)嵌入式系統(tǒng)實時仿真和交互式探索學習的軟件環(huán)境,并引入翻轉(zhuǎn)課堂教學模式。教學設(shè)計中教師將重要知識點組織成自主學習的場景,根據(jù)場景布置專題學習任務(wù);學生課下進行自主學習,實驗觀察和探索;課上師生討論,教師講解,實現(xiàn)教學目標。本文提出的工具和方法對提升教學效果和提高教學互動性都有重要意義。
交互式可視化環(huán)境的功能和易用性能夠有效提升課程教學效果。一旦交互式可視化仿真環(huán)境開發(fā)完成,基于該環(huán)境,教師可以進行其他課程的教學設(shè)計和開展形式多樣的教學活動。