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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

基于MM32F5260的LVGL使用教程

靈動MM32MCU ? 來源:靈動MM32MCU ? 2024-11-25 09:12 ? 次閱讀

MM32F5260 簡介

MM32F5260 是一款搭載了基于 Arm v8-M 架構(gòu) 32 位 Star-MC1 內(nèi)核(兼容 Cortex-M33)的 MCU 產(chǎn)品,其工作頻率可達 120MHz,配置浮點運算單元(Floating Point Unit, FPU)、數(shù)字信號處理單元(Digital Signal Processing,DSP)、信號間互聯(lián)矩陣 MindSwitch、可配置邏輯單元 CLU、三角函數(shù)加速單元 CORDIC 等算法加速單元,并集成了豐富的外設(shè)模塊和充足的 I/O 端口

6bfa82d8-a331-11ef-93f3-92fbcf53809c.png

圖1 MM32F5260示意圖

LVGL 介紹

LVGL(Light and Versatile Graphics Library)是一個專為嵌入式系統(tǒng)設(shè)計的開源圖形用戶界面(GUI)庫。它使用C語言編寫,具有輕量級、可移植、靈活和易于使用的特點。LVGL提供了豐富的圖形界面元素和靈活的布局方式,使開發(fā)者能夠輕松為嵌入式設(shè)備創(chuàng)建交互式用戶界面。

LVGL軟硬件需求

基本上,每個能夠驅(qū)動顯示器的現(xiàn)代控制器都適合運行LVGL。最低要求是:

16, 32 or 64 bit 微控制器處理器

推薦 16 MHz 時鐘速度

Flash/ROM: > 基本要求:64 kB (> 推薦:180 kB )

RAM:

靜態(tài)RAM使用率:~2 kB,具體取決于使用的功能和對象類型

Stack: > 2kB (> 8 kB is recommended)

Dynamic data (heap): > 4 KB (> 32 kB is recommended if using several objects)

C99 或更新的編譯器

源碼獲取

獲取MM32的LibSamples和LVGL的源代碼:

從靈動官網(wǎng)獲取LibSamples_MM32F5260樣例工程, https://www.mindmotion.com.cn/products/mm32mcu/mm32f/mm32f_performance/mm32f5260/選擇打開頁面中的工具和軟件標(biāo)簽欄,點擊下載MM32F5260 庫函數(shù)與例程。

6c2180ae-a331-11ef-93f3-92fbcf53809c.png

圖2 LVGL協(xié)議棧源碼

獲取LVGL源代碼,這里我們使用到的是v8.1.0版本的協(xié)議棧:

https://github.com/lvgl/lvgl/archive/refs/tags/v8.1.0.zip

lvgl-v8.1.0 協(xié)議棧如下圖2所示:

6c2de6d2-a331-11ef-93f3-92fbcf53809c.png

圖3 LVGL協(xié)議棧源碼

移植簡介

拷貝 LVGL 源碼到工程目錄

基于LibSamples_MM32F5260樣例工程,在其根目錄文件夾下創(chuàng)建~3rdPartySoftwarePortingLVGL 路徑及文件夾,將 lvgl-v8.1.0 軟件包解壓后直接復(fù)制到該路徑下,并在該路徑下創(chuàng)建 Demos文件夾。接下來,我們將在 Demos 文件夾下創(chuàng)建示例工程。

在 Demos 文件夾下中新建LVGL_Basic樣例工程目錄。將 lv_conf_template.h 復(fù)制到 LVGL_Basic 工程目錄下,并將其重命名為 lv_conf.h。

將軟件包中 examples/porting 下的 lv_port_disp_template.c&.h 文件,復(fù)制到 LVGL_Basic 工程目錄下,并進行重命名去掉 __template。

FSMC 及LCD初始化配置

在 platform.c &.h 文件中進行進行FSMC相關(guān)初始化配置,包括時鐘、引腳、初始化。

新建 lcd.c/.h 文件,實現(xiàn) LCD 驅(qū)動初始化和基本的運行參數(shù)序列配置以及基本的的繪圖操作,如清除窗口操作、填充窗口操作和畫像素點操作函數(shù)。

新建 lcd_port.c 文件,實現(xiàn)基于 FSMC 的 LCD 驅(qū)動配置接口,并實現(xiàn)對 LCD 的寫命令和寫數(shù)據(jù)的操作接口。

LVGL_Basic樣例工程完整目錄如下圖4所示:

