一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何在MDK中部署LVGL

痞子衡嵌入式 ? 來(lái)源:裸機(jī)思維 ? 2023-07-27 14:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【說(shuō)在前面的話】

LVGL的剛剛完成了對(duì)LVGL8的維護(hù)更新,發(fā)布了v8.3.5版。相對(duì)master分支上正在開發(fā)的LVGL9,該版本是一個(gè)吐血推薦的穩(wěn)定版本:

它是 LVGL8 的維護(hù)性更新,API保持不變,只做了一些修修補(bǔ)補(bǔ)的工作

修復(fù)和更新了對(duì)眾多GPU的支持,包括

Arm-2D

NXP-PXP NXP-VGLite

部分重構(gòu)了 STM32 DMA2D 的驅(qū)動(dòng)

用LVGL做產(chǎn)品的小伙伴可以放心食用。

90a1d3ea-2c2a-11ee-a368-dac502259ad0.png

【如何獲取 LVGL cmsis-pack】

1、用戶可以通過(guò)LVGL在Github的倉(cāng)庫(kù)直接下載:

https://github.com/lvgl/lvgl/tree/release/v8.3/env_support/cmsis-pack

2、關(guān)注公眾號(hào)【裸機(jī)思維】后,發(fā)送消息“LVGL”獲取網(wǎng)盤鏈接。

3、用戶也直接通過(guò)MDKPack-Installer進(jìn)行直接安裝,就像lwIP那樣:

90caa63a-2c2a-11ee-a368-dac502259ad0.png

無(wú)論采用哪種方法,一旦完成安裝,以后就可以通過(guò)Pack-Installer來(lái)獲取最新版本啦。

【如何在MDK中部署LVGL】

步驟一:配置RTE

MDK中通過(guò)菜單 Project->Manage->Run-Time Enviroment 打開RTE配置窗口:

90ff824c-2c2a-11ee-a368-dac502259ad0.png

RTE配置界面中找到LVGL,將其展開:

9121f30e-2c2a-11ee-a368-dac502259ad0.png

與其它平臺(tái)下部署LVGL不同,cmsis-pack允許大家像點(diǎn)菜那樣只將所需的模塊(或者功能)加入到工程中。

注意,這里必點(diǎn)的是“Essential”,它是LVGL的核心服務(wù)。一般來(lái)說(shuō),為了使用LVGL所攜帶的豐富控件(Widgets),我們還需要選中“Extra Themes”。如果你是第一次為當(dāng)前硬件平臺(tái)進(jìn)行LVGL移植,則非常推薦加點(diǎn)“Porting”——它會(huì)為你添加移植所需的模板,非常方便。 單擊“OK”關(guān)閉RTE配置窗口,我們會(huì)看到LVGL已經(jīng)被加入到工程列表中了:

9143d6f4-2c2a-11ee-a368-dac502259ad0.png

此時(shí),我們就已經(jīng)可以成功編譯了。

步驟二:配置LVGL

將LVGL展開,找到配置頭文件 lv_conf_cmsis.h

917e4a3c-2c2a-11ee-a368-dac502259ad0.png

該文件其實(shí)就是LVGL官方移植文檔中所提到的lv_conf.h,它是基于lv_conf_template.h修改而來(lái)。值得說(shuō)明的是,一些模塊的開關(guān)宏都被刪除了,例如:

LV_USE_GPU_ARM2D
LV_USE_GPU_STM32_DMA2D
LV_USE_GPU_NXP_PXP
……

這是因?yàn)椋?strong>當(dāng)我們?cè)赗TE配置窗口中勾選對(duì)應(yīng)選項(xiàng)時(shí),cmsis-pack就會(huì)自動(dòng)把對(duì)應(yīng)的宏定義加入到 RTE_Components.h 里——換句話說(shuō),再也不用我們手動(dòng)添加啦!

91a45164-2c2a-11ee-a368-dac502259ad0.png

91bf1b34-2c2a-11ee-a368-dac502259ad0.png

其它對(duì)LVGL的配置,請(qǐng)參考官方文檔,這里就不再贅述。

步驟三:使用模板進(jìn)行移植

當(dāng)我們?cè)赗TE中選擇了porting模塊后,三個(gè)移植模板會(huì)被加入到工程列表中。

