91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

將framebuffer保存為圖片來檢查內(nèi)容正確性

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2022-04-25 10:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、前言

客戶在做 GUI 項目開發(fā)時,會碰到許多顯示相關(guān)的問題。

屏幕花屏是比較嚴(yán)重的問題,如果產(chǎn)品出現(xiàn)花屏,會嚴(yán)重影響使用體驗。正常的 UI 顯示,包括畫圖和將幀緩沖傳輸?shù)狡聊粌蓚€過程。如果畫圖過程出錯,那幀緩沖的內(nèi)容就不對了,傳輸?shù)狡聊缓箫@示也不可能正確。如果畫圖過程正確,而傳輸過程出錯,雖然幀緩沖的內(nèi)容是對的,而屏幕接收到的數(shù)據(jù)出錯了,那屏幕顯示的內(nèi)容自然也是錯誤的。因此在定位顯示錯亂、花屏等問題時,需要先判斷是畫圖出錯還是傳輸過程出錯。

本文會介紹一種方法,將幀緩沖內(nèi)容導(dǎo)出并保存為圖片,來判斷幀緩沖內(nèi)容是否正確。由于幀緩沖的內(nèi)容為全部像素的 RGB 數(shù)據(jù),在導(dǎo)出后需要借助其它工具將 RGB 數(shù)據(jù)轉(zhuǎn)換為圖片,方便在 PC 上直接查看。

這里可以使用 pythonpillow 包,將 RGB 轉(zhuǎn)換為JPG 圖片。而讀取幀緩沖的過程可以借助 python 的 pyswd 包來實現(xiàn)。

2、環(huán)境安裝

本機環(huán)境:Windows10 64bit 安裝 python 3.9.0 (測試過 3.9.6 正常),檢查系統(tǒng)環(huán)境變量,將 python 添加到 Path中。

下載:https://www.python.org/downloads/

ec3f427c-c3d1-11ec-bce3-dac502259ad0.png

2.1. 安裝 libusb

下載:https://github.com/libusb/libusb/releases

解壓 libusb-1.0.24.7z,將 VS2019/MS64/dll/libusb-1.0.dll 拷貝到 python 安裝目錄,與 python.exe 相同目錄

2.2. 安裝 pyusb

下載:https://pypi.org/project/pyusb/#files

打開 powershell,輸入 pip install pyusb-1.2.1-py3-none-any.whl

2.3. 安裝 Pillow

下載:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pil

打開 powershell,輸入 pip install Pillow-8.3.1-cp39-cp39-win_amd64.whl

2.4. 安裝 pyswd

下載:https://github.com/cortexm/pyswd/releases/tag/v1.0.0

解壓 pyswd-1.0.0.zip,打開 powershell,進(jìn)入 pyswd-1.0.0 目錄,輸入 pythonsetup.py install

3. 將幀緩沖保存為圖片

3.1. 讀取幀緩沖

通過 pyswd,可以創(chuàng)建 stlink 對象連接到目標(biāo)板,用read_mem 函數(shù)來讀取目標(biāo)板內(nèi)存。

3.2. 保存圖片

從 Pillow 包導(dǎo)入 Image 類,創(chuàng)建圖片對象,將 pyswd 讀取的 framebuffer 數(shù)據(jù)填充到 image 對象中并保存實現(xiàn)代碼如下,保存為 pyswd_rgb2jpg.py 文件。

ec540446-c3d1-11ec-bce3-dac502259ad0.png

4、測試及小結(jié)

在 L4R9-DK 板上進(jìn)行了測試

(1) 無 GFXMMU 時,傳給腳本的參數(shù),寬和高為實際 LCD 的寬和高將 GUI 固件燒錄到開發(fā)板后,屏幕正常顯示。在工程 map 文件中,找到 framebuffer 地址。打開 powershell,執(zhí)行 pyswd_rgb2jpg.py:

ec6040f8-c3d1-11ec-bce3-dac502259ad0.png

