2017/8/1
am3352 usb鼠标不显示:
1,首先usb驱动不行、咱也确定不了是不是 wince7、要usb正常使用鼠标才显示。
2,然后就漫长的找排除方法
网上看到别人写的:
我在用 BSP_WINCE_ARM_A8_02_30_00 代码开发AM335X wince7平台。
我想在用触摸屏操作 WINCE7 OS时, 能有鼠标箭头。 但是现在没有。
请大家教教我如何打开 鼠标箭头?
我自己也试着去调试代码, 但是发现 下面的函数始终没有被调用:
SCODE
OMAPDDGPE::SetPointerShape(
GPESurf *pMask,
GPESurf *pColorSurf,
int xHotspot,
int yHotspot,
int xSize,
int ySize
)
但是下面的两个函数被调用了
SCODE
OMAPDDGPE::MovePointer(
int xPosition,
int yPosition
)
VOID OMAPDDGPE::CursorOn()
首先跟上面方法一样找
然后在public/oak/disp里面加打印信息
然后发现DrvSetPointerShape函数没有执行
然后开始移植另一个wince7.0 的bsp
2017/9/10
am3352 wince7 网卡分配不到正确IP
发现是因为注册表 有个没有注册成功 打开即可
2017/9/19
am3352 wince7
1,gpio控制不了 对比发现gpio1 gpio3 clk 没有使能
EnableDeviceClocks(AM_DEVICE_GPIO1,TRUE);
2017/9/21
am3352 wince7
1,中断不产生 对比发现OALIntrEnableIrqs 相关函数设置寄存器不对函数
2017/9/25
am3352 wince 7
1,声卡放音死了 在main.c配置gpio模式 正常
2,报stdafx.h文件找不到重新生成解决方案
3,bsp_padcfg.h文件配置不生效 在main.c初始化配置正常 发现bsp_padcfg.c调用失败修改正常
4,进系统发现flash 存储空间小,ramdisk占96M 后来发现是因为nk.bin存储在flash里面
5,客户报This virtual machine is configured for 64-bit guest operating systems Howeve,64-bit operation is not possible
让他截图发现vt-x要使能 进bios找cpu选项里的enable搞定
客户报svga 将设置3d模式禁用
6,烧写系统nand启动不来 对比发现烧写xlnand ecc是3改成4即可
2017/9/26
wince logo 显示异常 发现显示驱动是16位 的改成24位的显示logo正常不过启动显示不出图像
2017/9/27
wince logo
显示驱动改回16位的将.bmp显示是有888转成565 显示正常
2017/10/11
am3352 linux 文件系统制作
busybox
编译器修改
进入busybox
更改makefile
CROSS_COMPILE ?=/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
tslib
更改buildmakefile
CROSS = arm-linux-gnueabihf-
qt4
mkspecs\qws\linux-arm-g++\qmake.conf
QMAKE_CC = arm-linux-gnueabihf-gcc -lts
QMAKE_CXX = arm-linux-gnueabihf-g++ -lts
QMAKE_LINK = arm-linux-gnueabihf-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++ -lts
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_STRIP = arm-linux-gnueabihf-strip
qt4创建文件失败
buildarm.sh
target=/home/svs/svs/svs/usr/local/Trolltech/qt4.8.6-arm
mktarget.sh
SRC_DIR=/home/svs/svs/svs/usr/local/Trolltech/qt4.8.6-arm
2017/10/12
am3352 linux 电容屏触摸不生效更改内核加打印信息发现
0x44E10964 mode[0x17]
u32 *p = NULL;
p = (u32*)ioremap(0x44E10964, 4);
if (NULL == p) {
GTP_ERROR("Failed to pull up the interrupt pin.\n");
}
// *p &= ~(1<<3);//*p &= ~(1<<5);
*p |= 1<<4;
*p |=(1<<5);
am3352 不支持usb鼠标
顺带学习make menuconfig
make menuconfig 显示EDT FocalTech FT502 I2C Touchscreen support
makefile 显示obj-$(CONFIG_TOUCHSCREEN_GZSD_GT9XX) += gt9xx.o goodix_tool.o gt9xx_update.o
kconfig显示
config TOUCHSCREEN_GZSD_GT9XX
tristate "EDT FocalTech GT9XX I2C Touchscreen support"
depends on I2C
help
Say Y here if you have an EDT "Polytouch" touchscreen based
on the FocalTech GT9XX family of controllers connected to
your system.
If unsure, say N.
To compile this driver as a module, choose M here: the
module will be called edt-GT9XX.
故而我们将
hid support -usb hid 全选
usb support-ochi ehci 全选
am3352触摸
查看触摸是哪个event
cat /proc/bus/input/devices
然后查看
profile
export TSLIB_TSDEVICE=/dev/input/event1
查看qt4
TSLIB_TSDEVICE=/dev/input/event1
编译vsftpd-3.0.2.tar.gz
报错arm-linux-gnueabihf- not found
CC = arm-linux-gnueabihf-
改成
CC = arm-linux-gnueabihf-gcc
显示文件大小
使用ls -lht命令显示当前目录下的所有文件,其中有一列就是显示这个文件的大小。
如果要看一个文件夹的大小,可以用du -sh *
ftp 移植登录不进去 然后往下移植wpa
sysdeputil.c:(.text+0x2d1):对‘cap_set_flag’未定义的引用
sysdeputil.c:(.text+0x2ec):对‘cap_set_flag’未定义的引用
sysdeputil.c:(.text+0x319):对‘cap_set_flag’未定义的引用
sysdeputil.c:(.text+0x334):对‘cap_set_flag’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:29: recipe for target 'vsftpd' failed
make: *** [vsftpd] Error 1
在Makefile的LDFLAGS = -fPIE -pie -Wl,-z,relro -Wl,-z,now后添加,-lcap,执行make clean然后执行make
重新制作文件系统所有sbin bin lib user 都拷贝busybox两里面的发现启动不了
然后对比拷贝sbin bin 还是一样
最后拷贝lib 可以启动 boa也可以
2017/10/16
ftp可以登录ftp功能
然后看了password文件 改了
路径/home/ftp 改成/可以 ftp到根目录 而不是/home/ftp了
改了之后发现只能读不能拷贝
然后chmod 777 /
ok
重启发现ftp登录不进去
然后把2416vsftpd.conf拷过去ok
然后开始找之前那个库影响
No such user: root
cp ../lib2/libn* ./ -rf
拷贝之后ok
Error: selected processor does not support Thumb mode `rsc r8,r8,#0'
./configure --prefix=/dao/_install/madplay/ --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CPPFLAGS=-I/dao/_install/madplay/include LDFLAGS=-L/dao/_install/madplay/lib
1:
gcc -shared -fPIC -o 1.so 1.c
这里有一个-fPIC参数
PIC就是position independent code
PIC使.so文件的代码段变为真正意义上的共享
2:
/tmp/ccOmDdh7.s:51794: Error: thumb conditional instruction should be in IT block -- `movgt fp,r9'
这需要修改~/ffmpeg-0.5.1/config.mak,在OPTFLAGS(line:16)选项中添加:
-Wa,-mimplicit-it=thumb
3:编译添加库
编译报:undefined reference to 'pthread_create'
arm-linux-gcc -o lc300-led-test lc300-led-test.c -lpthread
添加库文件 -lpthread
4:拷贝库文件
bid3tag.so libid3tag.so.0 libid3tag.so.0.3.0 libmad.so libmad.so.0 libmad.so.0.2.1复制到目标板/usr/sbin/目录中 (复制时要注意链接文件,cp命令要加上-rfa
5:压缩命令
tar zcvf ../root.tar.gz ./*
6:alsa录音放音
arecord -d 20 -c 2 -t wav -r 8000 -f "Signed 16 bit Little Endian" /test1.wav
aplay test1.wav
7:查看可执行文件所依赖库
/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-readelf /dao/_install/madplay/bin/madplay -d
8
qt 的close和系统的close冲突。close(),close(fd)
原创 2009年09月28日 22:00:00 标签:qt /unix 2893
系统函数使用::来调用,所以close(fd)应该这样:
::close(fd);
其他函数亦然。
注意,别忘了加头文件:
#include /*Unix 标准函数定义*/
#include /*文件控制定义*/
9触摸点击没反应
ts_calibrate没有移植qt4 event0没有改
10 重新做文件系统
1 busybox qt4 tslib已编译
2 cp /ptop/busybox1.17.2-icool3352-v1.0/_install/* ./ -rf
3 mkdir dev etc home lib mnt proc sys tmp var
4 mknod console c 5 1
5 mknod null c 1 3
6 cp /gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib/* ./lib/ -rf
7 cp /gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib/* ./usr/lib/ -rf
6,7步省略
8
cp ld-linux-armhf.so.3 ./lib -rf 加载器 这一步制作文件系统就可以启动有反应了
cp libm.so.6 usr/lib/ -rf
cp libc.so.6 usr/lib/ -rf
cp ../rootfs3352/etc/* ./etc/ -rf
cp ../rootfs3352/sbin/qt4 ./sbin/ -rf
tar -xjvf target-qt4.8.6.tar.bz2
cp ../rootfs3352/usr/lib/libts-0.0.so.0 ./usr/lib/ -rf
cp ../rootfs3352/sbin/autoeth0 ./sbin/ -rf
root@gzsd-virtual-machine:/ptop/3352rootest# cp /dao/_install/madplay/bin/madplay ./sbin/ -rf
root@gzsd-virtual-machine:/ptop/3352rootest# cp /dao/_install/mplayer/bin/mplayer ./sbin/ -rf
root@gzsd-virtual-machine:/ptop/3352rootest# cp /dao/_install/alsa/bin/* ./sbin/ -rf
root@gzsd-virtual-machine:/ptop/3352rootest# cp /dao/_install/madplay/lib/* ./usr/lib/ -rf
root@gzsd-virtual-machine:/ptop/3352rootest# cp /usr/share/alsa/bin/* ./sbin/ -rf
root@gzsd-virtual-machine:/ptop/3352rootest# cp /ptop/3352/boa-0.94.13/src/boa ./sbin/ -rf
cp /ptop/3352/vsftpd-3.0.2/vsftpd ./ -rf
root@gzsd-virtual-machine:/ptop/3352rootest/sbin# /gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-readelf -d vsftpd
cp /gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib/libcrypt.so.1 ../usr/lib/ -rf
root@gzsd-virtual-machine:/ptop/3352rootest# cp /ptop/3352/wpa/wpa_supplicant-0.7.3/wpa_supplicant/wpa_supplicant ./sbin/ -rf
root@gzsd-virtual-machine:/ptop/3352rootest# cp /ptop/3352/wpa/wpa_supplicant-0.7.3/wpa_supplicant/wpa_passphrase ./sbin/ -rf
root@gzsd-virtual-machine:/ptop/3352rootest# cp ../rootfs3352/sbin/wifi
wificonnect wifiset
root@gzsd-virtual-machine:/ptop/3352rootest# cp ../rootfs3352/sbin/wifi* ./sbin/ -rf
ftp不行
在Ubuntu里面
ftp 192.168.1.55
发现
root@gzsd-virtual-machine:/ptop/3352rootest# ftp 192.168.1.55
Connected to 192.168.1.55.
500 OOPS: vsftpd: not found: directory given in 'secure_chroot_dir':/usr/share/empty