91ec608a-2c2a-11ee-a368-dac502259ad0.png

它們是可以編輯的,保存在當(dāng)前工程的RTE/LVGL目錄中。

91fbb382-2c2a-11ee-a368-dac502259ad0.png

這些模板極大的簡(jiǎn)化了我們的驅(qū)動(dòng)移植過(guò)程,下面,我們將以lv_port_disp_template為例,為大家介紹這些模板的使用方法:

1、打開 lv_port_disp_template.h,將開頭處 #if0 修改為 #if 1,使整個(gè)頭文件生效:

9213fe88-2c2a-11ee-a368-dac502259ad0.png

2、打開lv_port_disp_template.c,將開頭處#if0修改為#if 1,使整個(gè)遠(yuǎn)文件生效。

923396d0-2c2a-11ee-a368-dac502259ad0.png

4、根據(jù)官方 porting 文檔的指導(dǎo),根據(jù)你的硬件實(shí)際情況,在三種緩沖模式中做出選擇:

9251d99c-2c2a-11ee-a368-dac502259ad0.png

需要特別強(qiáng)調(diào)的是:如果你的系統(tǒng)沒有DMA或者替用戶完成Frame Buffer刷新的專門LCD控制器,那么雙緩沖其實(shí)是沒有意義的(因?yàn)闊o(wú)論如何都是CPU在干活,因此不會(huì)比單緩沖模式有任何性能上的本質(zhì)不同)。

5、找到disp_init() 函數(shù),并在其中添加LCD的初始化代碼。該函數(shù)會(huì)被 lv_port_disp_init()調(diào)用。

6、找到 disp_flush()函數(shù),并根據(jù)你的硬件實(shí)際情況,將其改寫。比如這是使用 GLCD_DrawBitmap進(jìn)行實(shí)現(xiàn)的參考代碼:

/*Flush the content of the internal buffer the specific area on the display
 *You can use DMA or any hardware acceleration to do this operation in the background but
 *'lv_disp_flush_ready()' has to be called when finished.*/
static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p)
{
    if (disp_flush_enabled) {
        GLCD_DrawBitmap(area->x1,               //!< x
                        area->y1,               //!< y
                        area->x2 - area->x1 + 1,    //!< width
                        area->y2 - area->y1 + 1,    //!< height
????????????????????    (const?uint8_t?*)color_p);
????}
    /*IMPORTANT!!!
     *Inform the graphics library that you are ready with the flushing*/
    lv_disp_flush_ready(disp_drv);
}

GLCD_DrawBitmap 用于將給定的顯示緩沖區(qū)刷新到LCD,其函數(shù)原型如下:

/**
  fn          int32_t GLCD_DrawBitmap (uint32_t x, uint32_t y, uint32_t width, uint32_t height, const uint8_t *bitmap)
  rief       Draw bitmap (bitmap from BMP file without header)
  param[in]   x      Start x position in pixels (0 = left corner)
  param[in]   y      Start y position in pixels (0 = upper corner)
  param[in]   width  Bitmap width in pixels
  param[in]   height Bitmap height in pixels
  param[in]   bitmap Bitmap data
  
eturns
   -   0: function succeeded
   -  -1: function failed
*/
int32_t GLCD_DrawBitmap (uint32_t x, 
                         uint32_t y, 
                         uint32_t width, 
                         uint32_t height, 
                         const uint8_t *bitmap)

這里,5個(gè)參數(shù)之間的關(guān)系如下圖所示:

929bc3a4-2c2a-11ee-a368-dac502259ad0.png


簡(jiǎn)單來(lái)說(shuō),這個(gè)函數(shù)就是把bitmap指針?biāo)赶虻摹斑B續(xù)存儲(chǔ)區(qū)域”中保存的像素信息拷貝到LCD的一個(gè)指定矩形區(qū)域內(nèi),這一矩形區(qū)域由位置信息(x,y)和體積信息(width,height)共同確定。

很多LCD都支持一個(gè)叫做“操作窗口”的概念,這里的窗口其實(shí)就是上圖中的矩形區(qū)域——一旦你通過(guò)指令設(shè)置好了窗口,隨后連續(xù)寫入的像素就會(huì)被依次自動(dòng)填充到指定的矩形區(qū)域內(nèi)(而無(wú)需用戶去考慮何時(shí)進(jìn)行折行的問(wèn)題)。

