飛凌TE6410開發Qt/E 4.4.3介面程式步驟
1、用
/joe/4.4.3/builddir/sdk/qtopiacore/target/bin/qmake
工具編譯編寫的程式,生成Makefile檔案
2、修改Makefile檔案,
CFLASS = -fno-rtti
CXXFLAGS = -fno-rtti
/usr/local/arm/4.4.1/bin/
3.設定交叉編譯工具export PATH=/usr/local/arm/4.4.1/bin/:$PATH
3、make生成可執行檔案
4、建立開發板環境變數檔案env.sh,內容如下:
5、將可執行檔案和sh檔案放入/joe/root/FileSystem-Yaffs2/opt目錄下面
6、source /opt/env.sh
7、./helloworld -qws &
注意:/etc/init.d/rcS中的最後一行的說明:1)/bin/qopia & 表示qtopia2.2.0
2)/bin/qtopia4 & 表示qtopia4.4.3
3)/bin/qt4 & 表示qt/e4.7
注意:
1、我們在實際除錯的時候,都是通過nfs掛載的形式。當我們執行ts_calibrate的時候,會在/etc目錄下生成一個pointercal檔案。有時候會因為掛載目錄的許可權不夠,導致無法生成Pointercal檔案。這個時候我們可以用chmod 777 etc加個許可權。
2、有時候由於交叉編譯工具兩沒有指定正確,會出現非法指令或者是“ line 1: syntax error: unexpected "("”錯誤。可以用file ts_calibrate是否是在當前平臺上執行的程式,用readelf -a ts_calibrate檢視當前的指令集.
3. export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0",這句話我們在後面的Qt程式國際化的得到,在移植的所有工作都完成以後,我發現LCD屏山的字型非常小。後來經過多發打聽,才知道需要修改這句話。我們把其中的數字值都改為其一半的時候,屏上的字型就比較大了。具體原因有待研究。
PS:這個程式碼是裁剪核心和多媒體驅動的時候出現的錯誤,只要arch/arm/mach_s3c64XX/mach_smdk6410.c的相關宣告去掉就行了。
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x274): undefined reference to `s3c_device_vpp'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x278): undefined reference to `s3c_device_mfc'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x27c): undefined reference to `s3c_device_tvenc'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x280): undefined reference to `s3c_device_tvscaler'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x284): undefined reference to `s3c_device_rotator'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x288): undefined reference to `s3c_device_jpeg'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x28c): undefined reference to `s3c_device_g2d'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x290): undefined reference to `s3c_device_g3d'
/joe/4.4.3/builddir/sdk/qtopiacore/target/bin/qmake
工具編譯編寫的程式,生成Makefile檔案
2、修改Makefile檔案,
CFLASS = -fno-rtti
CXXFLAGS = -fno-rtti
/usr/local/arm/4.4.1/bin/
3.設定交叉編譯工具export PATH=/usr/local/arm/4.4.1/bin/:$PATH
3、make生成可執行檔案
4、建立開發板環境變數檔案env.sh,內容如下:
Qt 4.4.3的環境變數:
export PATH='/opt/Qtopia4.4.3/bin:/sbin:/usr/sbin:/bin:/usr/bin'
export QPEDIR='/opt/Qtopia4.4.3'
export QTDIR='/opt/Qtopia4.4.3'
export QT_QWS_FONTDIR='/opt/Qtopia4.4.3/lib/fonts/'//字型庫目錄
export QWS_DISPLAY='LinuxFb:mmWidth76:mmHeight44:1'//字型相關的設定
export QWS_MOUSE_PROTO='Tslib:/dev/input/event1'
export TSLIB_CALIBFILE='/etc/pointercal' //校準的資料檔案,由ts_calibrate校準程式生成
export TSLIB_CONFFILE='/usr/local/tslib/etc/ts.conf' //配置檔名
export TSLIB_CONSOLEDEVICE='none' //控制檯裝置檔名
export TSLIB_FBDEVICE='/dev/fb0' //裝置名
export TSLIB_PLUGINDIR='/usr/local/tslib/lib/ts' //外掛目錄
export TSLIB_ROOT='/usr/local/tslib'
export TSLIB_TSDEVICE='/dev/input/event1' //觸控式螢幕裝置檔名
export TSLIB_TSEVENTTYPE='H3600'
export QT_PLUGIN_PATH='/opt/Qtopia4.4.3/plugins:/opt/Qtopia4.4.3/qt_plugins/'
export LD_LIBRARY_PATH='/opt/Qtopia4.4.3/lib'
Qt 4.7.1的環境變數設定:
#export PATH='/opt/Qtopia4.4.3/bin:/sbin:/usr/sbin:/bin:/usr/bin'
#export QPEDIR='/opt/Qtopia4.4.3'
#export QTDIR='/opt/Qtopia4.4.3'
export QT_QWS_FONTDIR='/opt/Qtopia4.4.3/lib/fonts/'
export QWS_DISPLAY='LinuxFb:mmWidth160:mmHeight120:1'
export QWS_SIZE='800x480'//7寸螢幕解析度
export QWS_MOUSE_PROTO='Tslib:/dev/input/event2'
export TSLIB_CALIBFILE='/etc/pointercal'
export TSLIB_CONFFILE='/usr/local/tslib/etc/ts.conf'
export TSLIB_CONSOLEDEVICE='none'
export TSLIB_FBDEVICE='/dev/fb0'
export TSLIB_PLUGINDIR='/usr/local/tslib/lib/ts'
export TSLIB_ROOT='/usr/local/tslib'
export TSLIB_TSDEVICE='/dev/input/event2'
export TSLIB_TSEVENTTYPE='H3600'
export QT_PLUGIN_PATH='/opt/qt-4.7.1/plugins:/opt/qt-4.7.1/plugins'
export LD_LIBRARY_PATH='/opt/qt-4.7.1/lib'
5、將可執行檔案和sh檔案放入/joe/root/FileSystem-Yaffs2/opt目錄下面
6、source /opt/env.sh
7、./helloworld -qws &
注意:/etc/init.d/rcS中的最後一行的說明:1)/bin/qopia & 表示qtopia2.2.0
2)/bin/qtopia4 & 表示qtopia4.4.3
3)/bin/qt4 & 表示qt/e4.7
注意:
1、我們在實際除錯的時候,都是通過nfs掛載的形式。當我們執行ts_calibrate的時候,會在/etc目錄下生成一個pointercal檔案。有時候會因為掛載目錄的許可權不夠,導致無法生成Pointercal檔案。這個時候我們可以用chmod 777 etc加個許可權。
2、有時候由於交叉編譯工具兩沒有指定正確,會出現非法指令或者是“ line 1: syntax error: unexpected "("”錯誤。可以用file ts_calibrate是否是在當前平臺上執行的程式,用readelf -a ts_calibrate檢視當前的指令集.
3. export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0",這句話我們在後面的Qt程式國際化的得到,在移植的所有工作都完成以後,我發現LCD屏山的字型非常小。後來經過多發打聽,才知道需要修改這句話。我們把其中的數字值都改為其一半的時候,屏上的字型就比較大了。具體原因有待研究。
PS:這個程式碼是裁剪核心和多媒體驅動的時候出現的錯誤,只要arch/arm/mach_s3c64XX/mach_smdk6410.c的相關宣告去掉就行了。
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x274): undefined reference to `s3c_device_vpp'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x278): undefined reference to `s3c_device_mfc'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x27c): undefined reference to `s3c_device_tvenc'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x280): undefined reference to `s3c_device_tvscaler'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x284): undefined reference to `s3c_device_rotator'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x288): undefined reference to `s3c_device_jpeg'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x28c): undefined reference to `s3c_device_g2d'
arch/arm/mach-s3c64xx/built-in.o:(.init.data+0x290): undefined reference to `s3c_device_g3d'
相關文章
- 驅動程式開發步驟
- spring 程式開發步驟Spring
- 盲盒小程式開發步驟
- 多程式介面開發-Qt試玩兒QT
- 飛凌嵌入式OK335xD Linux下Qt程式開機啟動 及 sh開機啟動LinuxQT
- 專案管理之我見:程式開發步驟專案管理
- 飛凌RK3399開發板效能試用體驗三(使用QT編寫組態控制元件)QT控制元件
- Hibernate開發基本步驟
- app開發的幾個步驟APP
- 開發和部署SOE的步驟
- 商品API介面測試步驟API
- 飛凌OK6410裸機開發中JLINK連線問題
- JS開發步驟學習筆記JS筆記
- 原生(iOS)與Flutter混合開發步驟iOSFlutter
- 百度地圖開發步驟地圖
- 需求開發過程步驟簡述
- 開發和測試需要哪些步驟?
- opengl fbo 紋理 開發步驟
- 多功能微信小程式開發教程,線上製作步驟分享!微信小程式
- 微信小程式從零開始開發步驟(三)底部導航欄微信小程式
- java開發中JDBC連線資料庫程式碼和步驟JavaJDBC資料庫
- 手機app開發的基本流程步驟APP
- 安卓開發中RecycleView簡單使用步驟安卓View
- 基於以太坊的Token開發步驟
- Android遊戲開發設計步驟Android遊戲開發
- Moneybookers API支付方式開發 步驟API
- WCF開發入門的六個步驟
- linux下JNI開發步驟詳解Linux
- 微信小程式如何開店?有哪些步驟?微信小程式
- 飛凌工程師分享全志A40i系列開發板常用小知識工程師
- C++ Qt開發:QNetworkInterface網路介面元件C++QT元件
- C++ Qt開發:QNetworkAccessManager網路介面元件C++QTSSM元件
- 跨平臺介面開發除了QT還有啥QT
- 例項QT程式 —— Qt單例不規則介面程式QT單例
- 【Qt開發】01-第一個Qt程式Hello World!QT
- 完整java開發中JDBC連線資料庫程式碼和步驟JavaJDBC資料庫
- QT開發QT
- 【經驗】學習android開發的步驟Android