-
本帖最后由 wowo8688 于 2015-4-21 13:38 编辑
问题解决了,谢谢大家
原因,arm编译器版本太老
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
使用4.3.3版本arm编译器结合qmake4.8.6编译qt程序不通过
root@cjx-virtual-machine:/opt/xxx/Led_control# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/maxim/arm-lite/src-4.3-arm-none-linux-gnueabi-lite/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}' --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q1-176' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/libc --with-gmp=/scratch/maxim/arm-lite/obj-4.3-arm-none-linux-gnueabi-lite/host-libs-2009q1-176-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/maxim/arm-lite/obj-4.3-arm-none-linux-gnueabi-lite/host-libs-2009q1-176-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176)
root@cjx-virtual-machine:/opt/xxx/Led_control#
root@cjx-virtual-machine:/opt/xxx/Led_control# make
...
arm-linux-g++ -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib -o Led_control main.o widget.o moc_widget.o qrc_led.o -L/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib -lQtNetwork -lQtCore -lpthread
/mnt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: libts-1.0.so.0, needed by /usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtCore.so: undefined reference to `inotify_init1@GLIBC_2.9'
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtGui.so: undefined reference to `pipe2@GLIBC_2.9'
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtGui.so: undefined reference to `ts_read_raw'
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtGui.so: undefined reference to `ts_open'
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtGui.so: undefined reference to `ts_fd'
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtGui.so: undefined reference to `ts_config'
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtGui.so: undefined reference to `ts_close'
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtGui.so: undefined reference to `ts_read'
collect2: ld returned 1 exit status
make: *** [Led_control] 错误 1
root@cjx-virtual-machine:/opt/xxx/Led_control#
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
使用4.4.6版本arm编译器结合qmake4.8.6编译qt程序通过
root@cjx-virtual-machine:/opt/xxx/Led_control# arm-linux-gcc -v
Using built-in specs.
Target: arm-jyxtec-linux-gnueabi
Configured with: /home/d02cj/arm/crosstool_build/.build/src/gcc-4.4.6/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-jyxtec-linux-gnueabi --prefix=/home/d02cj/x-tools/arm-jyxtec-linux-gnueabi --with-sysroot=/home/d02cj/x-tools/arm-jyxtec-linux-gnueabi/arm-jyxtec-linux-gnueabi/sysroot --enable-languages=c,c++ --disable-multilib --with-arch=armv5te --with-cpu=arm926ej-s --with-tune=arm926ej-s --with-float=soft --with-pkgversion='crosstool-NG 1.13.3' --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --with-gmp=/home/d02cj/arm/crosstool_build/.build/arm-jyxtec-linux-gnueabi/build/static --with-mpfr=/home/d02cj/arm/crosstool_build/.build/arm-jyxtec-linux-gnueabi/build/static --with-ppl=/home/d02cj/arm/crosstool_build/.build/arm-jyxtec-linux-gnueabi/build/static --with-cloog=/home/d02cj/arm/crosstool_build/.build/arm-jyxtec-linux-gnueabi/build/static --enable-threads=posix --enable-target-optspace --with-local-prefix=/home/d02cj/x-tools/arm-jyxtec-linux-gnueabi/arm-jyxtec-linux-gnueabi/sysroot --disable-nls --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.4.6 (crosstool-NG 1.13.3)
root@cjx-virtual-machine:/opt/xxx/Led_control#
root@cjx-virtual-machine:/opt/xxx/Led_control# make
...
widget.cpp:36: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result
widget.cpp: In member function 'void Widget::on_pushButton_2_clicked()':
widget.cpp:53: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)', declared with attribute warn_unused_result
arm-linux-g++ -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib -o Led_control main.o widget.o moc_widget.o qrc_led.o -L/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib -lQtNetwork -lQtCore -lpthread
root@cjx-virtual-machine:/opt/xxx/Led_control#
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
不知道哪位大神能从我上面列出的arm编译器版本中看出是编译器什么配置缺少还是说arm编译器4.3.3不能太老引起不匹配qmake-4.8.6呢?
但本人自己编译的qmake-4.8.5却和arm编译器4.4.6版可正常匹配使用。看来是arm编译器4.3.3缺少什么配置项?
-
本帖最后由 wowo8688 于 2015-4-15 15:26 编辑
请教版本使用您编译好的qt库出现如下错误是什么原因啊,求解法
编译qt486错误:
关键词libQtCore.so: undefined reference to `inotify_init1@GLIBC_2.9'
root@cjx-virtual-machine:/opt/hmi2# make
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/bin/qmake -o Makefile hmi2.pro
arm-linux-g++ -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib -o hmi2 main.o mainwindow.o win2.o moc_mainwindow.o moc_win2.o qrc_1234567-qrc.o -L/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib -L/opt/tslib/tmp/lib -lts -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib -lQtNetwork -lQtCore -lpthread
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtCore.so: undefined reference to `inotify_init1@GLIBC_2.9'
/usr/local/Trolltech/QtEmbedded-4.8.6-arm/lib/libQtGui.so: undefined reference to `pipe2@GLIBC_2.9'
collect2: ld returned 1 exit status
make: *** [hmi2] 错误 1
root@cjx-virtual-machine:/opt/hmi2#
网上搜索说是ubuntu的glibc库太老
本人使用自己编译的QtEmbedded-4.8.5-arm版本在同样的ubuntu下编译通过,这是为啥啊
-
本帖最后由 wowo8688 于 2015-4-14 10:28 编辑
因为QMainWindow 建立的qt工程都有标题和菜单 即使隐藏标题栏还是有痕迹,所以只能用QWidget 或 QDialog
QDialog设置背景使用setstylesheet没问题,QWidget使用setstylesheet不能设置背景,现在用paintEvent()事件解决QWidget 不能设置背景问题。
问题1:这个过程是否哪里走弯路了?为了创建一个没有标题和菜单栏的窗口,有没有更简单的创建方法。
-
ERROR: Cannot umount问题也找到解决办法,给后来人参考,但尚不知道到原因,也请高手明示
在主机的/etc/hosts文件中加入
在主机的/etc/hosts文件中增加一行名称解析內容:
你的开发板ip nfs目录。
比如:192.168.0.100 /opt/target
-
本帖最后由 wowo8688 于 2015-4-8 10:26 编辑
解决了,原来是目录下没有zImage文件导致,zImage放在、/opt目录下,重新拷贝到/home目录下ok
Helper2416 # nfs 0x30008000 192.168.0.100:/home/zImage
smc911x: initializing
smc911x: detected LAN9220 controller
smc911x: phy initialized
smc911x: MAC 00:40:5c:26:0a:5b
File transfer via NFS from server 192.168.0.100; our IP address is 192.168.0.20
Filename '/home/zImage'.
Load address: 0x30008000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###################################################*** ERROR: Cannot umount
Helper2416 #
-
本帖最后由 wowo8688 于 2015-4-8 10:06 编辑
Helper2416 # nfs c3000000 192.168.0.100:/home/zImage
smc911x: initializing
smc911x: detected LAN9220 controller
smc911x: phy initialized
smc911x: MAC 00:40:5c:26:0a:5b
File transfer via NFS from server 192.168.0.100; our IP address is 192.168.0.20
Filename '/home/zImage'.
Load address: 0xc3000000
Loading: *** ERROR: File lookup fail
*** ERROR: Cannot umount
Helper2416 #
这是什么问题呢?是内核有问题还是uboot参数问题还是nfs服务器问题,如何下手?
nfs文件系统都可正常启动应该可排除内核有问题和nfs服务器问题吧?!
-
刚刚测试了
Helper2416 # nfs 0x30000800 $serverip:/home/zImage
smc911x: initializing
smc911x: detected LAN9220 controller
smc911x: phy initialized
smc911x: MAC 00:40:5c:26:0a:5b
File transfer via NFS from server 192.168.0.100; our IP address is 192.168.0.20
Filename '/home/zImage'.
Load address: 0x30000800
Loading: *** ERROR: Cannot mount
*** ERROR: Cannot umount
Helper2416 #
-
有个疑问,help2416的uboot的nfs命令怎么用,nfsroot目录已有C0A80014.img是内核zImage.70重命名后,但启动出现如下错误
Helper2416 # nfs
smc911x: initializing
smc911x: detected LAN9220 controller
smc911x: phy initialized
smc911x: MAC 00:40:5c:26:0a:5b
*** Warning: no boot file name; using '/nfsroot/C0A80014.img'
File transfer via NFS from server 192.168.0.100; our IP address is 192.168.0.20
Filename '/nfsroot/C0A80014.img'.
Load address: 0x30000000
Loading: *** ERROR: Cannot mount
-
问题解决了,内核没问题,文件系统没问题,uboot下命令引导参数没问题
定位问题,vi /etc/exports 下新添加的 /opt *(rw,sync)需要重新启动nfs生效否则就提示上述异常错误。
-
本帖最后由 wowo8688 于 2015-4-7 21:23 编辑
板子ping主机ubuntu是通的,内核是用光盘zImage.70对吧?!nfs文件系统是用光盘中root-qtopia.tar.xz解压在目录下/opt/target/设置好了。
-
本帖最后由 wowo8688 于 2015-4-8 09:00 编辑
求救
我想使用help2416的uboot的nfs启动文件系统作qt实验,nfs一直启动不了,错误如下,请教是版主是如何实现的?
smc911x smc911x: eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
device=eth0, addr=192.168.0.20, mask=255.255.255.0, gw=255.255.255.255,
host=192.168.0.20, domain=, nis-domain=(none),
bootserver=255.255.255.255, rootserver=192.168.0.100, rootpath=
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00 256 mtdblock0 (driver?)
1f01 3840 mtdblock1 (driver?)
1f02 258048 mtdblock2 (driver?)
b300 7782400 mmcblk0 driver: mmcblk
b301 7778304 mmcblk0p1 00000000-0000-0000-0000-000000000000
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[] (unwind_backtrace+0x0/0xf0) from [] (panic+0x54/0x190)
[] (panic+0x54/0x190) from [] (mount_block_root+0x1c8/0x208)
[] (mount_block_root+0x1c8/0x208) from [] (mount_root+0xd0/0xf0)
[] (mount_root+0xd0/0xf0) from [] (prepare_namespace+0x15c/0x1b4)
[] (prepare_namespace+0x15c/0x1b4) from [] (kernel_init+0xf4/0x12c)
[] (kernel_init+0xf4/0x12c) from [] (kernel_thread_exit+0x0/0x8)
evbug: Event. Dev: input1, Type: 3, Code: 0, Value: 2865
evbug: Event. Dev: input1, Type: 3, Code: 1, Value: 2717
evbug: Event. Dev: input1, Type: 1, Code: 330, Value: 1
-
支持一下,又是个大神。
-
学习
-
请教如何仿照usbprn写一个自己的驱动,楼主能共享下代码么
最近正在弄wince下usb的文件传输
-
本帖最后由 wowo8688 于 2015-1-8 19:17 编辑
Helper2416 #
Helper2416 # §ñ
U-Boot 1.3.4 (Feb 26 2014 - 17:09:53) for SMDK2416
CPU: S3C2416@600MHz
Fclk = 600MHz, Hclk = 150MHz, Pclk = 75MHz
Board: SMDK2416 DDR2
DRAM: 64 MB
Flash: 1 MB
NAND: 256 MB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
smc911x: MAC 00:40:5c:26:0a:5b
Hit any key to stop autoboot: 0
Helper2416 #
Helper2416 #
果然是600M的原因,测试光盘里有534M的uboot成功了。
或者 那个MDK程序可怎么改下适应600M的?
-
Helper2416 # tftp 0x32000000 s3c2416.bin;go 0x32000000
smc911x: initializing
smc911x: detected LAN9220 controller
smc911x: phy initialized
smc911x: MAC 00:40:5c:26:0a:5b
TFTP from server 192.168.0.100; our IP address is 192.168.0.20
Filename 's3c2416.bin'.
Load address: 0x32000000
Loading: T #
done
Bytes transferred = 10084 (0x2764)
## Starting application at 0x32000000 ...
¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ´)ËÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿+Ù´#ñ´)ËÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ÃÝ¿+Ù´#ñ¸)ËÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ´)ËÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿+Ù´#ñ¸)ËÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ÃÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ°)ËÝ¿+Ù´#ñ¸)ÃÝ¿#Ù´#ñ°)ÃÝ¿#Ù´#ñ´)ËÝ¿#Ù´#ñ¯ñ
-
这个MDK编译后运行乱码啊,猜测是时钟频率不对。这个怎么改啊。楼主不是正常运行的么?我的是help2416板子使用出厂的uboot1.3.4
-
int do_usbd_dnw ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
...
while (1) {
if (S3C_USBD_DETECT_IRQ()) {
s3c_udc_int_hndlr();
S3C_USBD_CLEAR_IRQ();
}
...
}
这个是uboot_1.3.4的usb使用dnw传输代码用于s3c2416的板子,有一点不太明白
usb传输中断在这c函数判断标志位把所有传输的事情都做了,找了start.S启动文件为什么汇编里面的就不用中断入口函数调用c的usb中断了?
-
help2416的uboot确实有dnw的功能,但是不太明白如何才能分离出dnw的功能单独做成一个裸机程序测试。
2440的dnw功能可实现裸机程序单独测试,发现help2416的uboot里dnw的IRQ中断没有处理居然是判断中断标志而不是在中断里处理。
请教,uboot如何才能分离出单一的dnw功能啊 或者 精简 到只有一个dnw的功能?
-
已经实现2440的usbslave的裸机传输,就像用uboot+dnw升级程序一样
查看2416的pdf发现usb设备端的和2440的很不一样,无法入手
请教,help2416的usbslave的裸机传输,楼主有研究过么?