此外,如果你有幸使用帶LCD控制器的芯片——LCD的顯示緩沖區(qū)被直接映射到Cortex-M芯片的4GB地址空間中,則我們可以使用簡(jiǎn)單的存儲(chǔ)器讀寫操作來(lái)實(shí)現(xiàn)上述函數(shù),以STM32F746G-Discovery開發(fā)板為例:

//!STM32F746G-Discovery
#define GLCD_WIDTH     480
#define GLCD_HEIGHT    272


#defineLCD_DB_ADDR   0xC0000000
#define LCD_DB_PTR    ((volatile uint16_t *)LCD_DB_ADDR)


int32_t GLCD_DrawBitmap (uint32_t x, 
                         uint32_t y, 
                         uint32_t width, 
                         uint32_t height, 
                         const uint8_t *bitmap) 
{
volatileuint16_t*phwDes=LCD_DB_PTR+y*GLCD_WIDTH+x;
    const uint16_t *phwSrc = (const uint16_t *)bitmap;
    for (int_fast16_t i = 0; i < height; i++) {
        memcpy ((uint16_t *)phwDes, phwSrc, width * 2);
        phwSrc += width;
        phwDes += GLCD_WIDTH;
    }


????return 0;
}

7、在 main.c 中加入對(duì) lv_port_disp_template.h 的引用:

#include "lv_port_disp_template.h"

8、在main()函數(shù)中對(duì)LVGL進(jìn)行初始化:

int main(void)
{
...
    lv_init();
lv_port_disp_init();
    ...
    while(1) {
        
}
}

至此,我們就完成了LVGL在MDK工程的部署。是不是特別簡(jiǎn)單?

【時(shí)間相關(guān)的移植】

根據(jù)官方移植文檔的要求,我們實(shí)際上還需要處理兩個(gè)問(wèn)題:

讓lvgl 知道從復(fù)位開始經(jīng)歷了多少毫秒

以差不多5ms為間隔,調(diào)用函數(shù)lv_timer_handler() 來(lái)進(jìn)行事件處理(包括刷新)

依據(jù)平臺(tái)的不同,小伙伴們當(dāng)然有自己的解決方案。這里,我推薦一個(gè)MDK環(huán)境下基于perf_counter的方案,它更通用,也更簡(jiǎn)單。關(guān)于它的使用文章,小伙伴可以參考《【喂到嘴邊了的模塊】超級(jí)嵌入式系統(tǒng)“性能/時(shí)間”工具箱》,這里就不再贅述。 步驟一:獲取 perf_counter 的cmsis-pack

關(guān)注公眾號(hào)【裸機(jī)思維】后,向后臺(tái)發(fā)送關(guān)鍵字“perf_counter”獲取對(duì)應(yīng)的cmsis-pack網(wǎng)盤鏈接。下載后安裝。

步驟二:在工程中部署 perf_counter

打開RTE配置窗口,找到 Utilities 后展開,選中 perf_counter的 Core:

92ca0908-2c2a-11ee-a368-dac502259ad0.png

需要說(shuō)明的是,無(wú)論你用不用操作系統(tǒng)這里關(guān)于各類操作系統(tǒng)的 Patch 你即便不選擇也能正常工作,不必?fù)?dān)心。單擊OK后即完成了部署。 在main()函數(shù)中初始化 perf_counter(別忘記添加對(duì)頭文件 perf_counter.h 的包含):

#include "perf_counter.h"


intmain(void)
{
/*配置MCU的系統(tǒng)時(shí)鐘頻率 */

/*重要:更新 SystemCoreClock 變量*/
SystemCoreClockUpdate(); 

/*初始化perf_counter*/
init_cycle_counter(true);
...
while(1) {
}
...
}

需要特別說(shuō)明的是:

調(diào)用 init_cycle_counter() 之前,最好通過(guò) SystemCoreClockUpdate() 來(lái)將當(dāng)前的系統(tǒng)頻率更新到關(guān)鍵全局變量 SystemCoreClock 上。你當(dāng)然也可以自己用賦值語(yǔ)句來(lái)做,比如:

