當前位置:首頁 » 編程軟體 » 腳本lcd

腳本lcd

發布時間: 2025-01-31 16:41:02

❶ 工程師筆記|將 framebuffer 保存為圖片來檢查內容正確性

關鍵詞:

Framebuffer, GUI

1、前言

在GUI項目開發中,顯示問題的定位是常見的難題。其中,屏幕花屏是較為嚴重的問題,嚴重時會直接影響用戶體驗。正常的UI顯示包括兩個關鍵過程:畫圖和幀緩沖到屏幕的傳輸。如果畫圖過程發生錯誤,幀緩沖內容將不正確,傳輸到屏幕後顯示必然不準確。若畫圖過程正確,而傳輸過程出錯,幀緩沖內容正確,但屏幕顯示數據錯誤,導致屏幕顯示內容不正確。因此,在分析顯示錯亂、花屏等現象時,需要判斷是畫圖錯誤還是傳輸錯誤。本文將介紹一種方法,即通過將幀緩沖內容導出為圖片,以判斷幀緩沖內容的正確性。由於幀緩沖包含所有像素的RGB數據,導出後需藉助工具將RGB數據轉換為圖片,便於在PC上直接查看。

可使用python的Pillow包將RGB數據轉換為JPG圖片。讀取幀緩沖的過程可以通過Python的pyswd包實現。

2、環境安裝

本機環境為Windows10 64位,已安裝Python 3.9.0(測試過3.9.6,正常運行)。確保將Python添加到系統環境變數的Path中。

下載相關軟體與庫:

2.1. 安裝libusb

從GitHub下載libusb-1.0.24.7z,解壓後將VS2019/MS64/dll/libusb-1.0.dll復制到Python安裝目錄,與python.exe處於同一目錄。

2.2. 安裝pyusb

從pypi.org下載pyusb-1.2.1-py3-none-any.whl,使用powershell運行pip install pyusb-1.2.1-py3-none-any.whl。

2.3. 安裝Pillow

從lfd.uci.e下載Pillow庫,使用powershell運行pip install Pillow-8.3.1-cp39-cp39-win_amd64.whl。

2.4. 安裝pyswd

從GitHub下載pyswd-1.0.0.zip,解壓後進入pyswd-1.0.0目錄,使用powershell運行python setup.py install。

3. 將幀緩沖保存為圖片
3.1. 讀取幀緩沖

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

3.2. 保存圖片

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

4、測試及小結

在L4R9-DK板上進行了測試。

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

(2)開啟GFXMMU時,framebuffer對應虛擬地址,需將圖像寬度參數更改為GFXMMU像素寬度。

完成環境安裝後,通過此腳本可以方便地查看framebuffer內容。若出現屏幕花屏問題,可導出framebuffer圖片進行查看。如畫圖過程出錯,則導出的圖片顯示也錯誤。相反,如果畫圖過程正常,framebuffer內容正確,導出的圖片也正常,這時就需要檢查傳輸過程導致的顯示問題。

❷ 英文縮寫

