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工程师能够给与帮助,谢谢!