精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

stm32mp157教程案例 STM32MP157移植LVGL

武漢萬象奧科 ? 來源:武漢萬象奧科 ? 作者:武漢萬象奧科 ? 2022-04-06 11:07 ? 次閱讀

1 簡介

LVGL(Light and Versatile Embedded Graphics Library)是一個免費開源的嵌入式圖形庫,界面美觀, 內存占用低, 支持C和Python等開發方式。早在幾年前它就表現得十分驚艷,現如今被越來越多的人喜愛。筆者之前是使用6版本在單片機上面運行,如今都已經更新到7版本多了,人往高處走,終究得跟上最新版本,于是便有了關于LVGL7版本在linux上移植的這件篇筆記。

本次教程使用的開發板是萬象奧科的HD-STM32MP157-STY開發板。該開發板使用STM32MP1家族中是目前性能強勁,資源最為豐富的一款處理器STM32MP157DAA,雙核ARM Cortex-A7 @800Mhz/單核 Cortex-M4@209MHz ,板載1GB內存以及8G eMMC Flash。開發板具體信息詳見文末。

LVGL官網為https://lvgl.io/,進入LVGL官網即可看到Github、Release notes、Docs、Forum鏈接,可按需下載


2 運行Demo

為了開發方便,LVGL提供了很多仿真工程,可以在Eclipse、CodeBlocks、VisualStudio等各種環境上運行。


筆者這里簡單介紹下VisualStudio環境下的操作。


2.1 下載代碼


運行如下命令進行代碼下載:


git clone https://github.com/

lvgl/lv_sim_visual_studio.git

cd lv_sim_visual_studio

git submodule update --init --recursive

下載后得到的文件如下:


雙擊LVGL.Simulator.sln即可使用VisualStudio打開工程。


2.2 調試


在VisualStudio中選擇x64,然后點擊“本地Windows調試器”。這時,會自動對代碼進行編譯。

編譯成功后,會自動打開界面,顯示LVGL Simulator for Windows Desktop,界面如下:


3 移植

3.1、下載源代碼

LVGL的源碼存放于github,可通過git進行下載。具體操作如下:


mkdirlvgl

cd lvgl

#Git lvgl的源碼

git clone --recursive

https://github.com/littlevgl/

linux_frame_buffer.git

#若是下載速度慢也可以進LVGL官網的GIT倉庫下載源碼

cd linux_frame_buffer

#更新一下源碼

git submodule foreach 'git checkout master; git pull'

3.2 安裝必要的庫


LVGL在Linux下面運行是需要依賴SDL庫,首先我們需要進行如下命令安裝SDL庫;


sudo apt update

sudo apt install -y build-essential libsdl2-dev

3.3 交叉編譯需要的庫

3.3.1 交叉編譯SDL庫

Linux版本LVGL需要依賴SDL庫,所以在交叉編譯LVGL之前需要先交叉編譯SDL庫。具體的方法比較多,如:

純手動交叉編譯。此方法操作比較復雜,不推薦使用。

主機安裝qemu來搭建arm環境,進入arm環境apt得到庫(推薦)。

使用buildroot(推薦)。

本次教程介紹使用buildroot進行安裝,具體步驟如下:

3.3.1.1 配置、編譯


首先在buildroot源代碼目錄運行如下命令進行配置:


sudo make menuconfig

勾選上圖所示保存并編譯。


3.3.1.2 查找SDL庫


配置成功后,編譯會得到一個可直接用于開發板的文件系統,這個文件系統中會包含SDL依賴庫。可以使用find命令找到這個庫:


sudo find / -name libSDL2.a

3.3.2 交叉編譯tslib庫


LVGL需要用到觸摸功能,觸摸功能需要使用到tslib庫,我們同樣使用buildroot編譯tslib。


sudo make menuconfig

編譯后,會得到tslib相關的庫。

3.4 收集得到的庫

將編譯好的SDL庫和tslib庫拷貝到LVGL的工程中。

在LVGL工程中新建lib目錄,將庫文件放置于其中,lib中文件有:

libSDL2.a libts.la libts.so libts.so.o libts.so.0.10.3 pkgconfig ts tslib.h

3.5 修改Makefile文件


接下來需要修改Makefile,加入LDFLAGS和CFLAGS的配置,LDFLAGS一般代表鏈接可執行程序時的鏈接選項,CFLAGS指定了頭文件查找路徑。

LDFLAGS += -L$(LVGL_DIR)/lib

CFLAGS += -I$(LVGL_DIR)/lib

LDFLAGS += -lts -lpthread

注釋掉主機環境,添加交叉編譯的CFLAGS


3.6 修改顯示屏分辨率


