部分调试记录

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

ubuntu进不了图形界面
ubuntu无法进入图形界面的解决办法:

在登录界面按ctrl+Alt+F1(F2-F6都可以),然后输入用户名密码进行登录。

1、使用Ctrl + Alt + F1组合键进入字符命令行界面

2、试试 restartx

3、如果第2条解决不了,再试试 sudo service lightdm restart 重启 lightdm

4、如果第3条解决不了,再试试 sudo dpkg-reconfigre lightdm 选择 lightdm

5、如果第4条解决不了,就只能重装 unity 了

sudo apt-get update

sudo apt-get install --reinstall ubuntu-desktop

sudo apt-get install unity

6、如果以上都解决不了,只能重装系统。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据之美:探索数据可视化设计的奇妙世界

在信息时代的浪潮中,海量的数据正在影响着我们的生活和决策。然而,数据本身虽然有力量,但如何将其有机地呈现给我们,却成为了一个挑战。数据可视化设计应运而生,它不仅让枯燥的数字变得生动,还带来了一场视…

设计模式概述

文章目录 设计模式概述创建型模式:结构型模式:行为型模式: 设计模式概述 设计模式是什么? 设计模式的一般定义为: 设计模式(Design Pattern)是一套反复使用、多人知晓的,经过分类…

解决ubuntu文件系统变成只读的方法

所欲文件变成只读,这种情况一般是程序执行发生错误,磁盘的一种保护措施 使用fsck修复 方法一: # 切换root sudo su # 修复磁盘错误 fsck -t ext4 -v /dev/sdb6 方法二: fsck.ext4 -y /dev/sdb6 重新用读写挂载 上面两种方法&…

kubernetes/k8s驱逐机制总结篇

概述 k8s的驱逐机制是指在某些场景下,如node节点notReady、node节点压力较大等,将pod从某个node节点驱逐掉,让pod的上层控制器重新创建出新的pod来重新调度到其他node节点。这里也将kube-scheduler的抢占调度纳入到了驱逐的讨论范围内&#…

用MFC打开外部程序

在MFC(Microsoft Foundation Classes)中,你可以使用ShellExecute函数来打开Notepad并加载指定的文件。ShellExecute函数是Windows API的一部分,它可以执行与操作系统相关的操作,例如打开文件、运行程序等。 以下是在M…

性能评估之旅:软件测试的神秘工具与方法论

引言:性能评估的重要性 在当今的软件开发领域,性能评估已经成为了一个不可或缺的环节。随着用户对于软件响应速度和稳定性的要求越来越高,如何确保软件在各种环境下都能稳定运行,成为了每一个开发者和测试者必须面对的问题。性能…

爬虫:绕过5秒盾Cloudflare和DDoS-GUARD

本文章仅供技术研究参考&#xff0c;勿做它用&#xff01; 5秒盾的特点 <title>Just a moment...</title> 返回的页面中不是目标数据&#xff0c;而是包含上面的代码&#xff1a;Just a moment... 或者第一次打开网页的时候&#xff1a; 这几个特征就是被Cloud…

linux系统硬盘备份

查看硬盘信息 输入命令&#xff1a; lsblk 可以看到下图的服务器存在一个硬盘sda &#xff0c;容量为40g 备份硬盘 备份 dd if/dev/sda of~/disk1.img 备份并压缩 dd if/dev/sda | gzip > disk.img.gz 还原硬盘 如果压缩过的镜像需要先解压 还原 dd ifdisk1.img …

SQL 错误 [22007]: ERROR: invalid input syntax for type date: ““

0. 背景 PG数据库一张表有这样一个varchar类型的字段end_date,存储的值是格式化后的年月日日期如 2024-08-10 现在我需要根据当前日期与end_date的差值作为where条件过滤,我的写法 select …… from my_table_name where current_date - cast (end_date as date) >100报错…

Redis 10 大数据类型