extern uint32_t SystemCoreClock;
SystemCoreClock=72000000ul;  /* 72MHz */

如果你已經(jīng)有應(yīng)用或者RTOS占用了SysTick(一般都是這樣),則應(yīng)該將 true 傳遞給 init_cycle_counter() 作為參數(shù)——告訴 perf_counter SysTick已經(jīng)被占用了;反之則應(yīng)該傳遞 false,此時(shí) perf_counter 會(huì)用最大值 0x00FFFFFF來(lái)初始化SysTick。

步驟三:更新超級(jí)循環(huán)

最新版本的LVGL為用戶提供了一個(gè)全新的方式來(lái)周期性的刷新 LVGL任務(wù)函數(shù):lv_timer_handler_run_in_period(毫秒數(shù))。無(wú)論是裸機(jī)還是RTOS環(huán)境,你都可以簡(jiǎn)單的將其插入超級(jí)循環(huán)中——以指定的ms數(shù)為間隔刷新LVGL的任務(wù)函數(shù),例如:

int main(void)
{
...
lv_init();
    lv_port_disp_init();
    lv_port_indev_init();
    ...
while(1){
lv_timer_handler_run_in_period(LV_DISP_DEF_REFR_PERIOD);
    }
    
}

【跑分從未如此簡(jiǎn)單】

完成移植后,也許你會(huì)急于想知道當(dāng)前環(huán)境下自己的平臺(tái)能跑出怎樣的幀率吧?別著急,LVGLcmsis-pack已經(jīng)為您最好了準(zhǔn)備。打開RTE配置窗口,勾選benchmark

92ee7702-2c2a-11ee-a368-dac502259ad0.png

main.c 中加入對(duì)lv_demo_benchmark.h 的“間接”引用:

#include"demos/lv_demos.h"

在 LVGL 初始化代碼后,加入benchmark 無(wú)腦入口函數(shù):

int main(void)
{
    lv_init();
    lv_port_disp_init();
    
#if LV_USE_DEMO_BENCHMARK
    lv_demo_benchmark();
#endif
    
    while(1) {
        lv_timer_handler_run_in_period(5);
    }
    
}

編譯,運(yùn)行,走起:

93111a78-2c2a-11ee-a368-dac502259ad0.png

嗯…… Slow but common case……

最新的 benchmark 允許我們通過(guò)lv_demo_benchmark_set_finished_cb()注冊(cè)一個(gè)回調(diào)函數(shù)——用于告知我們所有測(cè)試已經(jīng)完成:

static void on_benchmark_finished(void)
{

}


int main(void)
{
    lv_init();
    lv_port_disp_init();
lv_port_indev_init();
    
    lv_demo_benchmark_set_finished_cb(&on_benchmark_finished);
    lv_demo_benchmark();
    //lv_demo_benchmark_set_max_speed(true);
    
//lv_demo_benchmark_run_scene(43);//runsceneno31


    while(1) {
        lv_timer_handler();
}
}

如果我們對(duì)具體某一個(gè)測(cè)試場(chǎng)景感興趣,還可以在注釋掉 lv_demo_benchmark()后通過(guò)函數(shù)lv_demo_benchmark_run_scene() 來(lái)運(yùn)行指定編號(hào)的場(chǎng)景。

【裝逼從未如此簡(jiǎn)單】

完成移植后,也許你“”會(huì)急于想知道當(dāng)前環(huán)境下自己的平臺(tái)能跑出怎樣的效果吧?(咦?為什么要說(shuō)又?)別著急,LVGLcmsis-pack已經(jīng)為您最好了準(zhǔn)備。打開RTE配置窗口,勾選Demo:Widgets

934975da-2c2a-11ee-a368-dac502259ad0.png

main.c中加入對(duì)lv_demo_widgets.h的“間接”引用:

#include "demos/lv_demos.h"

在 LVGL 初始化代碼后,加入Demo Widgets的無(wú)腦入口函數(shù):

int main(void)
{


    lv_init();
    lv_port_disp_init();
    
#if LV_USE_DEMO_BENCHMARK
    lv_demo_benchmark();
#endif
    
#if LV_USE_DEMO_WIDGETS
    lv_demo_widgets();
#endif


    while(1) {
        lv_timer_handler_run_in_period(5);
    }
    
}

