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

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