劉佳宜 陳德軍 陳 昆 王克浩 郭志強(qiáng)
(武漢理工大學(xué) 信息工程學(xué)院, 武漢 430070)
“嵌入式操作系統(tǒng)”是電子信息工程專(zhuān)業(yè)的核心專(zhuān)業(yè)課程。2020年,教育部印發(fā)的《高等學(xué)校課程思政建設(shè)指導(dǎo)綱要》中明確指出:“對(duì)于工學(xué)類(lèi)專(zhuān)業(yè)課程,需注重提高學(xué)生正確認(rèn)識(shí)問(wèn)題、分析問(wèn)題和解決問(wèn)題的能力,注重強(qiáng)化工程倫理教育、培養(yǎng)學(xué)生精益求精的大國(guó)工匠精神”。在美國(guó)對(duì)我國(guó)嵌入式軟、硬件領(lǐng)域進(jìn)行所謂“科技封鎖”的背景下,我們國(guó)家高度重視工業(yè)領(lǐng)域核心技術(shù)突破。2021年,工信部牽頭起草的《“十四五”智能制造發(fā)展規(guī)劃》中,著重強(qiáng)調(diào)了未來(lái)五年中需要顯著提升工業(yè)軟件技術(shù)水平和市場(chǎng)競(jìng)爭(zhēng)力[1]。嵌入式軟件是工業(yè)軟件的重要組成部分,“嵌入式操作系統(tǒng)”則是嵌入式軟件的核心內(nèi)容,負(fù)責(zé)對(duì)嵌入式系統(tǒng)全部軟件、硬件資源的總體調(diào)度與分配。在“思政建設(shè)”與“科技興國(guó)”歷史潮流的交匯點(diǎn),學(xué)習(xí)、理解并掌握“嵌入式操作系統(tǒng)”專(zhuān)業(yè)課程知識(shí),是提升電子信息工程專(zhuān)業(yè)學(xué)生個(gè)人專(zhuān)業(yè)素養(yǎng)的關(guān)鍵要素,提高其認(rèn)識(shí)問(wèn)題、分析問(wèn)題和解決問(wèn)題的能力的必要步驟,也是實(shí)現(xiàn)科技興國(guó)的重要環(huán)節(jié)[2]。
“嵌入式操作系統(tǒng)”涉及到的專(zhuān)業(yè)基礎(chǔ)知識(shí)難度較大(如計(jì)算機(jī)組成原理、C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)、嵌入式技術(shù)原理等),電子信息工程專(zhuān)業(yè)的學(xué)生在學(xué)習(xí)“嵌入式操作系統(tǒng)”這門(mén)核心專(zhuān)業(yè)課程時(shí)容易喪失學(xué)習(xí)興趣。究其原因在于“嵌入式操作系統(tǒng)”涉及到的內(nèi)核要素多(如任務(wù)創(chuàng)建、任務(wù)切換、任務(wù)調(diào)度、操作系統(tǒng)初始化、信號(hào)量、消息隊(duì)列等),且內(nèi)核要素之間相互耦合關(guān)聯(lián),在運(yùn)行較為復(fù)雜嵌入式操作系統(tǒng)應(yīng)用程序時(shí),學(xué)生很難將眾多內(nèi)核要素結(jié)合起來(lái)進(jìn)行理解。同時(shí),學(xué)生大多習(xí)慣了以“前后臺(tái)系統(tǒng)”的思路理解程序的運(yùn)行過(guò)程。在嵌入式操作系統(tǒng)中,CPU是以任務(wù)切換與調(diào)度的形式運(yùn)行程序,若以“前后臺(tái)系統(tǒng)”的思路來(lái)理解嵌入式操作系統(tǒng)程序的運(yùn)行過(guò)程,會(huì)存在諸多學(xué)習(xí)困難。然而,現(xiàn)有的“嵌入式操作系統(tǒng)”課程教學(xué)方法仍然以簡(jiǎn)單列舉程序代碼的方式進(jìn)行教學(xué)講授,并未直觀展示出嵌入式操作系統(tǒng)應(yīng)用程序的運(yùn)行時(shí)序,進(jìn)而加大了學(xué)生學(xué)習(xí)、理解“嵌入式操作系統(tǒng)”專(zhuān)業(yè)課程的難度。
現(xiàn)有的“嵌入式操作系統(tǒng)”教學(xué)方法大多圍繞在教學(xué)形式的改進(jìn)上。在“嵌入式操作系統(tǒng)”的經(jīng)典教材《uC/OS-III, The Real-Time Kernel》中,仍然以簡(jiǎn)單列舉程序代碼的形式進(jìn)行知識(shí)呈現(xiàn)[3]。電子科技大學(xué)盧有亮通過(guò)教學(xué)視頻、論壇和交流群多種方式相結(jié)合的形式進(jìn)行了教學(xué)探索,開(kāi)展了“嵌入式操作系統(tǒng)”課程MOOC實(shí)踐教學(xué)工作[4]。河南財(cái)經(jīng)政法大學(xué)趙貞貞等融合“微學(xué)習(xí)”“微互動(dòng)”等教學(xué)形式,通過(guò)教學(xué)與學(xué)習(xí)相結(jié)合的交互式教學(xué)方法,探索了“嵌入式操作系統(tǒng)”的線上教學(xué)方法,激發(fā)學(xué)生的學(xué)習(xí)興趣[5]。文獻(xiàn)[6]融合雨課堂、釘釘和學(xué)習(xí)通等多類(lèi)在線教學(xué)軟件,通過(guò)預(yù)習(xí)、講授和課后作業(yè)相融合的形式,探索了“嵌入式操作系統(tǒng)”在線教學(xué)方法。綜上所述,現(xiàn)有的教學(xué)研究大多在教學(xué)形式上進(jìn)行改進(jìn),在對(duì)內(nèi)核要素的教學(xué)方法上,仍然以列舉程序代碼的形式進(jìn)行教學(xué),并未針對(duì)“嵌入式操作系統(tǒng)”各內(nèi)核要素的運(yùn)行時(shí)序,結(jié)合運(yùn)行案例中各內(nèi)核要素的耦合特點(diǎn)改進(jìn)教學(xué)方法,使得學(xué)生難以理解“嵌入式操作系統(tǒng)”中的知識(shí)點(diǎn)。
針對(duì)此,考慮到嵌入式操作系統(tǒng)類(lèi)型眾多,本文基于uC/OS-III嵌入式操作系統(tǒng),研究了面向案例分析融合運(yùn)行時(shí)序的“嵌入式操作系統(tǒng)”教學(xué)方法,以案例分析的形式融合嵌入式操作系統(tǒng)的各內(nèi)核要素,綜合分析各內(nèi)核要素之間的耦合特點(diǎn),并采用程序運(yùn)行時(shí)序直觀表示各內(nèi)核要素對(duì)應(yīng)程序代碼的執(zhí)行過(guò)程,幫助學(xué)生學(xué)習(xí)和理解嵌入式操作系統(tǒng),提升課程教學(xué)效果。
面向案例分析融合運(yùn)行時(shí)序的嵌入式操作系統(tǒng)教學(xué)體系如圖1所示,按照組成內(nèi)容的不同,可分為內(nèi)核要素、運(yùn)行時(shí)序和案例分析。
圖1 教學(xué)體系
內(nèi)核要素包含任務(wù)、信號(hào)量、中斷管理、時(shí)間管理、消息傳遞、存儲(chǔ)管理等內(nèi)容,均是uC/OS-III嵌入式操作系統(tǒng)理論知識(shí)的關(guān)鍵組成要素。內(nèi)核要素具有自身組成要素多(操作系統(tǒng)任務(wù)包括任務(wù)堆棧、任務(wù)優(yōu)先級(jí)、任務(wù)控制塊〔TCB〕、無(wú)限循環(huán)型任務(wù)、運(yùn)行至完成型任務(wù)等),且相互之間耦合關(guān)系復(fù)雜(例如:任務(wù)通過(guò)時(shí)間管理實(shí)現(xiàn)任務(wù)延時(shí)、任務(wù)等待信號(hào)量將自身掛起、任務(wù)執(zhí)行過(guò)程會(huì)被中斷打斷等、任務(wù)A需利用信號(hào)量實(shí)現(xiàn)和任務(wù)B的同步等)等特點(diǎn)。
運(yùn)行時(shí)序是從CPU時(shí)序響應(yīng)uC/OS-III嵌入式操作系統(tǒng)各內(nèi)核要素的角度,以二維時(shí)序的形式將操作系統(tǒng)各內(nèi)核要素進(jìn)行時(shí)序組合,并通過(guò)添加注釋的形式,讓學(xué)生在掌握各內(nèi)核要素的同時(shí),將嵌入式操作系統(tǒng)各內(nèi)核要素之間的運(yùn)行時(shí)序及耦合關(guān)系進(jìn)行直觀表達(dá),促進(jìn)學(xué)生對(duì)“嵌入式操作系統(tǒng)”各知識(shí)點(diǎn)的理解。
案例分析則面向具體和直觀的實(shí)驗(yàn)案例(如流水燈控制、按鍵控制和數(shù)字時(shí)鐘等),將案例分解為各個(gè)小的知識(shí)點(diǎn)(如操作系統(tǒng)初始化、系統(tǒng)內(nèi)部任務(wù)創(chuàng)建、信號(hào)量創(chuàng)建、任務(wù)創(chuàng)建、任務(wù)就緒表、任務(wù)調(diào)度、時(shí)間管理、消息傳遞等),便于學(xué)生掌握在具體案例中所包含的理論知識(shí)點(diǎn),結(jié)合嵌入式操作系統(tǒng)應(yīng)用程序時(shí)序運(yùn)行圖,綜合而全面地掌握嵌入式操作系統(tǒng)的整體運(yùn)行流程。
本教學(xué)案例所采用的硬件為普中STM32-PZ6806L開(kāi)發(fā)板,基于STM32F103ZET6芯片,第1和3引腳外接工作于上拉輸入的機(jī)械按鍵(KEY_LEFT和KEY_RIGHT按鍵),第28和29引腳外接兩個(gè)發(fā)光二極管LED0和LED1,引腳低(高)電平點(diǎn)亮(關(guān)閉)發(fā)光二極管,嵌入式操作系統(tǒng)采用uC/OS-III操作系統(tǒng)[7]。
圍繞LED燈閃爍實(shí)驗(yàn)(案例1)和按鍵控制燈閃爍開(kāi)關(guān)實(shí)驗(yàn)(案例2)開(kāi)展教學(xué)案例分析,主要功能為L(zhǎng)ED0與LED1分別間隔2 s和4 s進(jìn)行點(diǎn)亮/關(guān)閉(案例1),按鍵KEY_LEFT控制LED1閃爍關(guān)閉、按鍵KEY_RIGHT控制LED2閃爍打開(kāi)的功能(案例2)。結(jié)合本文所提的教學(xué)體系,對(duì)案例1和案例2按照如圖2所示的結(jié)構(gòu)進(jìn)行歸納整理。
(a)案例1
(b)案例2圖2 教學(xué)案例
案例1主要包括操作系統(tǒng)初始化、任務(wù)創(chuàng)建、操作系統(tǒng)啟動(dòng)、任務(wù)1啟動(dòng)-調(diào)用-狀態(tài)機(jī)轉(zhuǎn)換、任務(wù)2啟動(dòng)-調(diào)用-狀態(tài)機(jī)轉(zhuǎn)換等內(nèi)容,所涉及的內(nèi)核要素包括任務(wù)創(chuàng)建、任務(wù)切換、任務(wù)就緒表、空閑任務(wù)創(chuàng)建、精確延時(shí)等,不同內(nèi)核要素的運(yùn)行時(shí)序如圖2(a)所示。案例2主要包括操作系統(tǒng)初始化、任務(wù)創(chuàng)建、任務(wù)刪除、操作系統(tǒng)啟動(dòng)、任務(wù)1啟動(dòng)-調(diào)用-狀態(tài)機(jī)轉(zhuǎn)換、任務(wù)2啟動(dòng)-調(diào)用-狀態(tài)機(jī)轉(zhuǎn)換和任務(wù)3啟動(dòng)-調(diào)用-狀態(tài)機(jī)轉(zhuǎn)換等內(nèi)容,所涉及的內(nèi)核要素包括任務(wù)創(chuàng)建、任務(wù)刪除、任務(wù)切換、任務(wù)就緒表、精確延時(shí)等,不同內(nèi)核要素的運(yùn)行時(shí)序如圖2(b)所示。此外,將運(yùn)行時(shí)序結(jié)合嵌入式操作系統(tǒng)函數(shù)程序的不同進(jìn)行細(xì)分,不同函數(shù)程序的運(yùn)行時(shí)序如圖3所示。
(a)案例1
(b)案例2圖3 函數(shù)程序的運(yùn)行時(shí)序
筆者以武漢理工大學(xué)信息工程學(xué)院電子信息工程系嵌入式操作系統(tǒng)專(zhuān)業(yè)課中的2017級(jí)學(xué)生(103人,對(duì)照組)和2018級(jí)學(xué)生(69人,實(shí)驗(yàn)組)在實(shí)驗(yàn)課中的實(shí)驗(yàn)成績(jī)作為教學(xué)效果的評(píng)價(jià)指標(biāo)(2017級(jí)學(xué)生在實(shí)驗(yàn)教學(xué)過(guò)程中未采用本文所提的教學(xué)方法,2018級(jí)學(xué)生在實(shí)驗(yàn)教學(xué)過(guò)程中采用了本文所提的教學(xué)方法)。針對(duì)不同年級(jí)實(shí)驗(yàn)課成績(jī),通過(guò)Matlab中的ttest2函數(shù)進(jìn)行獨(dú)立樣本t檢驗(yàn),結(jié)果顯示實(shí)驗(yàn)組的實(shí)驗(yàn)成績(jī)與未對(duì)照組的實(shí)驗(yàn)成績(jī)?cè)?.05顯著性水平下呈現(xiàn)差異,比較兩組數(shù)據(jù)的均值可以看到,從統(tǒng)計(jì)分析的角度,使用該教學(xué)方法的學(xué)生實(shí)驗(yàn)成績(jī)是高于未使用該教學(xué)方法的學(xué)生實(shí)驗(yàn)成績(jī)的,如表1所示。
表1 獨(dú)立樣本t檢驗(yàn)
在教育部大力推行課程思政建設(shè)與美國(guó)所謂“科技封鎖”的時(shí)代交匯點(diǎn),改進(jìn)嵌入式系統(tǒng)專(zhuān)業(yè)課程的教學(xué)方法,有助于提升電子信息工程專(zhuān)業(yè)學(xué)生分析問(wèn)題和解決問(wèn)題的能力,同樣也是激發(fā)電子信息工程專(zhuān)業(yè)學(xué)生科技興國(guó)情懷的重要方式。結(jié)合“嵌入式操作系統(tǒng)”知識(shí)結(jié)構(gòu)特點(diǎn),研究面向案例分析融合運(yùn)行時(shí)序的“嵌入式操作系統(tǒng)”教學(xué)方法,從內(nèi)核要素、運(yùn)行時(shí)序和案例分析的角度,綜合、全面和直觀地介紹嵌入式操作系統(tǒng)各內(nèi)核要素的時(shí)序運(yùn)行過(guò)程及其耦合特點(diǎn),并通過(guò)教學(xué)案例和數(shù)據(jù)分析驗(yàn)證了該教學(xué)方法的有效性。
今后將融合更多的知識(shí)點(diǎn)進(jìn)行課程綜合設(shè)計(jì),例如,利用STM32開(kāi)發(fā)板和uC/OS-III操作系統(tǒng)開(kāi)發(fā)復(fù)雜的應(yīng)用程序(綜合利用信號(hào)量、消息傳遞、存儲(chǔ)管理等內(nèi)容),從多內(nèi)核要素耦合和時(shí)序運(yùn)行過(guò)程,更為全面地介紹嵌入式操作系統(tǒng)的運(yùn)行過(guò)程。同時(shí),“嵌入式操作系統(tǒng)”如何和課程思政要素進(jìn)行全面、深度融合,也是未來(lái)教學(xué)研究的重點(diǎn)方向。此外,開(kāi)展國(guó)產(chǎn)嵌入式操作系統(tǒng)(如鴻蒙嵌入式操作系統(tǒng)等內(nèi)容)的教學(xué)研究在推行課程思政建設(shè)方面也具有十分重要的實(shí)踐意義,未來(lái)將融合更多的國(guó)產(chǎn)嵌入式操作系統(tǒng)教學(xué)內(nèi)容至課程思政教學(xué)過(guò)程中,提升學(xué)生對(duì)國(guó)產(chǎn)嵌入式操作系統(tǒng)的認(rèn)識(shí)和理解,激發(fā)科技興國(guó)的內(nèi)在動(dòng)力。