需要特別注意的是:要跑這個(gè)Demo,Stack(棧)不能小于 4K,切記,切記!

編譯,運(yùn)行,走起:

【說(shuō)在后面的話】

最后,對(duì)在MDK中用cmsis-pack來(lái)部署LVGL的過(guò)程感到好奇,但又想有個(gè)參考的小伙伴,可以關(guān)注下面這個(gè)開源項(xiàng)目(也是我負(fù)責(zé)維護(hù)的): https://github.com/lvgl/lv_port_an547_cm55_sim 按照readme的教程,你甚至不需要硬件就可以在MDK中免費(fèi)模擬一個(gè)Arm開發(fā)板來(lái)跑LVGL。加之最近MDK為非商業(yè)應(yīng)用場(chǎng)景提供了幾乎沒有什么限制的社區(qū)版,大家已經(jīng)可以挺直腰板白嫖MDK啦。

此外,如果你是Raspberry Pi Pico的愛好者,還可以參考這個(gè)官方倉(cāng)庫(kù)(“又”是我維護(hù)的哦):

https://github.com/lvgl/lv_port_raspberry_pi_pico_mdk

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9353

    瀏覽量

    377580
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4948

    瀏覽量

    131249
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    364998
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    483

    瀏覽量

    17686
  • LVGL
    +關(guān)注

    關(guān)注

    1

    文章

    107

    瀏覽量

    3705

原文標(biāo)題:害怕追新?LVGL8發(fā)布穩(wěn)定性更新(附部署教程)

