部分调试记录

news2024/9/25 3:28:14

Ubuntu16.04纯命令行安装VMwareTools

hudahua@hudahua-virtual-machine:~$ sudo apt-get install open-vm-tools -y

hudahua@hudahua-virtual-machine:~$ sudo apt-get install open-vm-tools-desktop

无法加载so文件,版本问题

[root@dragonboard /]# ./Qserial -qws
./Qserial: error while loading shared libraries: libpng.so.3: cannot open shared object file: No such file or directory
[root@dragonboard /]# find -name "libpng.so"
./usr/lib/libpng.so
[root@dragonboard /]# ln -s /usr/lib/libpng.so /usr/lib/libpng.so.3

有so文件,无法加载

./usr/bin/qtcamera_arm 
./usr/bin/qtcamera_arm: error while loading shared libraries: libts-0.0.so.0: cannot open shared object file: No such file or directory

ls /usr/local/tslib/lib/
libts-0.0.so.0      libts.la            pkgconfig
libts-0.0.so.0.1.1  libts.so            ts

cp -a /usr/local/tslib/lib/*.so* /usr/lib/
方法二:

[root@TX2440A /]# export LD_LIBRARY_PATH=$/usr/local/tslib/lib/
[root@TX2440A /]# echo $LD_LIBRARY_PATH
$/usr/local/tslib/lib/

关于挂载nfs文件系统的一些参数

bootloader vivi
param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.0.106:/work/nfs_root/rootfs_qtopia_qt4 ip=192.168.0.10:192.168.0.106:192.168.0.106:255.255.255.0:sbc2440.arm9.net:eth0:off"

param save

Supervivi> param show
Linux command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0


/work/nfs_root/rootfs_qtopiaqt4/etc/init.d/
vi ifconfig-eth0
	/sbin/
ifconfig eth0 192.168.0.10 netmask 255.255.255.0 up

vi rcS
/sbin/ifconfig lo 127.0.0.1
/etc/init.d/ifconfig-eth0
/bin/qt4 &

#将提示信息显示到tty1控制台上,即LCD屏上
echo "                                  " > /dev/tty1
echo "Starting Qtopia, please waiting..." > /dev/tty1

关于QT旋转90度的设置

一:配置qt的arm选项中,添加-qt-gfx-transformed 编译出错添加库-lrt

./configure -embedded arm -no-mouse-linuxtp-qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -no-qt3support -no-openssl -nomake demos -nomake doc -nomake tools -qt-gfx-transformed -lrt

编译通过后把
/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib下的所有内容拷贝到根文件系统的/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib目录下
在根文件系统环境变量中添加
/etc/init.d/rcS
	/bin/qtpoid
vi /bin/qtpoid
	添加
export QWS_DISPLAY=Transformed:Rot90
./qtcamera_arm -qws -display "Transformed:Rot90"

2012-11-15
故障现象:error: invalid option `abi=aapcs-linux’

分析原因:去掉Kernel Features中的EABI和ABI选项。
			Kernel Features  --->                                                        
[] Use the ARM EABI to compile the kernel                                                                               [ ]   Allow old ABI binaries to run with this kernel (EXPERIMENTAL)  

重新编译内核成功(没有报错,但烧进开发板后不能够启动。)
可能不能编译是交叉编译环境的版本问题。
原因:是由于交叉编译器的版本由于之前调试裸板程序时,改为了arm-linux-gcc –V(3.4.5)版本,该版本没有EABI选项,
而之前的bootloder和内核的交叉编译环境是arm-linux-gcc –v (4.1.2)

解决方法/步骤: 
将交叉编译环境改为4.1.2后,将		
Kernel Features  --->                                                        
[*] Use the ARM EABI to compile the kernel                                                                               [*]   Allow old ABI binaries to run with this kernel (EXPERIMENTAL)  	 选上编译进内核,重新烧写启动成功。

2012-11-20
故障现象:

在配置触摸屏驱动时,根据韦东山视频的程序调试,发现能够进入IRQ_TC中断函数pen_down_up_irq ,(打印输出printk("pen up\n");,printk("pen down\n");)
(request_irq(IRQ_TC, pen_down_up_irq, IRQF_SAMPLE_RANDOM, "ts_pen", NULL);)
但不能启动ADC中断,
分析原因:
通过增加调试信息,printk()逐一追踪程序执行过程,(触摸屏执行过程简要说明:首先在驱动程序中给触摸屏驱动程序初始化时,注册了一个触摸屏驱动模块,使能了 IRQ_TC 和 IRQ_ADC,IRQ_TC是用来等到触摸点的电压, IRQ_ADC将得到的将模拟电压转换为数字电压。)发现IRQ_ADC没有工作,查看其它人写的驱动代码后,
解决方法/步骤:
将request_irq(IRQ_TC, pen_down_up_irq, IRQF_SAMPLE_RANDOM, "ts_pen", NULL) ;改为  request_irq(IRQ_TC, pen_down_up_irq, IRQF_SHARED|IRQF_SAMPLE_RANDOM, "ts_pen", s3c_ts_dev) ;后 ADC工作正常。
			转换后结果输出。

重新烧写新的内核后,出现网络拼不同,不能够挂载NFS 系统 linux下

mount: mounting tmpfs on /tmp failed: No such file or directory
dm9000 dm9000.0: WARNING: no IRQ resource flags set.
eth0: link down
route: SIOCADDRT: Network is unreachable
Please press Enter to activate this console.
 cd /etc/init.d/
			vi rcS
添加
ifconfig lo 127.0.0.1
ifconfig eth0 192.168.0.10 netmask 255.255.255.0 up
route add default gw 192.168.1.1

用自己编写的u_boot启动以前开发板的kernel时提示:

s3c2410-rtc s3c2410-rtc: setting system clock to 2012-11-29 04:35:03 UTC (1354163703)
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "mtdblock3" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00            1024 mtdblock0 (driver?)
1f01            4096 mtdblock1 (driver?)
1f02          256896 mtdblock2 (driver?)

分析原因:

U_boot传入的boot_pararms参数不一致:
setup_commandline_tag("noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0");setup_commandline_tag设置为mtdblock3时,启动的出错信息
Enter your selection: Initializing GPIO ports.........
解决方法/步骤:
. 将root=/dev/mtdblock3改为root=/dev/mtdblock2    知道root存放的块的地址:
setup_commandline_tag("noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0");

在内核启动信息里面能够找到相应的信息:
Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x000000000000-0x000000100000 : "boot"
0x000000120000-0x000000520000 : "kernel"
0x000000520000-0x000010000000 : "yaffs2"


//系统的分区信息:
[root@TX2440A /]# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "boot"
mtd1: 00400000 00020000 "kernel"
mtd2: 0fae0000 00020000 "yaffs2"
arch/arm/plat-s3c24xx/common-smdk..c文件中:
//linux内核设置分区信息:
static  struct  mtd_partition  smdk_default_nand_part[]  =  { 
#elif  defined(CONFIG_256M_NAND) 
[0]  =  {   
.name    =  "boot", 
   .offset    =  0, 
.size     =  SZ_1M,   
},   
[1]  =  { 
.name    =  "kernel", 
.offset    =  SZ_1M  +  SZ_128K,   
.size      =  SZ_4M,   
[2]  =  { 
.name    =  "yaffs2",   
.offset    =  SZ_1M  +  SZ_128K  +  SZ_4M, 
.size     =  SZ_256M  -  SZ_4M  -  SZ_1M  -  SZ_128K,   
} 
#endif  
}; 

关于QT旋转90度的设置

一:配置qt的arm选项中,添加-qt-gfx-transformed 编译出错添加库-lrt

分析原因:
./configure -embedded arm -no-mouse-linuxtp-qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -no-qt3support -no-openssl -nomake demos -nomake doc -nomake tools -qt-gfx-transformed -lrt
解决方法/步骤:
编译通过后把
/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib下的所有内容拷贝到根文件系统的/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib目录下

在环境变量中添加
/etc/init.d/rcS
	/bin/qtopia
vi /bin/ qtopia
	添加
export QWS_DISPLAY=Transformed:Rot90
调试总结(心得):

qt隐藏标题栏
setWindowFlags(Qt::FramelessWindowHint);

2019-09
故障现象(问题)
继电器控制电路中,如遇到电路故障,不能通过CPU控制继电器工作,需提供一个电路(硬件逻辑电路),通过按键控制继电器的通断,达到临时使用的目的
解决思路
在继电器控制线圈端口并接一路控制电路,电路正常工作时,让其处于高阻态,不影响电路的工作,一旦电路出现故障,通过按键控制所有继电器吸合工作。

解决方法:
1、通过三极管(MOS管实现)
2、74hc573输出未使能时输出IO口高阻态实现,个人倾向第二种方法
在这里插入图片描述
在这里插入图片描述
对IC功能的熟悉程度决定了灵活运用的思路。
另外该电路,稍作改变可以用于冷热备份设计

无法打开内核设备“\.\Global\vmx86”:系统找不到指定的文件。您在安装 VMware Workstation后是否进行了重新引导?未能初始化监视器设备。
如下图所示。
在这里插入图片描述
这个问题至今已出现过了两次。

解决方法:

  1. Win键+X键—>选择命令提示符(管理员),或者找到c:\windows\system32\cmd.exe 文件,右击选择以管理员身份运行。

  2. 输入以下的命令并回车

net start vmci

net start vmx86

net start VMnetuserif
  1. 改变vmware几种服务的启动方式为:
sc config vmci start= auto

sc config vmx86 start= auto

sc config VMnetuserif start= auto

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/930497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工厂生产作业流程合规检测

工厂生产作业流程合规检测系统通过yolov7网络模型算法,工厂生产作业流程合规检测对作业人员的操作行为进行全面监测,通过图像识别算法和数据分析,对人员的操作动作、工具使用、安全防护等方面进行检测和评估,能够实时监测工人的操…

10行Python代码能做出哪些酷炫的事情?

Python凭借其简洁的代码,赢得了许多开发者的喜爱。因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的操作。下面我们来看看,我们用不超过10行代码能实现些什么有趣的功…

【Linux】【驱动】驱动挂载的时候给驱动传递参数

【Linux】【驱动】驱动挂载的时候给驱动传递参数 绪论1.什么是驱动传参驱动传参就是传递参数给我们的驱动举例:2.驱动传参数有什么作用呢?3. 传递单个参数使用如下的数组4. 传递数组使用以下函数: 传递数字值代码指令 传递数组代码传递数组指令 绪论 1.什么是驱动…

拒绝摆烂!C语言练习打卡第六天

🔥博客主页:小王又困了 📚系列专栏:每日一练 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、选择题 📝1.第一题 📝2.第二题 &#x1f4d…

hbuilderx小程序基于Android的个人健身运动记录生活APP_45n2x

近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,记录生活信息利用计算机网络实现信息化管理,使整个记录生活管理的发展和服务水平有显著提升。 本文拟采用Android平台进行…

玩转 PI 系列-看起来像服务器的 ARM 开发板矩阵-Firefly Cluster Server

前言 基于我个人的工作内容和兴趣,想要在家里搞一套服务器集群,用于容器/K8s 等方案的测试验证。 考虑过使用二手服务器,比如 Dell R730, 还搞了一套配置清单,如下: Dell R7303.5 尺寸规格硬盘CPU: 2686v4*2 内存&a…

【Linux网络】TCP UDP socket HTTP webSocket之间的区别

目录 一、OSI & TCP/IP模型 二、几者之间的关系 三、HTTP 四、Socket 五、WebSocket 5.1、WebSocket 优点 一、OSI & TCP/IP模型 首先我们要了解OSI七层模型,和预支对应的TCP/IP 四层的模型。 用下面的图可以看出,TCP UDP 工作在传输层&…

JavaScript:基本语法(变量与函数的定义与使用)

文章目录 script 标签srcdefer 延迟加载 基本语法定义变量 与 使用变量基本类型typeof 查看变量类型复合类型数组类型定义对象类型定义 函数定义函数使用函数 script 标签 src 和scc一样可以内嵌也可以外src外引。 一般是推荐外引。 <script src"idx.js">&l…

机器视觉应用开发四大软件,那一个对我们从0到1建设你的机器视觉知识体系更好

我们首先要理解什么是知识体系&#xff1a; 我们身处一个知识爆炸时代&#xff0c;我们面对各种课程&#xff0c;各种知识&#xff0c;“自身学习”&#xff0c;“高效记忆”&#xff0c;“批判性思维”&#xff0c;“解决问题的能力”。各种平台课程太多&#xff0c;各种买买…

《华为认证》配置vlan聚合

1、实验环境&#xff1a;如图所示&#xff0c;配置vlan 10、20、100 &#xff0c;vlan 100作为聚合vlan&#xff0c;vlan 10、vlan20作为子vlan&#xff0c;vlan 10和vlan 20配置成相同网段的ip地址。Vlanif 100 作为vlan 10 和vlan20的网关&#xff0c;在vlanif100上配置arp代…

linux查看正在运行的nginx在哪个文件夹当中

1、查出Nginx进程PID ps -ef|grep nginx2、查看Nginx进程启动时的工作目录 ls -la /proc/<PID>/cwd将<PID>替换为第一步中列出的Nginx进程的PID。该命令会显示Nginx进程在启动时所在的工作目录&#xff08;当前工作目录&#xff09;

基于Nodejs+vue的学习笔记分享系统设计与开发

本系统结合现今主流管理系统的功能模块以及设计方式进行分析&#xff0c;使用nodejs语言和vue.js框架进行开发设计&#xff0c;具体研究内容如下&#xff1a; (1) 管理员主要对个人中心&#xff0c;用户管理&#xff0c;笔记本管理&#xff0c;笔记分享管理&#xff0c;分享…

流量洪峰?不惧!手把手教你应对高并发挑战!

大家好&#xff0c;我是你们的小米&#xff01;今天我要和大家聊一个充满挑战和创意的话题&#xff1a;如何解决瞬时大流量高并发&#xff1f;想必很多小伙伴们在开发过程中都遇到过这个让人头疼的问题吧。别担心&#xff0c;我在这里和你分享我的经验&#xff0c;让你轻松驾驭…

网站巡检的重要性及其后果分析

在信息化、电子化的今天&#xff0c;网站已经成为企业、组织和个人展示形象、传播信息、提供服务的重要窗口。与此同时&#xff0c;为了确保网站的正常运行、用户体验和数据安全&#xff0c;定期的网站巡检就显得尤为重要。以下对网站巡检的重要性和可能的后果进行深入分析&…

部署 ssm 项目到云服务器上(购买云服务器 + 操作远程云服务器 + 服务器中的环境搭建 + 部署项目到服务器)

部署 Web 项目 1、获取 Linux 环境1.1、如何去买一个云服务器1.2、远程操作云服务器1.3、在 Linux 系统中搭建 Java Web 的运行环境。1&#xff09;安装 JDK&#xff08;使用包管理器 yum 来安装&#xff09;2&#xff09; 安装Tomcat3&#xff09;安装 MySQL。 1.4、在云服务器…

南卡开放式耳机再添新品,南卡OE CC会不会成为行业搅局者?

Nank南卡官方于8月25日宣布&#xff0c;将要上线一款百元级性价比神机-南卡OE CC&#xff0c;该新款开放式耳机以“年度开放式耳机百元标杆”为宣传口号&#xff0c;Nank南卡一直以来坚持产品力优先&#xff0c;在研发上一直都很激进&#xff0c;上一代的OE Pro首创了EAA悬停舒…

【无需公网IP】在树莓派上搭建Web站点

目录 1.概述 2.使用 Raspberry Pi Imager 安装 Raspberry Pi OS 3.设置 Apache Web 服务器 3.1测试 web 站点 3.2安装静态样例站点 3.3将web站点发布到公网 3.4安装 Cpolar 3.5cpolar进行token认证 3.6生成cpolar随机域名网址 3.7生成cpolar二级子域名 3.8将参数保存…

使用通信顺序进程(CSP)模型的 Go 语言通道

在并发编程中&#xff0c;许多编程语言采用共享内存/状态模型。然而&#xff0c;Go 通过实现 通信顺序进程&#xff08;CSP&#xff09;模型来区别于众多。在CSP中&#xff0c;程序由不共享状态的并行进程组成&#xff1b;相反&#xff0c;它们通过通道进行通信和同步操作。因此…

多线程常见面试题

常见的锁策略 这里讨论的锁策略,不仅仅局限于 Java 乐观锁 vs 悲观锁 锁冲突: 两个线程尝试获取一把锁&#xff0c;一个线程能获取成功,另一个线程阻塞等待。 乐观锁: 预该场景中,不太会出现锁冲突的情况。后续做的工作会更少。 悲观锁: 预测该场景,非常容易出现锁冲突。后…

【宝藏系列】一文带你梳理 Linux 的五种 IO 模型

【宝藏系列】一文带你梳理 Linux 的五种 IO 模型 文章目录 【宝藏系列】一文带你梳理 Linux 的五种 IO 模型&#x1f468;‍&#x1f3eb;前言1️⃣用户态和核心态1️⃣1️⃣用户态和核心态的切换 2️⃣进程切换3️⃣进程阻塞4️⃣文件描述符(fd, File Descriptor)5️⃣缓存I/O…