LVGL一鍵打包圖片工具,全部圖片打包成一個bin檔案,支援nor flash XIP模式下直接訪問資料顯示

-繁尘-發表於2024-07-07

最近做工程專案,需要用到LVGL,但是搜了很長時間沒有看到合適的圖片打包工具,大多都是生成陣列或者單個的bin檔案,這樣燒錄到nor flash很麻煩

後來看到一篇部落格,博主的想法與我類似,不過他後面部分就做的麻煩了,所以,我直接從頭寫了一個工具,他的部落格地址:https://www.wpgdadatong.com.cn/blog/detail/73416

工具說明:目前僅支援BMP 565格式和565A格式圖片,主要是為了節省空間,軟體個人學習使用完全免費,其他以後再說

1.支援大小端模式的MCU(大端沒法測,不保證能用)

2.輸出圖片型別可選:0.自動模式,可根據圖片是否有透明通道,自動生成;1.僅輸出565格式;2.僅輸出565A格式

3.如果選擇了僅565格式,輸入圖片中有PNG圖片,則必須配置要疊加的背景顏色,不配置預設為疊加黑色底

4.需要在軟體裡面配置燒錄nor flash的首地址,因為寫入的bin檔案有記錄當前圖片的lvgl頭和data_size還有data資料首地址

5.送屏方式可選,因為有些spi屏一次送8位資料,對於小端模式就會造成資料錯誤,需要把資料反過來,另lv_conf.h裡面的LV_COLOR_16_SWAP在8位送屏時需要置1,具體軟體有寫

6.軟體會遍歷選擇的資料夾進行轉換,要注意不支援輸入565格式的檔案,就是要轉換的圖片不能是565格式的

7.轉換完成會在選擇的目錄生成一個output.bin的圖片打包集合檔案,這個檔案就直接燒錄到nor flash的之前輸入的地址中

8.轉換完成會在選擇的目錄生成一個lvgl_res_addr.h檔案,裡面是所有圖片的首地址,可直接在程式中呼叫,下面會有例項,不過是用的模擬器,實際專案可直接進行強轉填進去就行

軟體下載連結:目前只放在了百度雲,如果覺得太慢可以提建議,其他網盤沒賬號

連結:https://pan.baidu.com/s/1TJN3ARYW3RbTC_0cxXa_Uw?pwd=qi0n
提取碼:qi0n

軟體講解部分稍後製作影片上傳到B站和抖音,連結:

模擬器示例

因為用的模擬器,所以只能全部讀出來,然後給圖片資料首地址賦初值,實際工程不需要這樣做,只需要直接

lv_img_set_src(obj,(const uint8_t *)RES_TIME00);

設定圖片源即可使用

相關文章