ASCII -- American Standard Code for Information Interchange
美國信息標准交換碼。與它相對的是Binary,通常。
AGP -- Accelated Grhpics Port
如果沒記錯的話,應該是一種匯流排標准,目前主要是為提高顯卡的速度服務,是Intel的作品。
asl -- age/sexuality/location
是在IRC裡面和陌生人打招呼用的頻率最高的一個縮寫。不要覺得自己真的很無知。
ASP -- Active Server Pages
Microsoft 的一種動態頁面技術,基本原理是通過伺服器端腳本(Script)響應客戶端的請求,以求得所謂瀏覽器獨立的效果,不知道我講明白沒有,不過我心裡頭是挺明白的。另外有一種新的解釋是 Application Service Provider 另一種 SP ,我覺得這個說法傾向於 IT 界太果泛濫的概念堆砌,所以不把它作為預設的解釋。
B2B -- Bussiness To Business
電子商務的一種形式,指商家對商家的在線交易形式。例如網上采購系統。
B2C -- Bussiness To Client
相對 B2B 而言的電子商務的另一種形式,例如網上書城。
BBS -- Bulletin Board System
公告牌系統。
brb -- Be Right Back
聊天室里的習語之一,「馬上就回來」(多半一路小跑去衛生間了)。
BTW -- By The Way
「順便說一句」的意思。
CEO -- Chief Executive Officer
首席執行官。
CGI -- Comman Gateway Interface
通用網關介面。一種很好玩的東西。它實際上是一種程序,可以用任何語言寫成,當然需要運行它的伺服器支持才行。常見的計數器,留言本,甚至搜索引擎都可以算作一種CGI。
CIO -- Chief Information Officer
信息主管。
CTO -- Chief Technology Officer
首席技術官,據說當年創業時的 IT 精英們把家產累計到一定程度,就會需要一些資深的管理人員的介入,為了以示安慰,所以封自己一個 CTO 的頭銜。
COM -- Componant Object Mole
組件對象模型,很有意思的東西。
CRT -- Cathode Ray Tube
陰極射線管。通常用來描述顯示器的類型。相對於 LCD 而言。
DCOM -- Distributed Componant Object Mole
分布式組件對象模型,很有意思的東西。
DINK -- Double Income No Kids
雙收入無子女家庭。
DOS -- Disk Operation System
磁碟操作系統,很老很老的操作系統,基於命令行界面,短小精悍。
DIY -- Do It Yourself
流行在硬體發燒友圈子裡的行話。也算是有原裝機、兼容機並稱的一種PC,指由個人采購所有硬體並自行組裝的PC。
EDO -- Extended Data Out
擴展數據輸出。實際多用來指稱某種類型的內存。該類型的內存讀寫周期一般為20-30ns。
EDS -- Electronic Data System
另一個CAD領域的老大級公司,代表作UG
ftp -- file transfer protocol
文件傳輸協議。從另一種意義上說,它也是一條命令。DOS和UNIX上都有。
GUI -- Graphic User Interface
圖形用戶界面(介面)。比如我們可以說一般的Windoze程序都是GUI的。
HP -- Hewlett Packard
我當然不想為惠普公司做免費廣告。我想說的是,有一次Carrie問我:「Do you have hp?」,我一下好土,後來才知道是HomePage的意思。呵呵。
HTML -- HyperText Markup Languange
超文本標識語言。SGML 的子集。
http -- HyperText Transform Protocal
超文本傳輸協議。
IBM -- International Business Machine
又稱「藍色巨人」的國際商業機器公司。
ICP -- Internet Content Provider
大家請顧名思義吧。參見 ISP。
ICQ -- I seek you
這個縮寫略有不同,是根據發音來的。又稱「網路尋呼機」。剛開始被媒介炒得熱鬧非凡,現在好象沒那麼熱了。
IDE -- Integrated Device Electronics
直譯是「集成設備電路」,常用來指稱硬碟、光碟機等設備的類型。對應的術語是 SCSI。
IRC -- Internet Relay Chat
一種很泛濫的胡吹瞎侃運動。
ISDN -- Integrated Services Digital Network
綜合業務數字網,可能就是人們說的「專線」吧,速率128kbps,不過對目前大多數人來說,It Still Does Nothing。
ISP -- Internet Service Provider
照字面上說是互聯網服務提供商。中國最牛的ISP恐怕非「中國點心」莫屬。其他的小ISP只能在郵電的牙縫里生存。或者紛紛向 ICP 轉移。振臂高呼一百次。反對壟斷!
JPEG -- Joint Picture Expert Group
是個專門制定各種靜態圖象標準的爛組織,比如,"*.jpg"的圖象格式就跟這個組織關系密切了。(p也可能是photograph的意思吧。)
LCD -- Liquid Crystal Display
液晶顯示器。參見 CRT。
lol -- laughing out loudly
IRC里令人發指的慣用語。
MPEG -- Motion Pictures Expert Group
也有人解釋為「Moving Pictures Expert Goup」,望文生義的說,就是動態圖象專家組了,各種視頻格式都跟它關系曖昧了。但就本質而言,它實際代表著一種高效的壓縮技術。比如,較新的mp3格式的歌曲就是採用 MPEG 的 layer 3 的技術壓縮的。一張普通的mp3光碟大約相當於10-15張CD。據說mp4已經出來了。
MUD -- Mutiple User Dimention
一種很風靡的網上游戲,沉迷其中的人都說自己「深陷泥潭」或者「不能自拔」雲雲。註:D還有一種較普遍的解釋是Dungeon。其餘的就不羅列了。
NPC -- Non-Player Character
計算機游戲里的「術語」,指不受玩家控制的電腦角色。可以給玩家一些提示或幫助,不知「老怪」算不算?
PC -- Personal Computer
個人計算機,最廣泛使用的縮略語。
perl -- Practical Extraction and Report Language
一種「黑客」的語言,有人這樣評價。後綴名通常為 pl。
ping -- Packet Internet Groper
經常上網的同志應該知道這個命令的。
PTC -- Parametric Technology Co.
一個CAD領域的老大級公司,代表作Pro/*,比如 Pro/Engineer, Pro/Manufacuring, etc
RAM -- Random Access Memory
通常泛指的內存都可以稱為RAM。在此基礎上的許多內存的變種,就叫「這RAM」,「那RAM」的。參見 SDRAM.
REM -- Rapid Eye Movement
醫學上的術語,指人在做夢時,眼球的快速轉動。同時也是一個小有名氣的(搖滾)樂隊的名字。
ROM -- Read Only Memory
只讀的記憶體,最典型的當然是CDROM了。
RPG -- Role-Play Game
角色扮演游戲。順便把其他的游戲類的縮寫詞羅列一下。
ACT 動作類游戲
AVG 冒險類游戲
RCG 賽車類游戲
SLG 模擬類游戲
FGT 格鬥類游戲
SPT 運動類游戲
STG 策略類游戲

SCSI--Small Computer System Interface
另一種介面規范,與 IDE 相對。
SDRAM--Synchromous DRAM
同步的DRAM。同步內存,或稱「快閃記憶體」,現在最最流行的高檔內存。其讀寫周期為10-15ns。
BTW: SDRAM=S+DRAM=S+D+RAM,這其中的D彷彿是Dynamic之意。很沒把握。
SGI--Silicon Graphics Inc
大名鼎鼎的軟硬體公司,它的總部應該在矽谷吧。
SGML--Standard General Markup Languange
標准通用標識語言。
TCP--Transmission Control Protocol
傳輸控制協議。
UIN--Universal Internet Number
ICQ 里捏造的術語。凡申請者均可獲得一個UIN。
URI--Uniform Resource Identifier
統一資源***。不知道這個詞誕生有什麼意義。
URL--Uniform Resource Locator
統一資源定位器。一切都因為Internet太偉大了。
USB--Universal Serial Bus
通用串列匯流排。一種新型的匯流排介面,速率可達到2M/s,且理論上可在一條線上同時連接多達127個設備。但據說實際上至多連接5-6個設備,其速率就因匯流排帶寬的限制變得沒有實際意義了。
VRML--Virtual Reality Modeling Language
虛擬現實的造型語言。用這個東西寫出的頁面,可以讓你把東西拖來拖去的,據說你如果在VR的花園里遛狗,還可以聽到你VR的寵物忽遠忽近的叫喚。
VOD--Video On Demand
視頻點播。還有,SOD = Service On Demand
WORM--Write Once Read Many
不是「蟲蟲」,是一種光碟類型,只可寫一次。
WWW--World Wide Web
萬維網。
yahoo--yet another heriarchiecal officious oracle
這個就不用多說了吧

❸ ftp命令放入shell不識別lcd命令

ftp在shell中必須使用這種格式,用重定向把ftp命令傳給ftp:
#!/bin/bash
LANG=en_US
export LANG
cd /tmp/b
ftp -nv 192.168.0.104 << EOF
user senlin senlin
cd /senlin/upload
type binary
put a.txt
quit
EOF

另外一種辦法就是使用 expect腳本 ,你到網上搜搜expect命令

❹ 筆記本怎麼關掉屏幕,前台腳本繼續運行

滑鼠在移動時,筆記本屏幕是無法關閉的,解決的辦法只能曲線救國。
一是,外接顯示器作為主顯示器,然後關閉…這還用說,估計不好實現。
二是,把腳本放在虛擬機里運行,然後用Turn Off LCD關閉筆記本屏幕。

編譯一個shell腳本,ftp到主機 新建目錄 拷貝文件 刪除目錄 退出

首先,腳本並不需要知道本身所在主機的IP,所以,用不到10.10.141.91這個源地址。
再次,ftp命令中不支持直接在伺服器端新建文件,只能先在本地新建後上傳。其實,ftp客戶端軟體,如CuteFTP也都是這么做的,只是你覺察不到。
#!/bin/bash
host="10.10.142.72"
username="xxxx"
#這里寫你的FTP登錄用戶名
password="xxxxxxx"
#這里寫你的FTP登錄密碼
file1="testexam1"
file2="testexam2"
touch
$file1
touch
$file2
(
ftp
-ni
$host
<<EOF
quote
USER
$username
quote
PASS
$password
cd
/home/query
#切換伺服器目錄
binary
put
$file1
put
$file2
lcd
/home/query
#切換本地目錄
get
$file1
delete
$file1
bye
EOF
)
>/dev/null
2>err.log

熱點內容
辦公室白領新解壓方法 發布:2025-01-31 18:55:23 瀏覽:557
摩斯密碼短長是什麼意思 發布:2025-01-31 18:50:17 瀏覽:586
類的訪問修飾 發布:2025-01-31 18:42:46 瀏覽:932
編譯安卓代碼要伺服器嗎 發布:2025-01-31 18:41:14 瀏覽:587
sqlserver清空資料庫 發布:2025-01-31 18:41:04 瀏覽:276
阿里雲mc伺服器 發布:2025-01-31 18:40:26 瀏覽:519
阿姨ftp 發布:2025-01-31 18:33:23 瀏覽:717
androidsnmp 發布:2025-01-31 18:33:22 瀏覽:386
android線程通知 發布:2025-01-31 18:30:12 瀏覽:635
肥豬估演算法 發布:2025-01-31 18:22:50 瀏覽:280