搭建LittlevGL PC模擬器環境

   兩週前,在查找一些嵌入式GUI庫的相關資料的時候,經過反覆搜索,終於被我發現了一個原始控件比較美觀,並且開源的庫——LittlevGL。


       在瞭解過付費嵌入式GUI庫的授權價格(授權價格爲數千美元或者數千歐元不等)之後,一個開源的、免費的庫就顯得更加有吸引力。

        LittlevGL已經成爲了開源RTOS(實時操作系統)RT-Thread的GUI軟件包之一。從目前瞭解到的信息來看,LittlevGL確實是一個不錯的選擇。

   官方提供了PC模擬器,可以在電腦上看到界面實際運行的效果。儘管模擬器不能進行可視化界面開發,還是會很有幫助。我已經在Windows 10和Ubuntu18.04上成功運行了官方提供的模擬器。

        官方提供的模擬器基於開源的集成開發環境Eclipse。事實上LittlevGL的官網已經提供了完整的運行模擬器的教程,在Linux環境下操作非常簡單。在Windows環境下,開發環境的配置略微複雜一些,容易忽略一些操作,導致失敗。

        這裏按照官方教程,完整描述一遍運行模擬器的過程。


1.安裝Eclipse CDT(Eclipse C/C++開發工具)

        Eclipse是一個基於Java的免費的集成開發環境,有多個版本,支持包括Java、Python、Android APP、C/C++、PHP在內的衆多不同編程語言的應用開發。

        Eclipse的安裝非常簡單,不依賴操作系統,甚至直接解壓軟件的壓縮包在任意位置即可使用。Eclipse官網提供了Eclipse安裝工具,可以非常簡單地進行安裝。

        在Eclipse官網下載安裝工具。

 

        雙擊運行安裝工具,選擇Eclipse IDE for C/C++ Developer進行安裝。

 

 嘗試啓動Eclipse,如果無法正常啓動,說明電腦缺少JRE(Java運行環境),應當在Java官方網站的下載頁面下載Windows版本的JRE並安裝。截止2018年9月,最新的JRE版本是jre-8u181-windows-x64.exe。

        按照提示進行安裝,或者更改安裝路徑後按照提示進行安裝即可。安裝完畢,再嘗試運行Eclipse,應當可以成功運行。

        eclipse每次啓動之後,會提示選擇自己的工作區域路徑,如圖。


2.安裝MinGW

        LittlevGL官方提供的PC模擬器原本是設計運行在Linux環境中的。Windows中,需要安裝專門的支持,以在Windows平臺使用Linux平臺中常用的gcc等工具。

        按照官方教程,下載MinGW(64 bit version for Windows)。按照提示下載,得到安裝程序mingw-w64-install.exe。雙擊運行程序,如圖進行設置,第一項版本選擇最新版本,第二項架構選擇“x86_64”架構,其他保持默認即可。

        點擊“Next”,選擇安裝路徑,並按照提示完成安裝。當然最好路徑中不包含中文字符。安裝完成之後,將安裝路徑下的bin文件夾的完整路徑添加到環境變量“PATH”,並重啓電腦。例如,我的路徑是

D:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin

 

        重啓電腦之後,在命令行輸入指令“gcc -v”,正確顯示gcc版本號,證明安裝成功。


3.安裝SDL 2

SDL 2是一個用來在PC上模擬TFT屏和觸摸板實際運行情況的跨平臺的庫。按照官方的要求操作即可。下載SDL 2(SDL2-devel-2.0.8-VC.zipSDL2-devel-2.0.9-mingw.tar.gz)。進行以下操作:

  • 解壓壓縮包
  • 複製文件夾…_mingw32/include/SDL2到…/MinGW/…/x86_64-w64-mingw32/include
  • 複製文件夾…_mingw32/lib/內的全部文件到 …MinGW/…/x86_64-w64-mingw32/lib文件夾

     

4.下載、配置、運行模擬器

        從GitHub或者下載頁,下載模擬器工程壓縮包。

        將壓縮包解壓到自己選擇的{eclipse的工作區域路徑}下。

        複製文件…_mingw32/bin/SDL2.dll{eclipse的工作區域路徑}/pc_simulator/Debug/。

        啓動Eclipse,選擇自己的{eclipse的工作區域路徑},File -> Open Projecs from File System -> 選中pc_simulator文件夾,導入porject。

        此時點擊編譯器頂部的錘子圖標嘗試進行編譯的話,會提示錯誤,還需要進行配置。

        按照順序project -> Project properties -> C/C++ Build -> Settings -> Libraries -> Add … 進行操作,在SDLmain和SDL之前添加一項mingw32,如圖。

 

        按照順序project -> Project properties -> C/C++ Build -> Tool Chain Editor進行操作,設置工具鏈爲MinGW GCC,設置builder爲CDT Internal Builder,如圖。

        按照順序project -> Project properties -> C/C++ Build -> Tool Chain Editor進行操作,設置工具鏈爲MinGW GCC,設置builder爲CDT Internal Builder,如圖。

 

        按照順序project -> Project properties -> C/C++ General -> Paths and Symbols -> include -> GNU C -> Add …,進行操作,添加一個路徑${MINGW_HOME}/include,這一步官方教程中沒有說明,會導致報錯找不到文件SDL2/SDL.h,如圖。

 

        點擊右下角的Apply and Close按鈕,應用設置並關閉窗口。

        點擊錘頭圖標進行編譯,無錯誤,點擊箭頭圖標運行,成功顯示Demo界面。如圖。


bug解決

1.編譯報錯:..\lv_drivers\display\fbdev.c:17:10: fatal error: sys/mman.h: No such file or directory

2.模擬器調用報錯


5.在Ubuntu上運行模擬器

        在Linux環境運行該模擬器比在Windows環境要簡單很多。使用以下命令配置運行環境:

  • 查詢SDL2庫的最新版本號: apt-cache search libsdl2
  • 安裝最新版本的SDL2庫: sudo apt-get install libsdl2-2.0-0
  • 安裝SDL2開發包: sudo apt-get install libsdl2-dev
  • 如果沒有的話需要安裝: sudo apt-get install build-essential

        下載Eclipse CDT,下載時自動識別下載環境,獲得一個壓縮包,解壓即可運行,如

果運行不成功,同樣需要安裝Java運行時環境。
 

        下載pc_simulator壓縮包,解壓到Eclipse工作區域路徑下,直接在Eclipse中導入,編譯運行即可。

 

        此處就不再做演示。


結束語

        寫這篇教程寫得實在是有點艱難,一來工具不是很熟悉,邊寫邊摸索,索性沒犯什麼嚴重的錯誤;二來教程內容幾經修改,差點寫入過多不相關的內容。以後應該會做得更好一些。

        將LittlevGL運行在單片機上,目前有點想法,但是手頭沒有合適的物料,可能要往後推了。

 


 

謝謝原創

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章