江蘇農林職業技術學院 顏秋林
國網江蘇省電力有限公司鎮江供電分公司 曹美玲
江蘇農林職業技術學院 呂 驍
嵌入式系統開發課程是一門綜合性高、實踐性強的專業課,為更好地幫助學生掌握專業技能,教學過程中需安排相當的實踐操作。然而學生電腦的軟件環境配置各不相同,實踐中遇到的環境問題不統一,給教學帶來嚴重挑戰。針對上述問題,本文旨在通過基于Linux操作系統服務器實現嵌入式系統開發課程的交叉編譯功能,為整個課程提供穩定而又統一的教學平臺,實現掃除初學者被嵌入式系統開發課程環境所困的目的。
隨著電子產品智能化發展,嵌入式技術與日常生活之間的關聯度愈來愈高。為保障高職大專院校畢業生高質量就業,部分高職大專院校專業也開設了嵌入式系統開發課程,努力為學生創造嵌入式技術學習條件,進而為后期從事嵌入式相關工作打下堅實基礎。嵌入式系統是以計算技術為基礎、多學科交叉的綜合性高實踐性強的應用課程。因此如何將這些知識有機結合起來,培養學生實踐能力與創新能力,提升教學效果與學生培養質量,對教學組織者和實施者來說是首要考慮的問題。然而傳統的嵌入式系統開發課堂教學中,課程所需要的教學環境基本都是學生各自搞一套,這就會導致授課教師需要幫助學生解決各種環境問題。又因嵌入式系統課程門檻高、入門難,大部分初學者都會被開發環境所困擾,進而影響到學習的積極性和主動性。基于此,本文準備引入企業級的嵌入式開發環境,以Linux系統服務器為基礎,在此服務器上主要安裝samba服務、ssh服務和交叉編譯工具鏈,最終實現穩定而又統一的課程教學平臺,解決學生嵌入式系統開發課程學習的首要困難。
教學平臺的網絡拓撲圖如圖1所示。該教學平臺的搭建以學校的校園網絡為基礎,確保服務器與PC機之間網絡通暢,此外服務器上安裝Ubuntu16.04操作系統,在不影響其它課程對實驗室教學環境使用的前提下,實驗室的PC機仍然安裝通用的Windows操作系統。此時的PC機在嵌入式系統開發課程中只充當客戶端的角色,平臺所提供的功能更多都是在服務器上實現。

圖1 網絡拓撲圖
該教學平臺在更多時候稱為交叉編譯環境,它的實現步驟中最基本、最核心的是服務器上的功能安裝以及配置的設置,主要包括ssh服務、samba服務和交叉編譯工具鏈。下面分別對其進行闡述。
ssh(安全外殼協議)為建立在應用層基礎上的安全協議,較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。用系統賬號登錄服務器,在其終端輸入apt-get install openssh-server命令進行安裝,安裝完成后通過/etc/init.d/ssh restart命令重啟ssh服務,最終通過netstat -tlp命令查看ssh服務是否安裝成功。
samba由服務器及客戶端程序構成,主要為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。首先apt-get install samba samba-common命令進行samba安裝;然后創建共享路徑并且修改其權限;其次修改/etc/samba/smb.conf配置文件,配置文件里面主要設置共享路徑訪問方式等相關權限;最后添加共享路徑的登錄用戶名和密碼,添加完成后通過/etc/init.d/smbd restart命令重啟samba服務。
交叉編譯工具鏈通常廠商都會提供配置好的壓縮包,只需把工具鏈壓縮包放在服務器上解壓配置環境變量即可。此外需要注意,Linux是多用戶多任務的操作系統,為方便起見,一勞永逸的辦法是交叉編譯工具鏈的路徑添加至Linux系統級環境變量配置/etc/profile文件中,系統重啟后所有用戶登錄后都能使用該工具鏈。
根據課堂教學需求,服務器上創建普通用戶,再為每個普通用戶創建samba賬號以及密碼,依據實際情況進行samba配置,配置完成后重啟samba服務。此外為防止課堂上個別學生無限制地往服務器上傳大容量文件,進而占滿服務器存儲空間導致其它學生不能正常使用的情況,需在服務器進行用戶磁盤配額,為每個用戶限制使用存儲容量的大小,超過就無法向服務器上傳。
無論是ssh遠程登錄連接還是samba連接,必須要保證這套環境中服務器與客戶端之間的網絡是互通的,否則會連接不成功。
客戶端PC機上安裝終端仿真程序,通常使用secure CRT或Putty軟件,選擇ssh2協議登陸至服務器,在PC機上就能進行相關操作如同在Ubuntu上的終端操作一樣。以CRT軟件為例,ssh遠程登錄配置如圖2所示。

圖2 ssh遠程登錄配置
samba連接服務器流程簡單,打開我的電腦路徑欄輸入\服務器ip地址,可以看到服務器上的創建的samba共享文件如圖3所示,選擇對應的共享文件輸入相應的賬號即可進入共享空間,為操作方便把共享文件通過網絡磁盤映射方式映射至本地電腦,映射成功后操作Linux的空間如同Windows上的磁盤如圖4所示,此時所熟悉的Windows工具就能在此盤上使用了。

圖3 samba共享文件

圖4 共享文件映射為本地磁盤
基于Linux+Windows平臺下嵌入式系統開發課程教學平臺的搭建以校園網絡為基礎,以安裝Ubuntu操作系統的服務器作為教學平臺的核心,該服務器上主要安裝ssh服務、samba服務以及交叉編譯工具鏈等。教學平臺環境實現了以下目標,一是嵌入式系統開發課程學習環境搭建復雜且瑣碎,但教學平臺建好能夠長期使用;二是統一教學平臺后,教學能夠避免不同的編譯環境問題,為學生避開了暫時不需面對的障礙;三是對Linux系統操作要求降低了,學生可以使用熟悉的Windows開發工具進行編碼,進而可以把更多精力用在課程上而不是耗費在環境問題上。