手动部署QtSylixOS的方法

来源:互联网 发布:软件管家360官方下载 编辑:程序博客网 时间:2024/06/01 10:17

1. 适用范围

        本文档介绍了QtSylixOS相关库文件和应用程序手动部署的方法。

        实际开发过程中,有些板卡无网络功能,此时需要手动对QtSylixOS的库文件和应用程序进行部署。

        本文介绍的是通过U盘或SD卡将QtSylixOS部署到以Nand Flash为根文件系统的设备中。


2. QtSylixOS需要部署的文件

        QtSylixOS部署的文件都位于Qt安装路径的"Qt\qtcreator-3.4.0\SylixOS\sdk"中,如图 2.1所示。

2.1 QtSylixOS安装目录下的sdk文件夹

        以armv7架构的处理器为例,其使用的sdk版本为armv7-sylixos-qt-4.8.7。如图 2.2所示,在"Qt\qtcreator-3.4.0\SylixOS\sdk\fs"目录下有需要部署的文件。

2.2需要部署的fs目录

        fs目录对应目标板卡上的"/"目录,所以fs目录下的apps,etc,qt分别与目标板卡上的"/apps","/etc","/qt"目录对应。

 

3. 部署步骤

3.1 拷贝fs目录

        首先将U盘或SD卡接入PC,拷贝fs目录至U盘或SD中。


3.2 拷贝Base库

        应用程序运行时会依赖Base工程中如表 3.1所示的文件。

3.1 Base工程需要拷贝的库文件

名称路径libcextern.soBase/libcextern/Release/strip/libcextern.soenvBase/libsylixos/Release/strip/envlibvpmpdm.soBase/libsylixos/Release/strip/libvpmpdm.soxinput.koBase/libsylixos/Release/strip/xinput.koxsiipc.koBase/libsylixos/Release/strip/xsiipc.ko


      在fs同目录下建立base文件夹,将以上文件拷贝至base文件夹中。

        以上两步结束后,U盘或SD卡目录下应该有如图 3.1所示的两个文件夹。

3.1拷贝结束后的目录

3.3 创建自动拷贝脚本

       在fs目录同一层级中,创建copy.sh脚本文件,并在copy.sh中键入如程序清单 4.1所示的内容。


3.4 目标板卡挂载U盘或SD卡

       将U盘或SD卡接入目标板卡,SylixOS会自动做挂载。


3.5 执行拷贝脚本

       进入挂载后的U盘或SD卡目录,一般为/media/sdcardX(X为0…n)或/media/udiskX(X为0…n),使用shfile copy.sh命令执行拷贝脚本。

 

4. 拷贝脚本内容

程序清单 4.1拷贝脚本

