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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

將framebuffer保存為圖片來檢查內容正確性

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2022-04-25 10:46 ? 次閱讀

1、前言

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

屏幕花屏是比較嚴重的問題,如果產品出現花屏,會嚴重影響使用體驗。正常的 UI 顯示,包括畫圖和將幀緩沖傳輸到屏幕兩個過程。如果畫圖過程出錯,那幀緩沖的內容就不對了,傳輸到屏幕后顯示也不可能正確。如果畫圖過程正確,而傳輸過程出錯,雖然幀緩沖的內容是對的,而屏幕接收到的數據出錯了,那屏幕顯示的內容自然也是錯誤的。因此在定位顯示錯亂、花屏等問題時,需要先判斷是畫圖出錯還是傳輸過程出錯。

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

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

2、環境安裝

本機環境:Windows10 64bit 安裝 python 3.9.0 (測試過 3.9.6 正常),檢查系統環境變量,將 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,進入 pyswd-1.0.0 目錄,輸入 pythonsetup.py install

3. 將幀緩沖保存為圖片

3.1. 讀取幀緩沖

通過 pyswd,可以創建 stlink 對象連接到目標板,用read_mem 函數來讀取目標板內存。

3.2. 保存圖片

從 Pillow 包導入 Image 類,創建圖片對象,將 pyswd 讀取的 framebuffer 數據填充到 image 對象中并保存實現代碼如下,保存為 pyswd_rgb2jpg.py 文件。

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

4、測試及小結

在 L4R9-DK 板上進行了測試

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

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

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

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

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7246

    瀏覽量

    91179
  • 圖片
    +關注

    關注

    0

    文章

    203

    瀏覽量

    16184
  • Framebuffer
    +關注

    關注

    0

    文章

    8

    瀏覽量

    8199

原文標題:工程師筆記|將 framebuffer 保存為圖片來檢查內容正確性

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    泰克示波器波形數據保存為CSV格式的完整指南

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

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

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

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

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

    DLP6500存儲內存為128m,存儲圖片數量少,請問能否對其進行擴容?

    根據用戶手冊,DLP6500存儲內存為128m,存儲圖片數量少,請問能否對其進行擴容?或者有其他方法提高存儲容量嗎?
    發表于 02-21 06:48

    DAC0832的典型接法幾點正確性的疑問求解

    DAC0832的典型接法幾點正確性的懷疑: 1.Iout2直接接地。電路輸出端子直接接地違背常理,那樣會燒壞片子。 2.LM336就這樣簡單的接下可以產生2.5v參考,不現實。需要接電源和限流
    發表于 02-05 09:21

    根據ADS1292R Data sheet組了一個前端電路,請問要如何測試電路的正確性?

    我根據ADS1292R Data sheet 自己組了一個前端電路,請問要如何測試電路的正確性?
    發表于 12-16 06:27

    ADS1278EVM-PDK連續采集方式保存數據時,能否保存為單個文件?

    ADS1278EVM-PDK請問連續采集方式保存數據時,Ready按后只能保存一系列文件(是不是不斷刷新只保存最后一次數據),不能保存單個文件。能否
    發表于 12-02 07:19

    ADCPROADS1278EVM-PDK用ADCPro在連續采集模式下能否保存為1個文件?

    ADCPROADS1278EVM-PDK用ADCPro在連續采集模式下能否保存為1個文件?,F在不點亮Ready按鈕就只保存最后刷新的數據,如果點亮Ready按鈕就保存一系列文件比如以下所示,同樣大小系列文件。請問在ADCPr
    發表于 12-02 06:26

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-LCD顯示圖片編程示例之介紹framebuffer

    Framebuffer 字面意思就是幀緩存的意思,即顯存,里面保存著一幀圖像。事實上,對于嵌入式系統而言。沒有真正意義上的顯存,Framebuffer 是通過內存模擬出來的。一、LCD
    發表于 11-21 09:00

    飛凌嵌入式ElfBoard ELF 1板卡-LCD顯示圖片編程示例之介紹framebuffer

    Framebuffer 字面意思就是幀緩存的意思,即顯存,里面保存著一幀圖像。事實上,對于嵌入式系統而言。沒有真正意義上的顯存,Framebuffer 是通過內存模擬出來的。 一、LCD
    發表于 11-20 08:50

    ADS5282如何通過其他方式驗證寄存器寫入的正確性

    word. 測試結果: (1)差分數據對N端無變化 (2)差分P端輸出300多mv電壓,差分N端輸出100多mv電壓 另外,ADS5282是只寫芯片,如何通過其他方式驗證寄存器寫入的正確性?
    發表于 11-18 08:33

    如何評估 ChatGPT 輸出內容的準確

    內容準確的方法和步驟: 數據質量和多樣 : 確保訓練數據覆蓋了廣泛的主題和領域,以便模型能夠理解和生成各種類型的內容檢查數據是否包含
    的頭像 發表于 10-25 17:48 ?1013次閱讀

    如何評估AIGC內容的質量和效果

    : 準確 : 事實核查 :確保AIGC生成的內容與已知的事實和數據相符。 引用來源 :檢查內容是否引用了可靠的來源,并且這些引用是否正確
    的頭像 發表于 10-25 16:02 ?2832次閱讀

    電腦如何直接使用rs232串口控制PGA460?如何檢測回復的數據的正確性?

    電腦直接使用rs232串口控制PGA460,該怎么連接?怎樣檢測回復的數據的正確性?
    發表于 10-11 06:12

    使用CY521 EVAL配置CYPD2122,如何文件保存為HEX格式?

    我正在使用 CY521 EVAL 配置 CYPD2122。 一切運行正常,我現在希望文件保存為 HEX 格式,以便通過 MiniProg4 進行編程。但是,當我進入\"保存到固件文件
    發表于 08-12 08:19
    主站蜘蛛池模板: 欧美zooz人禽交免费观看 | 第九色 | 超级香蕉97视频在线观看一区 | 人人天天爱天天做天天摸 | 福利视频一区二区 | 亚洲国产视频网 | 色婷婷综合久久久 | a毛片基地免费全部香蕉 | 亚洲成a人片在线看 | 手机在线免费视频 | 色综网| 一级毛片不收费 | 亚洲欧美日韩动漫 | 国产婷婷一区二区三区 | 人人成人免费公开视频 | 天天操天天插天天干 | 亚洲成a人一区二区三区 | 自拍偷自拍亚洲精品被多人伦好爽 | 欧美性猛交xxxx黑人猛交 | 操日韩 | 一区二区三区视频在线观看 | 国产精品漂亮美女在线观看 | 视频免费在线观看 | 五月天狠狠 | 夜色福利久久久久久777777 | 免费在线观看视频网站 | 免费 视频 1级 | 亚洲国产精品综合久久2007 | 你懂的视频在线观看资源 | 六月婷婷综合激情 | 国产中出视频 | 18性夜影院午夜寂寞影院免费 | 视频网站黄色 | 国内露脸夫妇交换精品 | 免费视频在线观看1 | 免费观看欧美成人1314色 | 种子天堂bt磁力在线资源 | www.欧美成| 日本理论在线观看被窝网 | 免费人成在线观看视频色 | 正在播放羽月希与黑人bd在线 |