在lv_conf.h中,有顯示屏分辨率的配置,LV_HOR_RES_MAX和LV_VER_RES_MAX,筆者使用的屏幕分辨率為800480,將這里修改為800480即可。


3.7 編譯

make CC=arm-none-linux-gnueabihf-gcc -j8

修改好代碼后,使用make進行編譯,編譯完成會得到一個可執行文件。執行效果如下:


STM32MP1產品靚照

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208949
  • STM32
    +關注

    關注

    2266

    文章

    10876

    瀏覽量

    354925
  • 開發板
    +關注

    關注

    25

    文章

    4959

    瀏覽量

    97214
  • LVGL
    +關注

    關注

    1

    文章

    81

    瀏覽量

    2912
收藏 人收藏

    評論

    相關推薦

    100ASK_STM32MP157是什么?為什么要做STM32MP157開發板?

    100ASK_STM32MP157是什么?為什么要做STM32MP157開發板?100ASK_STM32mp157有哪些文檔和視頻?
    發表于 07-06 10:21

    基于STM32MP157的Linux操作系統移植

    免費課程分享:《基于STM32MP157的Linux操作系統移植》華清遠見FS-MP1A開發板(主控芯片stm32mp157)獲ST官方推薦,開發板入門系列視頻上線ST官網!ST官網課
    發表于 08-03 06:24

    如何利用STM32MP157開發板去學習Linux呢

    STM32MP157板子有哪些用途?如何利用STM32MP157開發板去學習Linux呢?
    發表于 09-10 07:28

    STM32MP157超強芯片有哪些應用

    STM32MP157超強芯片有哪些特性?STM32MP157超強芯片有哪些應用?
    發表于 10-11 07:32

    為什么要做STM32MP157開發板呢

    100ASK_STM32MP157開發板是由哪些部分組成的?為什么要做STM32MP157開發板呢?
    發表于 10-28 07:37

    STM32MP157資源擴展板蜂鳴器控制

    寫在前面:本文章為《STM32MP157資源擴展板驅動移植篇》系列中的一篇,筆者使用的開發平臺為華清遠見FS-MP1A開發板(STM32MP157開發板)。資源擴展板是FS-
    發表于 01-06 06:34

    STM32MP157 Linux系統移植開發

    本文章為《STM32MP157 Linux系統移植開發篇》系列中的一篇,筆者使用的開發平臺為華清遠見FS-MP1A開發板(STM32MP157開發板)。
    發表于 01-12 06:07

    STM32MP157開發板的相關資料下載

    目錄文章目錄一、STM32MP157開發板簡介二、STM32cubeide簡介三、驅動DAC85601.gpio2.系統時鐘3.基本定時器4.模擬spi總結一、STM32MP157開發板簡介
    發表于 02-07 06:22

    stm32mp157開發的相關資料分享

    關于FS-MP1A開發板(stm32mp157):FS-MP1A開發板是華清遠見最新自主研發的一款高品質、高性價比的linux+單片機二合一開發板。搭載ST的STM32MP157高性能
    發表于 02-11 07:35

    stm32mp157多核異構處理器有哪些功能呢

    stm32mp157是什么?stm32mp157多核異構處理器有哪些功能呢?
    發表于 02-28 06:58

    如何通過Cortex M4控制STM32MP157上的LTDC?

    是否可以通過Cortex M4協處理器控制STM32MP157上的LTDC?我注意到 STM32MP157 上沒有適用于 LTDC 的 HAL 驅動程序。為什么會這樣?我們可以在 STM32MP157 上使用適用于
    發表于 01-16 06:02

    【視頻】華清遠見stm32mp157開發入門指導(7講)

    關于FS-MP1A開發板(stm32mp157):FS-MP1A開發板是華清遠見最新自主研發的一款高品質、高性價比的linux+單片機二合一開發板。搭載ST的STM32MP157高性能
    發表于 12-07 19:06 ?8次下載
    【視頻】華清遠見<b class='flag-5'>stm32mp157</b>開發入門指導(7講)

    迅為STM32MP157開發板使用手冊更新啦

    迅為STM32MP157開發板使用手冊更新啦
    的頭像 發表于 03-24 16:33 ?1317次閱讀
    迅為<b class='flag-5'>STM32MP157</b>開發板使用手冊更新啦

    迅為STM32MP157開發板入門教程之外設功能驗證

    迅為STM32MP157開發板入門教程之外設功能驗證
    的頭像 發表于 02-23 14:12 ?1342次閱讀
    迅為<b class='flag-5'>STM32MP157</b>開發板入門教程之外設功能驗證

    STM32MP157 MPU的評估板

    STM32MP157C-EV1 和 STM32MP157A-EV1 評估板 (STM32MP157x-EV1) 是作為 STM32MP1 系列中基于 STMicroelectronic
    發表于 10-09 17:31 ?1次下載