在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

stm32mp157教程案例 STM32MP157移植LVGL

武漢萬(wàn)象奧科 ? 來(lái)源:武漢萬(wàn)象奧科 ? 作者:武漢萬(wàn)象奧科 ? 2022-04-06 11:07 ? 次閱讀

1 簡(jiǎn)介

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

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

LVGL官網(wǎng)為https://lvgl.io/,進(jìn)入LVGL官網(wǎng)即可看到Github、Release notes、Docs、Forum鏈接,可按需下載。


2 運(yùn)行Demo

為了開(kāi)發(fā)方便,LVGL提供了很多仿真工程,可以在Eclipse、CodeBlocks、VisualStudio等各種環(huán)境上運(yùn)行。


筆者這里簡(jiǎn)單介紹下VisualStudio環(huán)境下的操作。


2.1 下載代碼


運(yùn)行如下命令進(jìn)行代碼下載:


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打開(kāi)工程。


2.2 調(diào)試


在VisualStudio中選擇x64,然后點(diǎn)擊“本地Windows調(diào)試器”。這時(shí),會(huì)自動(dòng)對(duì)代碼進(jìn)行編譯。

編譯成功后,會(huì)自動(dòng)打開(kāi)界面,顯示LVGL Simulator for Windows Desktop,界面如下:


3 移植

3.1、下載源代碼

LVGL的源碼存放于github,可通過(guò)git進(jìn)行下載。具體操作如下:


mkdirlvgl

cd lvgl

#Git lvgl的源碼

git clone --recursive

https://github.com/littlevgl/

linux_frame_buffer.git

#若是下載速度慢也可以進(jìn)LVGL官網(wǎng)的GIT倉(cāng)庫(kù)下載源碼

cd linux_frame_buffer

#更新一下源碼

git submodule foreach 'git checkout master; git pull'

3.2 安裝必要的庫(kù)


LVGL在Linux下面運(yùn)行是需要依賴(lài)SDL庫(kù),首先我們需要進(jìn)行如下命令安裝SDL庫(kù);


sudo apt update

sudo apt install -y build-essential libsdl2-dev

3.3 交叉編譯需要的庫(kù)

3.3.1 交叉編譯SDL庫(kù)

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

純手動(dòng)交叉編譯。此方法操作比較復(fù)雜,不推薦使用。

主機(jī)安裝qemu來(lái)搭建arm環(huán)境,進(jìn)入arm環(huán)境apt得到庫(kù)(推薦)。

使用buildroot(推薦)。

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

3.3.1.1 配置、編譯


首先在buildroot源代碼目錄運(yùn)行如下命令進(jìn)行配置:


sudo make menuconfig

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


3.3.1.2 查找SDL庫(kù)


配置成功后,編譯會(huì)得到一個(gè)可直接用于開(kāi)發(fā)板的文件系統(tǒng),這個(gè)文件系統(tǒng)中會(huì)包含SDL依賴(lài)庫(kù)。可以使用find命令找到這個(gè)庫(kù):


sudo find / -name libSDL2.a

3.3.2 交叉編譯tslib庫(kù)


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


sudo make menuconfig

編譯后,會(huì)得到tslib相關(guān)的庫(kù)。

3.4 收集得到的庫(kù)

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

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

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

3.5 修改Makefile文件


接下來(lái)需要修改Makefile,加入LDFLAGS和CFLAGS的配置,LDFLAGS一般代表鏈接可執(zhí)行程序時(shí)的鏈接選項(xiàng),CFLAGS指定了頭文件查找路徑。

LDFLAGS += -L$(LVGL_DIR)/lib

CFLAGS += -I$(LVGL_DIR)/lib

LDFLAGS += -lts -lpthread

注釋掉主機(jī)環(huán)境,添加交叉編譯的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進(jìn)行編譯,編譯完成會(huì)得到一個(gè)可執(zhí)行文件。執(zhí)行效果如下:


