1、基于am335x-evm开发板硬件;
2、SDK版本:ti-sdk-am335x-evm-08.00.00.00
3、文件系统:基于arago-base-tisdk-image-am335x-evm.tar.gz
4、交叉编译器:/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-
5、qt5.5.1 配置选项:./configure \
-prefix /usr/local/qt-5.5.1-arm \
-release \
-opensource \
-confirm-license \
-xplatform linux-arm-gnueabi-g++ \
-qt-libpng \
-qt-libjpeg \
-plugin-sql-sqlite \
-widgets \
-qt-sql-sqlite \
-make libs \
-no-cups \
-no-nis \
-no-iconv \
-no-dbus \
-no-openssl \
-no-iconv \
-no-accessibility \
-no-opengl \
-no-glib \
-no-xcb \
-nomake tools \
-nomake examples \
-nomake tests \
-qt-freetype \
-strip \
-linuxfb \
-plugindir /usr/local/qt-5.5.1-arm/plugin \
-verbose
6、qmake.conf:
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental gdb_dwarf_index
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
#QT_QPA_DEFAULT_PLATFORM = linuxfb
#QMAKE_CFLAGS_RELEASE = -O2 -march=armv7-a
#QMAKE_CXXFLAGS_RELEASE = -O2 -march=armv7-a
# modifications to g++.conf
QMAKE_CC = /opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -lts
QMAKE_CXX = /opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK = /opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK_SHLIB = /opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-g++ -lts
# modifications to linux.conf
QMAKE_AR = /opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = /opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-objcopy
QMAKE_NM = /opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-nm -P
QMAKE_STRIP = /opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-strip
load(qt_config)
7、编译安装 qt5.5.1库
8、编译qt自带的Example项目pinchzoom
9、在开发板中运行./pinchzoom ,缺少依赖库,从/opt/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/usr/lib中复制SDK预编译好的库文件。
10、./pinchzoom能够正常运行,可是运行一段时间后,出现segment fault的错误,有时候则出现illegal instruction的错误。
恳请个人同仁帮忙分析一下什么原因,也希望TI工程师能够给与帮助,谢谢!
leo chen:
监控一下内存使用率,看看是不是内存占用太多了
Jian Zhou:
这个pinchzomm应用程序有没有自带的库文件呢?
keming tang:
回复 Jian Zhou:
你好! 没有的,就是完全依赖QT库! QT库又有它自己的依赖关系!
keming tang:
回复 leo chen:
好的,我试试看! 我内存用128M的,确实有点小!
另外还有一个现象,我自己写了一个测试程序,在Widget上显示一个标签控件,显示数值1秒加一次,运行15个小时,能够正常。
但是Widget上面切换显示图片,很快就死机了!
Yaoming Qin:
回复 keming tang:
1. 建议你查查是否有内存泄漏。
2. 强烈建议你移到最新的sdk上,会有gpu的加速。
keming tang:
回复 Yaoming Qin:
我在网上只看到ti-sdk-am335x-evm-08.00.00.00 这个版本是最新的,您有最新版本的链接地址吗? 谢谢!
Jian Zhou:
回复 keming tang:
请参考:http://software-dl.ti.com/processor-sw/esd/PROCESSOR-SDK-LINUX-AM335X/latest/index_FDS.html
xing tang:
你好,我在3352上移植qt5.5后,在qt-creator上随便拖了几个控件做了个界面,板子上显示出来的效果和qt creator上看到的效果差很多,板子上的很丑,就像win2000相对于win7那种感觉,请问你有没有遇到过这种问题?我看其他的教程也是直接在qt-creator上拖控件,板子上显示出来的是一样的效果,不知道我的是哪儿出了问题
fulin chen:
回复 xing tang:
你好,我最近移植 PDK3.0,上去也是出现差不多的问题,我总感觉这个显示效果比QT4.8.5还要差些,不知道你这边解了没有?
keming tang:
回复 fulin chen:
最后问题,不在QT! 在内存的时序! 不知道您是不是用DDR, 如果是需要先做DDR TUNNING