smp865x广告机之QT移植及优化.doc_第1页
smp865x广告机之QT移植及优化.doc_第2页
smp865x广告机之QT移植及优化.doc_第3页
smp865x广告机之QT移植及优化.doc_第4页
smp865x广告机之QT移植及优化.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

smp865x广告机之QT移植及优化 分类: SMP865X广告机 嵌入开发 2011-08-12 11:36 355人阅读 评论(2) 收藏 举报 /* 此文章解释权归windsome所有,如要转载无须联系本人。 转载需要包含此抬头信息,如有疑问,欢迎联系本人。 QQ: 35327864 msn: mail: */1,下载QT源码 (移植过程参考/latest/qt-embeddedlinux-directfb.html)2,修改mkspecs/qws/linux-mips-g+/下的qmake.conf# qmake configuration for building with mipsel-linux-g+#include(././common/g+.conf)include(././common/linux.conf)include(././common/qws.conf)# modifications to g+.confQMAKE_CC = mipsel-linux-gccQMAKE_CXX = mipsel-linux-g+QMAKE_CFLAGS += -g -EL -Wa,-mips32r2 -march=24kf -mtune=24kf -I/home/lancer/smp865x/sdk/cs_rootfs_1.2.12/cross_rootfs/includeQMAKE_CXXFLAGS += -g -fexceptions -EL -Wa,-mips32r2 -march=24kf -mtune=24kf -I/home/lancer/smp865x/sdk/cs_rootfs_1.2.12/cross_rootfs/includeQMAKE_LINK = mipsel-linux-g+ -L/home/lancer/smp865x/sdk/cs_rootfs_1.2.12/cross_rootfs/lib -L/home/lancer/smp865x/sdk/cs_rootfs_1.2.12/build_mipsel/root/usr/local/tangox/mrua/lib -Wl,-rpath-link -Wl,/home/lancer/smp865x/sdk/cs_rootfs_1.2.12/build_mipsel/root/usr/local/tangox/dcchd/libQMAKE_LINK_SHLIB = mipsel-linux-g+ -L/home/lancer/smp865x/sdk/cs_rootfs_1.2.12/cross_rootfs/lib -L/home/lancer/smp865x/sdk/cs_rootfs_1.2.12/build_mipsel/root/usr/local/tangox/mrua/lib -Wl,-rpath-link -Wl,/home/lancer/smp865x/sdk/cs_rootfs_1.2.12/build_mipsel/root/usr/local/tangox/dcchd/libQT_CFLAGS_DIRECTFB = -I/home/lancer/smp865x/sdk/dcchd_SMP865x_3_9_2_black.mips/directfb/include/directfb -D_REENTRANTQT_LIBS_DIRECTFB = -L/home/lancer/smp865x/sdk/dcchd_SMP865x_3_9_2_black.mips/directfb/lib -ldirectfb -lfusion -ldirect -lpthread# modifications to linux.confQMAKE_AR = mipsel-linux-ar cqsQMAKE_OBJCOPY = mipsel-linux-objcopyQMAKE_STRIP = mipsel-linux-stripload(qt_config)3,修改src/plugins/gfxdrivers/directfb/的内容 应该将将这部分的修改放到qmake.conf的QT_CFLAGS_DIRECTFB和QT_LIBS_DIRECTFB中,但我试过有点问题,这两个变量好像被修改成系统的/usr/lib/directfb了,所以我直接修改在里。 其中用到了一个libtangox.so,这是我对smp865x的sdk的抽象,包含directfb的初始化等。注意包含此库的路径。内容为:TARGET = qdirectfbscreeninclude(././qpluginbase.pri)include($QT_SOURCE_TREE/src/gui/embedded/directfb.pri)QTDIR_build:DESTDIR = $QT_BUILD_TREE/plugins/gfxdriverstarget.path = $QT_INSTALL_PLUGINS/gfxdriversINSTALLS += targetSOURCES += qdirectfbscreenplugin.cpp#QMAKE_CXXFLAGS += $QT_CFLAGS_DIRECTFB#LIBS += $QT_LIBS_DIRECTFBQMAKE_CXXFLAGS += -DLITTLE_ENDIAN=1 -DBYTE_ORDER=LITTLE_ENDIAN -DCROSS_COMPILING=1 -D_mips_ -D_REENTRANT -DEM86XX_CHIP=EM86XX_CHIPID_TANGO3 -DEM86XX_REVISION=3 -DXBOOT2_SMP865X=1 -DEM86XX_MODE=EM86XX_MODEID_STANDALONE -DWITH_XLOADED_UCODE=1 -DNO_DTSXLL_DECODE -DDTSHD_CAPABLE_IF_ANY -DDECODER_DOWNMIX -DNO_REENCODE -DNO_DTSHD_8CH_ABOVE=48000 -DNO_TrueHD_192K_ABOVE=6 -DNO_TrueHD_96K_ABOVE=8 -DNO_MC_DOWNSAMPLE_ABOVE=48000 -DNO_MIX_ABOVE=48000 -DNO_BM_ABOVE=48000 -DDMIX_IF_NO_BM -DSTC_OFFSET_MS=200 -DPRIORITY_BOOST=-5 -DALLOC_AND_RELEASE_IN_PLAY -DAUDIO_RECCCS_HACK -DPCMX_HACK_FILL_INCOMPLETE_CHUNKS -DCRT_SCALER=DispCRTMultiScaler -DGFX_SCALER=DispGFXMultiScaler -DHDMI_CHECK_PRIORITY_BOOST=-15 -DALLOW_NON_JFIF -DHACK_NO_DISPLAY_STOP_CONFIRMATION -DHACK_ENABLE_STEREO_SURROUND_SUPPORT -DHACK_NO_CSS_IF_CPM_IS_ZERO -DNO_BLUE_SUPPORT -DNO_AACSONLINE -DUSE_LIBSAMPLES_V2 -DWITH_RMHDMI=1 -DNO_CRT_SCALER -DMMAP_DRAM1_SIZE=0 -DMMAP_DRAM0_SIZE=98 -DMMAP_CPS_SIZE=0 -D_FILE_OFFSET_BITS=64 -DALLOW_OS_CODE -D_REENTRANT -DWITH_THREADS=1 -DRMPLATFORM=RMPLATFORMID_TANGO3 -D_GNU_SOURCE=1 -D_REENTRANT -DTIXML_USE_STL -rdynamic -ldl -EL -Wa,-mips32r2 -march=24kf -mtune=24kf -mhard-float -mglibc -mocteon-useun -falign-arrays -mfix-r4000 -fPIC -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses -fvisibility-inlines-hidden -fPIC -g -I/home/lancer/git/DigitalSignage/Sources -I/home/lancer/git/DigitalSignage/Sources/uci -I/home/lancer/git/DigitalSignage/Sources/fwupdate -I/home/lancer/git/DigitalSignage/Sources/tinyxml -I/home/lancer/git/DigitalSignage/Sources/xmlconfig -I/home/lancer/git/DigitalSignage/Sources/xmlmessage -I/home/lancer/git/DigitalSignage/Sources/libsocket -I/home/lancer/git/DigitalSignage/Sources/libutils -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/directfb/include/directfb -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/directfb/include/directfb-internal -I/opt/smp865x_sdk/mrua_SMP8654F_3_9_2_dev.mips/MRUA_src -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dcchd -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/core -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/brd -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/mono -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dvdvr -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/curacao -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dtv -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/config/single_bank -I/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/config/default -I/opt/smp865x_sdk/cs_rootfs_1.2.12/cross_rootfs/include -I/opt/smp865x_sdk/flashlite3_SMP8654_3_8_0-1.mips/includeLIBS += -rdynamic -ldl -EL -Wa,-mips32r2 -march=24kf -mtune=24kf -mhard-float -mglibc -mocteon-useun -falign-arrays -mfix-r4000 -fPIC -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses -fvisibility-inlines-hidden -L/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/directfb/lib -L/opt/smp865x_sdk/mrua_SMP8654F_3_9_2_dev.mips/MRUA_src/lib -L/opt/smp865x_sdk/cs_rootfs_1.2.12/cross_rootfs/lib -lfusion -ldirect -ldirectfb -lrmcw -lllad -lrua -ldcc -lrmcpputils -lrmcore -lrmvdemux -lrmmpegsystemindex -lrmmpegsystemindexcreator -lrmwmaprodecodercore -lrmwmaprodecoder -lrmrtk86 -lrmscc -lrmdrm -lrmwmdrmndstub -lrmwmdrmstub -lrmhttp -lrmavicore -lrmriff -lrmzlib -lrmmpeg4framework -lrmmp4core -lrmdescriptordecoder -lrmmp4 -lrmmp4api -lrmasfdemuxcore -lrmasfdemux -lrmdetector3 -lrmdetector3api -lrmsubidx -lrmtextsubs -lrmdvbsubs -lrmfontrender -lrmsofttxt -lrmstreamingprotocols -lrmmkvdemux -lrmdtcpapi -lrmlibplay -lrmmm -lrmfp -lrmpthreadw -lrmdetector -lrmdetectorapi -lndsp -lrmcdfs_t -lrmdisplay -lrmvideoout -laudiooutports -ldisplayoutports -lrmi2c -lrmedid -lruai2c -lrmcec -lrmsha1 -lrmhdmi -lruahdmi -lrmhsi -lruahsi -lsamples_t -lrmoutput -lruaoutput -lruaoutputdebugger -lpng -ljpeg -lungif -lm -lz /opt/smp865x_sdk/flashlite3_SMP8654_3_8_0-1.mips/lib/libAELoader.a /opt/smp865x_sdk/flashlite3_SMP8654_3_8_0-1.mips/lib/libAEModule.a -lfusion -ldirect -ldirectfb -lrmcw -lllad -lrua -ldcc -lrmcpputils -lrmcore -lrmvdemux -lrmmpegsystemindex -lrmmpegsystemindexcreator -lrmwmaprodecodercore -lrmwmaprodecoder -lrmrtk86 -lrmscc -lrmdrm -lrmwmdrmndstub -lrmwmdrmstub -lrmhttp -lrmavicore -lrmriff -lrmzlib -lrmmpeg4framework -lrmmp4core -lrmdescriptordecoder -lrmmp4 -lrmmp4api -lrmasfdemuxcore -lrmasfdemux -lrmdetector3 -lrmdetector3api -lrmsubidx -lrmtextsubs -lrmdvbsubs -lrmfontrender -lrmsofttxt -lrmstreamingprotocols -lrmmkvdemux -lrmdtcpapi -lrmlibplay -lrmmm -lrmfp -lrmpthreadw -lrmdetector -lrmdetectorapi -lndsp -lrmcdfs_t -lrmdisplay -lrmvideoout -laudiooutports -ldisplayoutports -lrmi2c -lrmedid -lruai2c -lrmcec -lrmsha1 -lrmhdmi -lruahdmi -lrmhsi -lruahsi -lsamples_t -lrmoutput -lruaoutput -lruaoutputdebugger -lpng -ljpeg -lungif -lm -lz /opt/smp865x_sdk/flashlite3_SMP8654_3_8_0-1.mips/lib/libAELoader.a /opt/smp865x_sdk/flashlite3_SMP8654_3_8_0-1.mips/lib/libAEModule.a -Wl,-rpath,/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/core:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/mono:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dvdvr:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/brd:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/curacao:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/curacao/lib:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dtv:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dtv/acap:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dtv/tuner:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dtv/capture:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dtv/network:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/dcchd/dcchd:/opt/smp865x_sdk/dcchd_SMP865x_3_9_2_black.mips/directfb/lib:/opt/smp865x_sdk/mrua_SMP8654F_3_9_2_dev.mips/MRUA_src/lib:/opt/smp865x_sdk/cs_rootfs_1.2.12/cross_rootfs/lib QMAKE_CXXFLAGS += -I/home/lancer/git/DigitalSignage/Projects/WindTwo/tangoxLIBS += -L/home/lancer/git/DigitalSignage/build/SMP865X.WindTwo.3.9.2/lib -ltangoxDEFINES += $QT_DEFINES_DIRECTFBcontains(gfx-plugins, directfb):DEFINES += QT_QWS_DIRECTFB4,修改src/gui/embedded/directfb.pri文件 根据不同的平台,对directfb的支持做修改,在smp865x的3.9.2版本中取消如下之前的#DEFINES += QT_NO_DIRECTFB_WMDEFINES += QT_NO_DIRECTFB_MOUSEDEFINES += QT_NO_DIRECTFB_KEYBOARD5,配置qt并编译./configure -opensource -confirm-license -embedded mips -xplatform qws/linux-mips-g+ -debug -webkit-debug -nomake examples -nomake tools -nomake docs -no-qt3support -multimedia -gstreamer -no-phonon-backend -plugin-gfx-directfb新的:./configure -opensource -confirm-license -embedded mips -xplatform qws/linux-mips-g+ -debug -nomake examples -nomake tools -nomake docs -no-qt3support -plugin-gfx-directfb然后makemake install 到/usr/local/Trolltech/QtEmbedded-4.7.3-mips/中6,开发板上运行 首先配置好环境变量LD_LIBRARY_PATH,注意包含sdk路径,libtangox.so路径,qt库路径。 然后到QtEmbedded-4.7.3-mips/demos下去运行 ./affine -qws -display directfb 到这一步后,界面上能显示出东西。但鼠标键盘不能操作,并且CPU占用率很高,还有显示的东西有点问题,跟PC上不一样

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论