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后是否进行了重新引导?未能初始化监视器设备。
如下图所示。
这个问题至今已出现过了两次。
解决方法:
-
Win键+X键—>选择命令提示符(管理员),或者找到c:\windows\system32\cmd.exe 文件,右击选择以管理员身份运行。
-
输入以下的命令并回车
net start vmci
net start vmx86
net start VMnetuserif
- 改变vmware几种服务的启动方式为:
sc config vmci start= auto
sc config vmx86 start= auto
sc config VMnetuserif start= auto