mkdir /appsmkdir /apps/mousecalibrationcp –rf fs/apps/mousecalibration/mousecalibration /apps/mousecalibration/.mkdir /etccp –rf fs/etc/fs_init.sh /etc/fs_init.shcp –rf fs/etc/fs_no_symlink_init.sh /etc/fs_no_symlink_init.shcp –rf fs/etc/pointercal /etc/pointercalcp –rf fs/etc/qtcp_4.8.7.sh /etc/qtcp_4.8.7.shcp –rf fs/etc/qtenv.sh /etc/qtenv.shcp –rf fs/etc/qtln_4.8.7.sh /etc/qtln_4.8.7.shcp –rf fs/etc/startup.sh /etc/startup.shmkdir /qtmkdir /qt/libmkdir /qt/lib/fontscp –rf fs/qt/lib/fonts/DejaVuSans.ttf /qt/lib/fonts/DejaVuSans.ttfcp –rf fs/qt/lib/libQt3Support.so.4.8.7 /qt/lib/libQt3Support.so.4.8.7cp –rf fs/qt/lib/libQtCLucene.so.4.8.7 /qt/lib/libQtCLucene.so.4.8.7cp –rf fs/qt/lib/libQtCore.so.4.8.7 /qt/lib/libQtCore.so.4.8.7cp –rf fs/qt/lib/libQtDeclarative.so.4.8.7 /qt/lib/libQtDeclarative.so.4.8.7cp –rf fs/qt/lib/libQtDesigner.so.4.8.7 /qt/lib/libQtDesigner.so.4.8.7cp –rf fs/qt/lib/libQtDesignerComponents.so.4.8.7 /qt/lib/.cp –rf fs/qt/lib/libQtGui.so.4.8.7 /qt/lib/libQtGui.so.4.8.7cp –rf fs/qt/lib/libQtHelp.so.4.8.7 /qt/lib/libQtHelp.so.4.8.7cp –rf fs/qt/lib/libQtMultimedia.so.4.8.7 /qt/lib/libQtMultimedia.so.4.8.7cp –rf fs/qt/lib/libQtNetwork.so.4.8.7 /qt/lib/libQtNetwork.so.4.8.7cp –rf fs/qt/lib/libQtScript.so.4.8.7 /qt/lib/libQtScript.so.4.8.7cp –rf fs/qt/lib/libQtScriptTools.so.4.8.7 /qt/lib/libQtScriptTools.so.4.8.7cp –rf fs/qt/lib/libQtSerialPort.so.1.0.0 /qt/lib/libQtSerialPort.so.1.0.0cp –rf fs/qt/lib/libQtSql.so.4.8.7 /qt/lib/libQtSql.so.4.8.7cp –rf fs/qt/lib/libQtSvg.so.4.8.7 /qt/lib/libQtSvg.so.4.8.7cp –rf fs/qt/lib/libQtTest.so.4.8.7 /qt/lib/libQtTest.so.4.8.7cp –rf fs/qt/lib/libQtWebKit.so.4.9.4 /qt/lib/libQtWebKit.so.4.9.4cp –rf fs/qt/lib/libQtXml.so.4.8.7 /qt/lib/libQtXml.so.4.8.7cp –rf fs/qt/lib/libQtXmlPatterns.so.4.8.7 /qt/lib/libQtXmlPatterns.so.4.8.7cp –rf fs/qt/lib/libqwt.so.6.1.2 /qt/lib/libqwt.so.6.1.2cp –rf base/libvpmpdm.so /lib/libvpmpdm.somkdir /lib/modules/mkdir /usr/bincp –rf base/xinput.ko /lib/modules/xinput.kocp –rf base/xsiipc.ko /lib/modules/xsiipc.kocp –rf base/env /usr/bin/envcp –rf base/libcextern.so /lib/libcextern.somkdir /qt/plugins/mkdir /qt/plugins/accessiblecp –rf fs/qt/plugins/accessible/libqtaccessiblecompatwidgets.so /qt/plugins/accessible/.cp –rf fs/qt/plugins/accessible/libqtaccessiblewidgets.so /qt/plugins/accessible/.mkdir /qt/plugins/bearercp –rf fs/qt/plugins/accessible/libqgenericbearer.so /qt/plugins/bearer/.mkdir /qt/plugins/designercp –rf fs/qt/plugins/accessible/libcontainerextension.so /qt/plugins/designer/.cp –rf fs/qt/plugins/accessible/libcustomwidgetplugin.so /qt/plugins/designer/.cp –rf fs/qt/plugins/accessible/libqdeclarativeview.so /qt/plugins/designer/.cp –rf fs/qt/plugins/accessible/libqt3supportwidgets.so /qt/plugins/designer/.cp –rf fs/qt/plugins/accessible/libqwebview.so /qt/plugins/designer/.cp –rf fs/qt/plugins/accessible/libtaskmenuextension.so /qt/plugins/designer/.cp –rf fs/qt/plugins/accessible/libworldtimeclockplugin.so /qt/plugins/designer/.mkdir /qt/plugins/iconenginescp –rf fs/qt/plugins/iconengines/libqsvgicon.so /qt/plugins/iconengines/.mkdir /qt/plugins/imageformatscp –rf fs/qt/plugins/imageformats/libqgif.so /qt/plugins/libqgif/.cp –rf fs/qt/plugins/imageformats/libqico.so /qt/plugins/libqico/.cp –rf fs/qt/plugins/imageformats/libqjpeg.so /qt/plugins/libqjpeg/.cp –rf fs/qt/plugins/imageformats/libqmng.so /qt/plugins/libqmng/.cp –rf fs/qt/plugins/imageformats/libqsvg.so /qt/plugins/libqsvg/.cp –rf fs/qt/plugins/imageformats/libqtga.so /qt/plugins/libqtga/.cp –rf fs/qt/plugins/imageformats/libqtiff.so /qt/plugins/libqtiff/.mkdir /qt/plugins/qmltoolingcp –rf fs/qt/plugins/qmltooling/libqmldbg_inspector.so /qt/plugins/qmltooling/.cp –rf fs/qt/plugins/qmltooling/libqmldbg_tcp.so /qt/plugins/qmltooling/.mkdir /qt/qml/mkdir /qt/qml/Qt/mkdir /qt/qml/Qt/labs/mkdir /qt/qml/Qt/labs/folderlistmodelcp –rf fs/qt/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so /qt/qml/Qt/labs/folderlistmodel/.cp –rf fs/qt/qml/Qt/labs/folderlistmodel/qmldir /qt/qml/Qt/labs/folderlistmodel/.mkdir /qt/qml/Qt/labs/gesturescp –rf fs/qt/qml/Qt/labs/gestures/libqmlgesturesplugin.so /qt/qml/Qt/labs/gestures/.cp –rf fs/qt/qml/Qt/labs/gestures/qmldir /qt/qml/Qt/labs/gestures/.mkdir /qt/qml/Qt/labs/particlescp –rf fs/qt/qml/Qt/labs/particles/libqmlparticlesplugin.so /qt/qml/Qt/labs/particles/.cp –rf fs/qt/qml/Qt/labs/particles/qmldir /qt/qml/Qt/labs/particles/.mkdir /qt/qml/QtWebKit/cp –rf fs/qt/qml/QtWebKit/libqmlwebkitplugin.so /qt/qml/QtWebKit/.cp –rf fs/qt/qml/QtWebKit/qmldir /qt/qml/QtWebKit/.