6c4aa574-a331-11ef-93f3-92fbcf53809c.png

圖4 LVGL_Basic樣例工程

添加到 Keil 工程中

添加lvgl到工程的文件索引路徑中,如下圖5所示:

6c55c652-a331-11ef-93f3-92fbcf53809c.png

圖5 配置lvgl索引路徑

如圖6所示,將 lvgl_v8 文件夾下的 src 目錄下的所有 .c 格式文件添加到工程中。

6c639f84-a331-11ef-93f3-92fbcf53809c.png

圖6 添加lvgl源文件

代碼適配

添加移植接口相關(guān)文件到工程中:

修改 lv_conf.h 文件,使能配置文件內(nèi)容,開啟幀率顯示和內(nèi)存占用情況顯示。

修改 lv_port_disp.c 文件,使能LVGL配置。

修改 lv_port_disp_init() 函數(shù),選擇定義圖像緩存的方式,并設(shè)置屏幕像素尺寸。

修改 disp_init() 函數(shù),適配屏幕初始化,調(diào)用屏幕初始化函數(shù)。

修改 disp_flush() 函數(shù),適配屏幕填充函數(shù)接口。

編寫 lvgl_basic.c 文件,包含頭文件,調(diào)用 lvgl 初始化函數(shù),實現(xiàn)Systick中斷服務(wù)函數(shù)為lvgl提供時間基準(zhǔn),并在 main.c 文件中調(diào)用 LVGL_Basic_Sample() 函數(shù)。

#include "platform.h"
#include "main.h"


#include "lvgl.h"
#include "lv_port_disp.h"