1. which 10 1. redis字符串 2. redis 列表 3. redis哈希表 4. redis集合 5. redis有序集合 6. redis地理空间 7. redis基数统计 8. redis位图 9. redis位域 10. redis流 2. 获取redis常见操作指令 官网英文&#xff1a;https://redis.io/commands 官网中文&#xff1a;https:/…

Fastadmin框架 聚合数字生活抵扣卡系统v2.8.6

【2.8.6更新公告】 1.【优化】优化已知问题。 2.【新增 】新增区县影院。

[ES]安装es、kibana、ik分词器

一、安装es和kibana 1、创建一个网络&#xff0c;网络内的框架(eskibana)互联 docker network create es-net 2、下载es和kibana docker pull elasticsearch:7.12.1 docker pull kibana:7.12.1 3、运行docker命令部署单点eskibana&#xff08;用来操作es&#xff09; doc…

MySQL中的free链表,flush链表,LRU链表

一、free链表 1、概述 free链表是一个双向链表数据结构&#xff0c;这个free链表里&#xff0c;每个节点就是一个空闲的缓存页的描述数据块的地址&#xff0c;也就是说&#xff0c;只要你一个缓存页是空闲的&#xff0c;那么他的描述数据块就会被放入这个free链表中。 刚开始数…

Pytest和Unittest测试框架的区别?

如何区分这两者&#xff0c;很简单unittest作为官方的测试框架&#xff0c;在测试方面更加基础&#xff0c;并且可以再次基础上进行二次开发&#xff0c;同时在用法上格式会更加复杂&#xff1b;而pytest框架作为第三方框架&#xff0c;方便的地方就在于使用更加灵活&#xff0…

6. 激活层

6.1 非线性激活 ① inplace为原地替换&#xff0c;若为True&#xff0c;则变量的值被替换。若为False&#xff0c;则会创建一个新变量&#xff0c;将函数处理后的值赋值给新变量&#xff0c;原始变量的值没有修改。 import torch from torch import nn from torch.nn import …

2.神经网络的实现

创建神经网络类 import numpy # scipy.special包含S函数expit(x) import scipy.special # 打包模块 import pickle# 激活函数 def activation_func(x):return scipy.special.expit(x)# 用于创建、 训练和查询3层神经网络 class neuralNetwork:# 初始化神经网络def __init__(se…

十二、pikachu之URL重定向

文章目录 1、URL重定向概述2、实战3、URL跳转的几种方式:3.1 META标签内跳转3.2 javascript跳转3.3 header头跳转 1、URL重定向概述 不安全的url跳转问题可能发生在一切执行了url地址跳转的地方。如果后端采用了前端传进来的&#xff08;可能是用户传参&#xff0c;或者之前预埋…

学习JAVA打卡第四十四天

Scanner类 ⑴Scanner对象 scanner对象可以解析字符序列中的单词。 例如&#xff1a;对于string对象NBA 为了解析出NBA的字符序列中的单词&#xff0c;可以如下构造一个scanner对象。 将正则表达式作为分隔标记&#xff0c;即让scanner对象在解析操作时把与正则表达式匹配的字…

Module not found: Error: Can‘t resolve ‘vue-pdf‘ in ‘xxx‘

使用命令npm run serve时vue项目报错&#xff1a; Module not found: Error: Cant resolve vue-pdf in xxx 解决方案&#xff1a; 运行命令&#xff1a; npm install vue-pdf --save --legacy-peer-deps 即可解决。 再次顺利执行npm run serve

Java --- 异常处理

目录 一、什么是异常 二、异常抛出机制 三、如何对待异常 四、 Java异常体系 4.1、Throwable 4.2、Error 4.2、Exception 4.2.1、编译时异常 4.2.2、运行时期异常 五、异常处理 5.1、捕获异常&#xff08;try-catch&#xff09; 5.1.2、catch中异常处理方式 …