英創公司的ESM6802和ESM7000主板都是基于yocto的工程來定制的內核以及文件系統,yocto是一個開源社區,它針對許多嵌入式設備的CPU提供了系統模板和工具,而且積累了非常豐富的資源。ESM6802和ESM7000主板的文件系統也從中選取了大量實用的庫以及工具,包括x11桌面服務以及基于x11的qt-5.8版本等,讓用戶開發起來更加方便。
同時英創公司也將Ubuntu系統移植到嵌入式主板ESM6802和ESM7000中,考慮到穩定性選取了Ubuntu-18.04 LTS版本,在Ubuntu官方提供的arm版本基礎文件系統包上,將常用的庫和工具安裝上(包括X11桌面服務以及qt-5.9.5等),配合主板修改好相關的配置文件就完成了Ubuntu系統的移植。在對Ubuntu系統的測試的過程中,英創公司與現在基于yocto工程移植的系統做了一些比較,主要是以開發環境的搭建、使用以及工控領域最為重視的穩定性作為比較點,可以供用戶參考。
開發環境比較
首先是主板標準系統(后面簡稱yocto/X11系統)的開發環境的搭建,英創公司通過yocto的項目制作了供主板使用的交叉工具鏈安裝包,用戶在安裝了Linux發行版系統的開發主機(通常是PC)中可以一鍵安裝完成。使用的時候也很方便,用戶只需要根據手冊的說明執行一條命令導入環境變量,就能夠正常使用交叉工具鏈了。同時為了讓不太熟悉Linux系統的用戶能夠更加方便的開發,英創公司還提供了配合交叉工具鏈使用的eclipse和開發Qt程序所使用的QtCreator,這兩款工具都提供了一個方便操作的IDE環境,讓用戶可以跳過相對復雜的命令行,在IDE界面中編輯和編譯代碼。
再來看Ubuntu系統,客戶需要在開發主機上安裝和主板Ubuntu系統相同的版本來搭建環境,也就是Ubuntu-18.04版本。開發環境的搭建是利用Ubuntu系統提供的靜態的arm虛擬功能,直接在開發主機上建立主板的chroot環境,在這個環境中就能夠完成開發和調試。這里簡單介紹一下chroot環境,chroot是unix系統的一個操作,針對正在運作的軟件進程和它的子進程,改變它外顯的根目錄,創建并運行一個隔離的虛擬軟件系統拷貝。其實這就類似于在Ubuntu系統中創建一個跨平臺的虛擬機,在虛擬機中運行arm主板的系統。英創公司會提供給用戶一個配置好的專用于開發的文件系統(在主板的文件系統基礎上精簡并配置好Qtcreator),利用這個文件系統建立chroot環境,就可以在這個環境中使用QtCreator中進行開發。
通過對兩種系統開發環境的介紹,可以看出來yocto/X11系統開發環境的搭建和使用更為簡便,在安裝好交叉工具鏈和IDE工具后,直接運行eclipse或者QtCreator就可以進行代碼調試和開發了。Ubuntu系統在搭建環境的時候很簡單,只用將英創公司提供的開發專用文件系統拷貝到開發主機中,但是每次運行都需要建立chroot環境,進入到chroot環境中再啟動QtCreator進行開發,如果熟悉linux系統的用戶可以設計一個腳本來啟動。最大的問題在于因為類似于搭建了一個虛擬機,所以運行速度會有所降低,如果用戶的開發主機本來就是使用的虛擬機安裝的Ubuntu系統,那么chroot環境的運行速度將會有明顯降低,從而會影響開發的效率。
系統可維護性和穩定性比較
主板的yocto系統中包含了常用的工具和庫文件,比如apache、splite3、mysql、qt5.8等,這些工具和庫文件的版本都是固定不變的,并且經過了長時間的測試,可以保證系統的穩定性。同時這些工具和庫文件都是由英創公司移植的,如果出現問題,能夠第一時間測試和處理。
Ubuntu系統中可以支持從Ubuntu的軟件源(arm版本)獲取軟件,通過apt-get命令就可以方便的安裝所需要的工具。但同時也帶來了一些問題,這些軟件都是由Ubuntu社區提供,有一些軟件沒有在主板上測試足夠長的時間,不能夠保證它的穩定性。一旦Ubuntu的軟件源有更新,在這之后使用apt-get命令安裝的軟件都會升級到新版本,新的軟件版本同樣沒有在主板上測試過,如果出現問題,英創公司無法定位到具體的代碼中。所以從穩定性上來講,yocto系統更加有保障。
從工業控制的角度來看,設備大都是處在無人值守的情況,穩定性是最為重要的指標,對于軟件并不要求使用最新的版本。所以綜合看來,在yocto/X11系統能夠滿足應用需求的情況下,從開發的便捷性和主板的穩定性來講,yocto/X11系統是最符合嵌入式工業控制的要求的選擇。
當然Ubunut系統也有它的優點,如果需要使用比較復雜的軟件,比如像Docker這類軟件,移植到arm平臺是十分復雜以及花費時間的,但是Ubunut的軟件源中就能夠提供現成的arm版本軟件,這時就可以選擇使用Ubuntu系統進行進行開發。利用Ubunut提供的軟件安裝工具,能夠快速的搭建好基本的軟件環境,可以極大的節省開發時間。
有興趣的用戶可以直接和英創的工程師聯系獲取相關資料。
成都英創信息技術有限公司 028-8618 0660