static const char * btnm_map[] = {"0", "1", "2", "3", "4", "
","5", "6", "7", "8", "9", "
","Action1", "Action2",""};
void lv_example(void);


void LVGL_Basic_Sample(void)
{
    lv_init();
    lv_port_disp_init();
    lv_example();


    while (1)
    {
        lv_task_handler();
    }
}


void lv_example(void)
{
    /* create a label. */
    lv_obj_t * label = lv_label_create(lv_scr_act());
    lv_label_set_long_mode(label, LV_LABEL_LONG_SCROLL_CIRCULAR);
    lv_obj_set_width(label, 150);
    lv_obj_set_pos(label, 10, 10);
    lv_label_set_text(label, "MindMotion MindMotion");


    /* create a btn matrix. */
    lv_obj_t * btnm1 = lv_btnmatrix_create(lv_scr_act());
    lv_btnmatrix_set_map(btnm1, btnm_map);
    lv_btnmatrix_set_btn_width(btnm1, 10, 2);        /*Make "Action1" twice as wide as "Action2"*/
    lv_obj_align(btnm1, LV_ALIGN_CENTER, 0, 0);
}

LVGL_Basic 樣例展示

這個樣例展示了最基本的GUI元素,如按鈕、標(biāo)簽和文本框。它演示了如何在屏幕上創(chuàng)建和操作這些基本元素。

6c861e9c-a331-11ef-93f3-92fbcf53809c.png

圖7 LVGL_Basic示意圖

參考樣例展示

LVGL_Benchmark

這個樣例用于測試和評估MM32F5260的性能。它通過快速創(chuàng)建和刪除大量的對象來展示開發(fā)板的渲染能力。

6c98e662-a331-11ef-93f3-92fbcf53809c.png

圖8 LVGL_Benchmark示意圖

LVGL_Stress

這個樣例通過同時使用多種不同的GUI元素和復(fù)雜的布局來對系統(tǒng)進行壓力測試,確保在高負(fù)載情況下系統(tǒng)的穩(wěn)定性。

6ca54aec-a331-11ef-93f3-92fbcf53809c.gif

圖9 LVGL_Stress 示意圖

LVGL_Widgets

這個樣例展示了LVGL支持的所有小部件(Widgets),包括但不限于圖表、滑塊、復(fù)選框和下拉列表。它幫助開發(fā)者了解如何使用這些小部件來構(gòu)建復(fù)雜的用戶界面。

總結(jié)

本文簡單介紹了MM32F5260及LVGL的使用,開發(fā)者可以通過使用LibSamples在MM32F5260上快速開始LVGL的學(xué)習(xí)和開發(fā)工作。

關(guān)于靈動

上海靈動微電子股份有限公司成立于 2011 年,是中國本土領(lǐng)先的通用 32 位 MCU 產(chǎn)品及解決方案供應(yīng)商。靈動微電子的 MCU 產(chǎn)品以 MM32 為標(biāo)識,基于 Arm Cortex-M 系列內(nèi)核,自主研發(fā)軟硬件和生態(tài)系統(tǒng)。目前已量產(chǎn)近 300 款型號,在本土通用 32 位 MCU 公司中位居前列。

客戶涵蓋消費電子電機電源、家電、汽車、計算機與通信工業(yè)控制等應(yīng)用領(lǐng)域。靈動是中國為數(shù)不多的且同時獲得了 Arm-KEIL、IAR、SEGGER 官方支持的本土 MCU 公司,并建立了獨立、完整的通用 MCU 生態(tài)體系。靈動始終秉承著“誠信、承諾、創(chuàng)新、合作”的精神,為客戶提供從硬件芯片到軟件算法、從參考方案到系統(tǒng)設(shè)計的全方位支持。

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

    關(guān)注

    146

    文章

    17577

    瀏覽量

    356176
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3651

    瀏覽量

    130361
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1400

    瀏覽量

    40754
  • LVGL
    +關(guān)注

    關(guān)注

    1

    文章

    95

    瀏覽量

    3370

原文標(biāo)題:靈動微課堂 (第285講)|基于MM32F5260的LVGL應(yīng)用筆記

文章出處:【微信號:MindMotion-MMCU,微信公眾號:靈動MM32MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦

    移植RT-Thread到靈動微MM32F5265開發(fā)板教程

    近期,筆者有幸獲得靈動微 MM32F5265 開發(fā)板的體驗資格。MM32F5260 搭載了 arm china "Star-MC1 內(nèi)核"處理器,擁有高性能,主打家電和工業(yè)等高可靠性應(yīng)用領(lǐng)域。
    的頭像 發(fā)表于 03-17 10:16 ?1187次閱讀
    移植RT-Thread到靈動微<b class='flag-5'>MM32F</b>5265開發(fā)板教程

    AD5260程序不通的原因是什么?

    糾結(jié)了好幾天,程序硬是不通 頭文件 #ifndef _AD5260_H_ #define _AD5260_H_ //M64管腳定義 #define AD5260_CS5//PF5
    發(fā)表于 12-25 06:10

    AD5260使用程序不通

    糾結(jié)了好幾天,程序硬是不通頭文件 #ifndef _AD5260_H_#define _AD5260_H_ //M64管腳定義#define AD5260_CS5//PF5#define
    發(fā)表于 03-11 15:12

    AT32F437基于LVGL的桌面顯示案例

    AT32F437基于LVGL的桌面顯示案例示例目的提供AT32F437基于LVGL V8的桌面顯示案例。注:本示例代碼是基于雅特力提供的V2.x.x板級支持包(BSP)而開發(fā),對于其他
    發(fā)表于 11-23 19:40

    友堅科技UT5260CV01核心處理器簡介

    UT5260CV01核心板尺寸:91.6mm * 73.4mm
    的頭像 發(fā)表于 11-04 17:10 ?4231次閱讀
    友堅科技UT<b class='flag-5'>5260</b>CV01核心處理器簡介

    LuatOS之LVGL字體篇

    前言之前展示過Luatos在win32上運行LVGL的效果,今天帶來LVGL的字體篇介紹LVGL字體支持很全,支持 UTF-8 編碼的 Unicode 字符,分內(nèi)部字體和外部字體,字體制作工具也很多
    發(fā)表于 11-23 17:51 ?13次下載
    LuatOS之<b class='flag-5'>LVGL</b>字體篇

    LVGL系列(二)之二 LVGL常見問題解答 整理自官方文檔

    “本文大部分內(nèi)容來自LVGL官方文檔,手翻版,如有錯誤歡迎指正。”系列文章目錄一、LVGL系列(一)一文了解LVGL的學(xué)習(xí)路線輕松了解LVGL的全部二、
    發(fā)表于 11-24 13:36 ?12次下載
    <b class='flag-5'>LVGL</b>系列(二)之二 <b class='flag-5'>LVGL</b>常見問題解答 整理自官方文檔

    STM32F4芯片移植_LVGL7.11_UCOS移植代碼工程

    STM32F4芯片移植_LVGL7.11_UCOS移植代碼工程
    發(fā)表于 12-09 17:45 ?26次下載

    "stm32 DMA2D使用中斷LVGL,提高LVGL幀率"

    我看了很多DMA2D教程都是用阻塞方式來刷新屏 這樣就消耗了性能 相當(dāng)于沒用DMA 所以我使用DMA2D中斷來傳輸數(shù)據(jù)測試平臺stm32f429 + 正點原子7寸1024x600液晶屏 45MHZ
    發(fā)表于 12-02 17:06 ?37次下載
    "stm32 DMA2D使用中斷<b class='flag-5'>LVGL</b>,提高<b class='flag-5'>LVGL</b>幀率"

    LVGL 優(yōu)化幀率技巧

    目錄標(biāo)題前文LVGL幀率限制代碼優(yōu)化等級前文LVGL——PC模擬器仿真模擬+VS2017f429 discovery開發(fā)版 LVGL移植(帶操作系統(tǒng))首先就個人用過的幾個芯片而言,可能
    發(fā)表于 12-07 13:21 ?16次下載
    <b class='flag-5'>LVGL</b> 優(yōu)化幀率技巧

    gd32f450+rgb屏幕+ucos_iii+lvgl8.2程序

    gd32f450+rgb屏幕+ucos_iii+lvgl8.2示例工程資料下載。
    發(fā)表于 05-11 11:12 ?66次下載

    AN042基于GD32F450I的LVGL移植

    AN042 基于GD32F450I的LVGL移植
    發(fā)表于 02-27 18:28 ?4次下載
    AN042基于GD32<b class='flag-5'>F</b>450I的<b class='flag-5'>LVGL</b>移植

    CA5260、CA5260A 數(shù)據(jù)表

    CA5260、CA5260A 數(shù)據(jù)表
    發(fā)表于 04-20 18:59 ?0次下載
    CA<b class='flag-5'>5260</b>、CA<b class='flag-5'>5260</b>A 數(shù)據(jù)表

    靈動高性能產(chǎn)品MM32F5260全解析預(yù)告

    作為本土領(lǐng)先的通用32位MCU產(chǎn)品及解決方案供應(yīng)商,靈動基于安謀科技產(chǎn)品與Arm技術(shù)方案,自主研發(fā)軟硬件產(chǎn)品并打造了完善的MCU生態(tài)體系。目前已量產(chǎn)近300款型號,并在消費電子、電機與電源、家電、汽車、計算機與通信、工業(yè)控制等領(lǐng)域有廣泛應(yīng)用。
    的頭像 發(fā)表于 11-27 11:49 ?562次閱讀

    靈動微電子MM32F5370 MCU產(chǎn)品特色

    MM32F3、靈動·天樞 MM32F5、靈動·玉衡 MM32G5、靈動·天璣 MM32H5 等子系列,MM32F5270、
    的頭像 發(fā)表于 01-10 10:02 ?822次閱讀
    靈動微電子<b class='flag-5'>MM32F</b>5370 MCU產(chǎn)品特色

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品
    主站蜘蛛池模板: 成人午夜免费视频毛片 | 性欧美高清久久久久久久 | 日本亚洲欧美美色 | 日本口工禁漫画无遮挡全彩 | 国产亚洲精品美女2020久久 | 欧美日韩国产在线一区 | 午夜va| 日本不卡在线播放 | 韩国男女无遮挡高清性视频 | 国产精品久久久久久福利 | 日本理论片www视频 日本理论午夜中文字幕第一页 | 国产精品漂亮美女在线观看 | 色婷婷国产| 夜夜精品视频 | 黑人性xx| 日韩黄a级成人毛片 | 亚洲 另类 在线 欧美 制服 | 忘忧草爱网 | 国产精品一区二区三区免费视频 | 4hc44四虎www在线影院男同 | 国产va免费精品 | 四虎影视免费观看 | 四虎在线最新永久免费 | 天天天综合 | 国产精品伦理一区二区三区 | 伊人网综合视频 | 色播五月婷婷 | a天堂中文在线 | 777奇米四色米奇影院在线播放 | 国产美女精品久久久久中文 | 国产伦子系列视频6 | 伊人久久大香线蕉综合7 | 日本在线www | 超级碰碰青草久热国产 | 欧美一区福利 | 中文字幕va一区二区三区 | 日韩精品卡4卡5卡6卡7卡 | 五月深爱婷婷 | 夜夜橹橹网站夜夜橹橹 | 在线高清一级欧美精品 | 九九精品国产兔费观看久久 |