(2)開啟 GFXMMU 時,framebuffer 對應(yīng)為虛擬地址,傳給腳本的參數(shù)中,圖像的寬度要用GFXMMU 像素寬度

ec7b2332-c3d1-11ec-bce3-dac502259ad0.png

在完成環(huán)境安裝后,通過此腳本可方便查看 framebuffer 內(nèi)容。如果出現(xiàn)屏幕花屏的問題,可導(dǎo)出 framebuffer 圖片查看。如果畫圖過程出錯,則導(dǎo)出的圖片顯示也是錯誤的。反之,如果畫圖過程正常,則 framebuffer 內(nèi)容正常,導(dǎo)出的圖片也是正常的,這樣就需要查一下傳輸過程導(dǎo)致的顯示問題。

審核編輯 :李倩

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

    關(guān)注

    8

    文章

    7335

    瀏覽量

    94808
  • 圖片
    +關(guān)注

    關(guān)注

    0

    文章

    203

    瀏覽量

    16553
  • Framebuffer
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    8412

原文標(biāo)題:工程師筆記|將 framebuffer 保存為圖片來檢查內(nèi)容正確性

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    儲能EMS控制器(7) — 如何快捷驗證儲能柜內(nèi)設(shè)備接入的正確性?

    儲能柜項目,初期要接入集成設(shè)備(PCS、BMS、電表等)進(jìn)行調(diào)試,設(shè)備調(diào)試過程比較繁瑣又容易出錯,怎樣才能便捷地驗證儲能柜內(nèi)設(shè)備接入的正確性?簡介儲能柜項目,初期要接入集成設(shè)備(PCS、BMS、電表
    的頭像 發(fā)表于 01-23 11:40 ?204次閱讀
    儲能EMS控制器(7) — 如何快捷驗證儲能柜內(nèi)設(shè)備接入的<b class='flag-5'>正確性</b>?

    智能顯示模塊保存工程時為什么提示另存為?

    智能顯示模塊保存工程時為什么提示另存為?
    發(fā)表于 12-15 08:21

    基于開源鴻蒙的圖片編輯開發(fā)樣例(2)

    本期內(nèi)容介紹基于開源鴻蒙在RK3568上開發(fā)圖片編輯樣例的全流程,分為上篇和下篇,本篇為下篇,主要介紹標(biāo)記、保存圖片功能。
    的頭像 發(fā)表于 10-31 09:19 ?3213次閱讀
    基于開源鴻蒙的<b class='flag-5'>圖片</b>編輯開發(fā)樣例(2)

    在Linux ubuntu上使用riscv-formal工具驗證蜂鳥E203 SoC的正確性

    內(nèi)容:在Linux ubuntu上使用riscv-formal工具驗證蜂鳥E203 SoC的正確性 步驟: 1、下載和安裝riscv-formal工具: bash復(fù)制代碼 git clone
    發(fā)表于 10-24 07:52

    商品圖片批量上傳接口設(shè)計與實現(xiàn)

    ? 在電商平臺或內(nèi)容管理系統(tǒng)中,商品圖片的高效管理是核心需求之一。批量上傳接口允許用戶一次上傳多張圖片,顯著提升操作效率。本文逐步介紹如
    的頭像 發(fā)表于 10-13 15:25 ?452次閱讀

    【HarmonyOS 5】鴻蒙應(yīng)用實現(xiàn)發(fā)票掃描、文檔掃描輸出PDF圖片或者表格的功能

    包括 :掃描合同、票據(jù)、會議記錄并保存為 PDF 分享。拍攝課堂 PPT、書籍章節(jié)生成圖片存檔??焖僮R別表格數(shù)據(jù),減少手動錄入成本。 在Harmon
    的頭像 發(fā)表于 07-11 18:16 ?1393次閱讀
    【HarmonyOS 5】鴻蒙應(yīng)用實現(xiàn)發(fā)票掃描、文檔掃描輸出PDF<b class='flag-5'>圖片</b>或者表格的功能

    ##DevEco Studio##如何讓模擬器里有圖片?【圖片下載法】

    的開發(fā)過程中,有一次我開發(fā)的項目需要將圖片下載到本地,通過文檔,我了解到了“安全控件”中的“保存控件“,簡單來說,就是可以超級方便的圖片進(jìn)行保存
    發(fā)表于 06-29 22:51

    無刷雙饋異步電機潮流建模和收斂研究

    的 BDFM初值算法,給出IEEERTS系統(tǒng)中 BDFM參數(shù)計算結(jié)果,以驗證所提 BDFM潮流算法的可行正確性。 純分享帖,點擊下方附件免費獲取完整資料~~~ *附件:無刷雙饋異步電機潮流建模和收斂
    發(fā)表于 06-25 13:12

    HarmonyOS實戰(zhàn):一招搞定保存圖片到相冊

    保存圖片功能幾乎是每個應(yīng)用程序必備的功能之一,當(dāng)用戶遇到喜歡的圖片時可以保存到手機相冊。那么在鴻蒙中保存
    的頭像 發(fā)表于 06-24 17:04 ?1272次閱讀

    繞組開放型永磁同步電機的建模及應(yīng)用

    永磁電機的 Mallab/Simulink 模型并應(yīng)用該模型進(jìn)行新型發(fā)電系統(tǒng)性能的仿真,仿真結(jié)果表明模型的正確性和發(fā)電系統(tǒng)控制策略的有效。 純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件
    發(fā)表于 06-12 13:52

    泰克示波器波形數(shù)據(jù)保存為CSV格式的完整指南

    在電子工程與科研實驗中,示波器作為信號分析的核心工具,其波形數(shù)據(jù)的存儲與后續(xù)處理至關(guān)重要。泰克示波器憑借其卓越的性能與豐富的功能,為用戶提供了多種波形保存方式,其中CSV格式因兼容強、數(shù)據(jù)開放度高
    的頭像 發(fā)表于 06-07 15:31 ?1240次閱讀
    泰克示波器波形數(shù)據(jù)<b class='flag-5'>保存為</b>CSV格式的完整指南

    求大佬解答,怎么保存為帶表頭的電子表格

    求大佬解答,怎么保存為帶表頭的電子表格
    發(fā)表于 06-04 14:14

    如何正確使用和維護(hù)水下燈具氣密檢測儀

    水下燈具氣密檢測儀對于保障水下燈具的質(zhì)量和安全至關(guān)重要,以下為你詳細(xì)介紹其正確的使用和維護(hù)方法:(一)正確使用方法使用前準(zhǔn)備檢查外觀:仔
    的頭像 發(fā)表于 05-26 11:47 ?505次閱讀
    如何<b class='flag-5'>正確</b>使用和維護(hù)水下燈具氣密<b class='flag-5'>性</b>檢測儀

    電氣設(shè)備交接試驗預(yù)防試驗直流電機做試驗項目有哪些

    ;6勵磁回路連同所有連接設(shè)備的交流耐壓試驗;7檢查電機繞組的極性及其連接的正確性;8電機電刷磁場中性位置檢查;9測錄直流發(fā)電機的空載特性和以轉(zhuǎn)子繞組為負(fù)載的勵磁機
    的頭像 發(fā)表于 05-06 10:38 ?903次閱讀
    電氣設(shè)備交接試驗預(yù)防<b class='flag-5'>性</b>試驗直流電機做試驗項目有哪些

    求助,關(guān)于SGTL5000 LINE-IN聲音錄制問題

    。 我注意到 tinymix 設(shè)置中有一個 capture mux 變量。即使我將其更改為 LINE_IN,我仍然無法正確錄制聲音。 下面,我默認(rèn)設(shè)置保存為 tinymix
    發(fā)表于 04-11 06:49