当前位置:首页 » 编程软件 » 脚本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: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
回文算法n 发布:2025-01-31 18:15:53 浏览:934