LVGL適配
環(huán)境
STM32 H7
大體步驟
1.lvgl軟件包添加
把對(duì)應(yīng)的文件,復(fù)制到app里面
編譯會(huì)報(bào)錯(cuò),原因是需要添加幾個(gè)文件,需要把頭文件指向這里
再編譯,就沒(méi)問(wèn)題了
2.cubemx配置ltdc,rcc,clock,mpu
這塊比較簡(jiǎn)單,按照keil里面的配置來(lái)設(shè)置。最后吧生成的代碼和keil的代碼對(duì)比一下。
MPU_Config():
SCB_EnableICache(); SCB_EnableDCache():
使用以下來(lái)替換
SystemClock_Config
對(duì)比發(fā)現(xiàn),keil里面多了LTDC的初始化,這個(gè)難不倒我們,ltdc通過(guò)cubemx配置后,就有對(duì)應(yīng)的初始化操作。按常規(guī)流程,把初始化內(nèi)容放到borad.c中即可。
至此,保證,rcc,clock,mpu,ltdc的初始化能在rtt初始化內(nèi)完成,即可。
3.移植內(nèi)容
lv_port_disp.c
lv_conf.h
配置好。這塊網(wǎng)上比較多,對(duì)著操作就行。
最后需要注意,背光要打開(kāi)。
app里面的main,lv的demo最好放到線程里面
完成屏幕顯示方面的移植,后續(xù)進(jìn)行觸摸方向移植。
觸摸比較簡(jiǎn)單,這塊屏幕是iic接口
lv_port_indev.h中的if 0打開(kāi)
lv_port_indev.c中的除了touchpad開(kāi)放,其他關(guān)閉
touchpad_init,touchpad_read,touchpad_is_pressed,touchpad_get_xy適配
最終效果
總結(jié)
花了一段時(shí)間把 stm32 h7 + cubemx + lvgl + 觸摸搞定
主要有keil代碼加持,移植起來(lái)比較方便,梳理通流程后,移植起來(lái)有思路,知道查資料方向
完成內(nèi)容
內(nèi)部flash有一個(gè)簡(jiǎn)單boot,跳轉(zhuǎn)到外部flash上
時(shí)鐘,mpu,dma2d這塊通過(guò)cubemx配置
ltdc這塊通過(guò)cubemx配置
觸摸,gpio模擬iic,cubemx把gpio占住,統(tǒng)一到cubemx能看到
-
MPU
+關(guān)注
關(guān)注
0文章
357瀏覽量
48775 -
IIC接口
+關(guān)注
關(guān)注
0文章
23瀏覽量
11681 -
RTThread
+關(guān)注
關(guān)注
8文章
132瀏覽量
40859 -
STM32H7
+關(guān)注
關(guān)注
0文章
7瀏覽量
3817 -
LVGL
+關(guān)注
關(guān)注
1文章
83瀏覽量
2957
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論