chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

1、前言

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

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

本文會(huì)介紹一種方法,將幀緩沖內(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 包來實(shí)現(xiàn)。

2、環(huán)境安裝

本機(jī)環(huán)境:Windows10 64bit 安裝 python 3.9.0 (測(cè)試過 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 對(duì)象連接到目標(biāo)板,用read_mem 函數(shù)來讀取目標(biāo)板內(nèi)存。

3.2. 保存圖片

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

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

4、測(cè)試及小結(jié)

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

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    8

    文章

    7256

    瀏覽量

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

    關(guān)注

    0

    文章

    203

    瀏覽量

    16255
  • Framebuffer
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    8235

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

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

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

    DAC0832的典型接法幾點(diǎn)正確性的疑問求解

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

    根據(jù)ADS1292R Data sheet組了一個(gè)前端電路,請(qǐng)問要如何測(cè)試電路的正確性?

    我根據(jù)ADS1292R Data sheet 自己組了一個(gè)前端電路,請(qǐng)問要如何測(cè)試電路的正確性?
    發(fā)表于 12-16 06:27

    ADS1278EVM-PDK連續(xù)采集方式保存數(shù)據(jù)時(shí),能否保存為單個(gè)文件?

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

    ADCPROADS1278EVM-PDK用ADCPro在連續(xù)采集模式下能否保存為1個(gè)文件?

    ADCPROADS1278EVM-PDK用ADCPro在連續(xù)采集模式下能否保存為1個(gè)文件?,F(xiàn)在不點(diǎn)亮Ready按鈕就只保存最后刷新的數(shù)據(jù),如果點(diǎn)亮Ready按鈕就保存一系列文件比如以下所示,同樣大小系列文件。請(qǐng)問在ADCPr
    發(fā)表于 12-02 06:26

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

    Framebuffer 字面意思就是幀緩存的意思,即顯存,里面保存著一幀圖像。事實(shí)上,對(duì)于嵌入式系統(tǒng)而言。沒有真正意義上的顯存,Framebuffer 是通過內(nèi)存模擬出來的。一、LCD
    發(fā)表于 11-21 09:00

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

    Framebuffer 字面意思就是幀緩存的意思,即顯存,里面保存著一幀圖像。事實(shí)上,對(duì)于嵌入式系統(tǒng)而言。沒有真正意義上的顯存,Framebuffer 是通過內(nèi)存模擬出來的。 一、LCD
    發(fā)表于 11-20 08:50

    ADS5282如何通過其他方式驗(yàn)證寄存器寫入的正確性?

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

    如何評(píng)估AIGC內(nèi)容的質(zhì)量和效果

    : 準(zhǔn)確 : 事實(shí)核查 :確保AIGC生成的內(nèi)容與已知的事實(shí)和數(shù)據(jù)相符。 引用來源 :檢查內(nèi)容是否引用了可靠的來源,并且這些引用是否正確
    的頭像 發(fā)表于 10-25 16:02 ?2988次閱讀

    電腦如何直接使用rs232串口控制PGA460?如何檢測(cè)回復(fù)的數(shù)據(jù)的正確性?

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

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

    我正在使用 CY521 EVAL 配置 CYPD2122。 一切運(yùn)行正常,我現(xiàn)在希望文件保存為 HEX 格式,以便通過 MiniProg4 進(jìn)行編程。但是,當(dāng)我進(jìn)入\"保存到固件文件
    發(fā)表于 08-12 08:19