STM32MP1產(chǎn)品靚照

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11446

    瀏覽量

    212670
  • STM32
    +關(guān)注

    關(guān)注

    2288

    文章

    10999

    瀏覽量

    362016
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5472

    瀏覽量

    101813
  • LVGL
    +關(guān)注

    關(guān)注

    1

    文章

    99

    瀏覽量

    3518
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    100ASK_STM32MP157是什么?為什么要做STM32MP157開(kāi)發(fā)板?

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

    基于STM32MP157的Linux操作系統(tǒng)移植

    免費(fèi)課程分享:《基于STM32MP157的Linux操作系統(tǒng)移植》華清遠(yuǎn)見(jiàn)FS-MP1A開(kāi)發(fā)板(主控芯片stm32mp157)獲ST官方推薦,開(kāi)發(fā)板入門(mén)系列視頻上線(xiàn)ST官網(wǎng)!ST官網(wǎng)課
    發(fā)表于 08-03 06:24

    如何利用STM32MP157開(kāi)發(fā)板去學(xué)習(xí)Linux呢

    STM32MP157板子有哪些用途?如何利用STM32MP157開(kāi)發(fā)板去學(xué)習(xí)Linux呢?
    發(fā)表于 09-10 07:28

    STM32MP157超強(qiáng)芯片有哪些應(yīng)用

    STM32MP157超強(qiáng)芯片有哪些特性?STM32MP157超強(qiáng)芯片有哪些應(yīng)用?
    發(fā)表于 10-11 07:32

    為什么要做STM32MP157開(kāi)發(fā)板呢

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

    STM32MP157資源擴(kuò)展板蜂鳴器控制

    寫(xiě)在前面:本文章為《STM32MP157資源擴(kuò)展板驅(qū)動(dòng)移植篇》系列中的一篇,筆者使用的開(kāi)發(fā)平臺(tái)為華清遠(yuǎn)見(jiàn)FS-MP1A開(kāi)發(fā)板(STM32MP157開(kāi)發(fā)板)。資源擴(kuò)展板是FS-
    發(fā)表于 01-06 06:34

    STM32MP157 Linux系統(tǒng)移植開(kāi)發(fā)

    本文章為《STM32MP157 Linux系統(tǒng)移植開(kāi)發(fā)篇》系列中的一篇,筆者使用的開(kāi)發(fā)平臺(tái)為華清遠(yuǎn)見(jiàn)FS-MP1A開(kāi)發(fā)板(STM32MP157開(kāi)發(fā)板)。
    發(fā)表于 01-12 06:07

    STM32MP157開(kāi)發(fā)板的相關(guān)資料下載

    目錄文章目錄一、STM32MP157開(kāi)發(fā)板簡(jiǎn)介二、STM32cubeide簡(jiǎn)介三、驅(qū)動(dòng)DAC85601.gpio2.系統(tǒng)時(shí)鐘3.基本定時(shí)器4.模擬spi總結(jié)一、STM32MP157開(kāi)發(fā)板簡(jiǎn)介
    發(fā)表于 02-07 06:22

    stm32mp157開(kāi)發(fā)的相關(guān)資料分享

    關(guān)于FS-MP1A開(kāi)發(fā)板(stm32mp157):FS-MP1A開(kāi)發(fā)板是華清遠(yuǎn)見(jiàn)最新自主研發(fā)的一款高品質(zhì)、高性?xún)r(jià)比的linux+單片機(jī)二合一開(kāi)發(fā)板。搭載ST的STM32MP157高性能
    發(fā)表于 02-11 07:35

    stm32mp157多核異構(gòu)處理器有哪些功能呢

    stm32mp157是什么?stm32mp157多核異構(gòu)處理器有哪些功能呢?
    發(fā)表于 02-28 06:58

    如何通過(guò)Cortex M4控制STM32MP157上的LTDC?

    是否可以通過(guò)Cortex M4協(xié)處理器控制STM32MP157上的LTDC?我注意到 STM32MP157 上沒(méi)有適用于 LTDC 的 HAL 驅(qū)動(dòng)程序。為什么會(huì)這樣?我們可以在 STM32MP157 上使用適用于
    發(fā)表于 01-16 06:02

    【視頻】華清遠(yuǎn)見(jiàn)stm32mp157開(kāi)發(fā)入門(mén)指導(dǎo)(7講)

    關(guān)于FS-MP1A開(kāi)發(fā)板(stm32mp157):FS-MP1A開(kāi)發(fā)板是華清遠(yuǎn)見(jiàn)最新自主研發(fā)的一款高品質(zhì)、高性?xún)r(jià)比的linux+單片機(jī)二合一開(kāi)發(fā)板。搭載ST的STM32MP157高性能
    發(fā)表于 12-07 19:06 ?8次下載
    【視頻】華清遠(yuǎn)見(jiàn)<b class='flag-5'>stm32mp157</b>開(kāi)發(fā)入門(mén)指導(dǎo)(7講)

    迅為STM32MP157開(kāi)發(fā)板使用手冊(cè)更新啦

    迅為STM32MP157開(kāi)發(fā)板使用手冊(cè)更新啦
    的頭像 發(fā)表于 03-24 16:33 ?1704次閱讀
    迅為<b class='flag-5'>STM32MP157</b>開(kāi)發(fā)板使用手冊(cè)更新啦

    迅為STM32MP157開(kāi)發(fā)板入門(mén)教程之外設(shè)功能驗(yàn)證

    迅為STM32MP157開(kāi)發(fā)板入門(mén)教程之外設(shè)功能驗(yàn)證
    的頭像 發(fā)表于 02-23 14:12 ?1709次閱讀
    迅為<b class='flag-5'>STM32MP157</b>開(kāi)發(fā)板入門(mén)教程之外設(shè)功能驗(yàn)證

    STM32MP157 MPU的評(píng)估板

    STM32MP157C-EV1 和 STM32MP157A-EV1 評(píng)估板 (STM32MP157x-EV1) 是作為 STM32MP1 系列中基于 STMicroelectronic
    發(fā)表于 10-09 17:31 ?1次下載
    主站蜘蛛池模板: 四虎影院新地址 | 欧美另类丰满69xxxxx | 精品国产理论在线观看不卡 | 免费看国产一级特黄aa大片 | 四虎h789fcom | 加勒比黑人喝羽月希奶水 | 伊人三级 | 色视频免费观看高清完整 | 黄a大片| 亚洲一级视频在线观看 | 女人双腿搬开让男人桶 | 韩日中文字幕 | 成人看的一级毛片 | 国产免费久久精品99久久 | 老色批网站 | 一级毛片一级毛片一级毛片aa | 日本免费视频 | 亚洲综合第一区 | 色婷婷色婷婷 | 天天操夜夜拍 | 成人黄色在线网站 | 六月婷婷网视频在线观看 | 国产一区二区三区美女图片 | 四虎影视在线观看 | 天天摸日日添狠狠添婷婷 | www在线视频在线播放 | 特黄一级真人毛片 | jizjizjizjiz日本护士出水 | 五月天六月丁香 | 亚洲一区二区三区四区五区六区 | 国产三级精品视频 | 久久在线免费观看 | 免费观看四虎精品成人 | 十三以下岁女子毛片免费播放 | 精品国产成人系列 | 婷婷四房播客五月天 | 欧美整片第一页 | 男女在线观看视频 | 日日爽天天干 | 天堂8资源在线官网资源 | 国产综合在线视频 |