文章出處:【微信號(hào):pzh_mcu,微信公眾號(hào):痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    何在C#中部署飛槳PP-OCRv4模型

    《超4萬(wàn)6千星的開源OCR黑馬登場(chǎng),PaddleOCR憑什么脫穎而出?》收到了讀者熱烈反響c,很多讀者提出:如何在C#中部署飛槳PP-OCRv4模型?本文從零開始詳細(xì)介紹整個(gè)過(guò)程。
    的頭像 發(fā)表于 02-17 10:58 ?1793次閱讀
    如<b class='flag-5'>何在</b>C#<b class='flag-5'>中部署</b>飛槳PP-OCRv4模型

    何在低成本ARM平臺(tái)部署LVGL免費(fèi)圖形庫(kù),基于全志T113-i

    :完全免費(fèi),遵循開源協(xié)議,促進(jìn)社區(qū)共享與協(xié)作。 控件資源豐富:提供豐富的控件,動(dòng)畫效果流暢,增強(qiáng)GUI的交互性和視覺吸引力。 跨平臺(tái)可移植:支持多種操作系統(tǒng)和硬件平臺(tái),易于在不同環(huán)境中部署和定制。 圖 1
    發(fā)表于 10-29 09:55

    在嵌入式環(huán)境中部署環(huán)境的相關(guān)資料分享

    在嵌入式環(huán)境中部署環(huán)境:1.1 在linux中,當(dāng)文件系統(tǒng)初始化后,在vi/etc/profile中可以輸入一個(gè)命令,來(lái)配置系統(tǒng)的ip地址: ifconfig eth0 192.168.1.10這樣就能實(shí)現(xiàn),系統(tǒng)上電后的配置。...
    發(fā)表于 10-27 07:02

    一文了解LVGL的學(xué)習(xí)路線

    為什么要學(xué)習(xí)LVGLLVGL系列(二)之二 LVGL常見問(wèn)題解答 整理自官方文檔二、LVGL系列(二)LVGL仿真環(huán)境的搭建(WIN下) 2.1如何在仿真環(huán)境下運(yùn)行自己的代碼三、
    發(fā)表于 12-07 12:55

    何在esp8266 Node MCU的硬件上部署LVGL

    前言本文,介紹如何在esp8266 Node MCU的硬件上部署LVGL項(xiàng)目。使用的屏幕使用型號(hào)是ST7735 TFT 128x128屏幕。(一)arduinoIDE esp8266環(huán)境配置自行
    發(fā)表于 12-08 07:15

    Purple Pi R1 LVGL使?參考

    LVGL是?個(gè)輕量級(jí)的,開源的圖形庫(kù)。本?詳細(xì)介紹了如何在Purple Pi開發(fā)板上運(yùn)?lvgl應(yīng)?,同時(shí)介紹了如何使?著名的LVGL IDE?具GUI Guider來(lái)開發(fā)應(yīng)?程序
    發(fā)表于 09-06 15:25

    部署基于嵌入的機(jī)器學(xué)習(xí)模型

    1、如何在生產(chǎn)中部署基于嵌入的機(jī)器學(xué)習(xí)模型  由于最近大量的研究,機(jī)器學(xué)習(xí)模型的性能在過(guò)去幾年里有了顯著的提高。雖然這些改進(jìn)的模型開辟了新的可能性,但是它們只有在可以部署到生產(chǎn)應(yīng)用中時(shí)才開始提供真正
    發(fā)表于 11-02 15:09

    教大家如何在RT-Thread中使用LVGL

    一. 簡(jiǎn)介在stm32上移植lvgl,上篇文章中已經(jīng)講解過(guò)了,今天教大家如何在rt thread中使用lvgl。二. 移植lvgl移植好rt -thread和
    發(fā)表于 02-16 16:45

    如何將LVGL示例部署到i.MXRT 117H EVK?

    我想將 LVGL 示例部署到 i.MXRT 117H EVK,您能否提供任何指南或應(yīng)用說(shuō)明。謝謝。
    發(fā)表于 04-17 08:31

    何在小型集群中部署Xilinx FPGA卡

    Xilinx FPGA是支持OpenStack的第一個(gè)(也是目前唯一的)FPGA。 該視頻快速介紹了如何在小型集群中部署Xilinx FPGA卡,以便在Xilinx SC16展臺(tái)上運(yùn)行每個(gè)演示,并使用OpenStack進(jìn)行配置和管理。
    的頭像 發(fā)表于 11-23 06:14 ?3996次閱讀

    關(guān)于PC-lint,以及如何在MDK中添加PC-lint工具

    關(guān)于PC-lint,以及如何在MDK中添加PC-lint工具
    的頭像 發(fā)表于 03-04 09:31 ?5180次閱讀
     關(guān)于PC-lint,以及如<b class='flag-5'>何在</b><b class='flag-5'>MDK</b>中添加PC-lint工具

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

    為什么要學(xué)習(xí)LVGLLVGL系列(二)之二 LVGL常見問(wèn)題解答 整理自官方文檔二、LVGL系列(二)LVGL仿真環(huán)境的搭建(WIN下) 2.1如何在仿真環(huán)境下運(yùn)行自己的代碼三
    發(fā)表于 11-24 13:36 ?12次下載
    <b class='flag-5'>LVGL</b>系列(二)之二 <b class='flag-5'>LVGL</b>常見問(wèn)題解答 整理自官方文檔

    esp8266 NodeMcu硬件環(huán)境下使用lvgl

    前言本文,介紹如何在esp8266 Node MCU的硬件上部署LVGL項(xiàng)目。使用的屏幕使用型號(hào)是ST7735 TFT 128x128屏幕。(一)arduinoIDE esp8266環(huán)境配置自行
    發(fā)表于 11-25 19:06 ?33次下載
    esp8266 NodeMcu硬件環(huán)境下使用<b class='flag-5'>lvgl</b>

    關(guān)于我在MDK中部署LVGL只用了10分鐘這件小事

    ? 【說(shuō)在前面的話】 說(shuō)實(shí)話,LVGL這么有牌面的項(xiàng)目,其維護(hù)者居然沒聽說(shuō)過(guò)cmsis-pack,這著實(shí)讓我略為破防:? ?連lwIP都在Pack-Installer里有個(gè)坑位,難道這是個(gè)LVGL
    的頭像 發(fā)表于 08-09 11:18 ?3993次閱讀

    何在CentOS系統(tǒng)中部署ELK日志分析系統(tǒng)

    功能,使用戶能夠快速獲取關(guān)鍵業(yè)務(wù)洞察。本文將詳細(xì)介紹如何在 CentOS 系統(tǒng)中部署 ELK 日志分析系統(tǒng),
    的頭像 發(fā)表于 05-08 11:47 ?323次閱讀
    如<b class='flag-5'>何在</b>CentOS系統(tǒng)<b class='flag-5'>中部署</b>ELK日志分析系統(tǒng)