文档章节

手动部署QtSylixOS的方法

z
 zhywxyy
发布于 2017/09/12 10:21
字数 1292
阅读 2
收藏 0

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.so Base/libcextern/Release/strip/libcextern.so
env Base/libsylixos/Release/strip/env
libvpmpdm.so Base/libsylixos/Release/strip/libvpmpdm.so
xinput.ko Base/libsylixos/Release/strip/xinput.ko
xsiipc.ko Base/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 /apps
mkdir /apps/mousecalibration
cp –rf fs/apps/mousecalibration/mousecalibration /apps/mousecalibration/.
mkdir /etc
cp –rf fs/etc/fs_init.sh /etc/fs_init.sh
cp –rf fs/etc/fs_no_symlink_init.sh /etc/fs_no_symlink_init.sh
cp –rf fs/etc/pointercal /etc/pointercal
cp –rf fs/etc/qtcp_4.8.7.sh /etc/qtcp_4.8.7.sh
cp –rf fs/etc/qtenv.sh /etc/qtenv.sh
cp –rf fs/etc/qtln_4.8.7.sh /etc/qtln_4.8.7.sh
cp –rf fs/etc/startup.sh /etc/startup.sh
mkdir /qt
mkdir /qt/lib
mkdir /qt/lib/fonts
cp –rf fs/qt/lib/fonts/DejaVuSans.ttf /qt/lib/fonts/DejaVuSans.ttf
cp –rf fs/qt/lib/libQt3Support.so.4.8.7 /qt/lib/libQt3Support.so.4.8.7
cp –rf fs/qt/lib/libQtCLucene.so.4.8.7 /qt/lib/libQtCLucene.so.4.8.7
cp –rf fs/qt/lib/libQtCore.so.4.8.7 /qt/lib/libQtCore.so.4.8.7
cp –rf fs/qt/lib/libQtDeclarative.so.4.8.7 /qt/lib/libQtDeclarative.so.4.8.7
cp –rf fs/qt/lib/libQtDesigner.so.4.8.7 /qt/lib/libQtDesigner.so.4.8.7
cp –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.7
cp –rf fs/qt/lib/libQtHelp.so.4.8.7 /qt/lib/libQtHelp.so.4.8.7
cp –rf fs/qt/lib/libQtMultimedia.so.4.8.7 /qt/lib/libQtMultimedia.so.4.8.7
cp –rf fs/qt/lib/libQtNetwork.so.4.8.7 /qt/lib/libQtNetwork.so.4.8.7
cp –rf fs/qt/lib/libQtScript.so.4.8.7 /qt/lib/libQtScript.so.4.8.7
cp –rf fs/qt/lib/libQtScriptTools.so.4.8.7 /qt/lib/libQtScriptTools.so.4.8.7
cp –rf fs/qt/lib/libQtSerialPort.so.1.0.0 /qt/lib/libQtSerialPort.so.1.0.0
cp –rf fs/qt/lib/libQtSql.so.4.8.7 /qt/lib/libQtSql.so.4.8.7
cp –rf fs/qt/lib/libQtSvg.so.4.8.7 /qt/lib/libQtSvg.so.4.8.7
cp –rf fs/qt/lib/libQtTest.so.4.8.7 /qt/lib/libQtTest.so.4.8.7
cp –rf fs/qt/lib/libQtWebKit.so.4.9.4 /qt/lib/libQtWebKit.so.4.9.4
cp –rf fs/qt/lib/libQtXml.so.4.8.7 /qt/lib/libQtXml.so.4.8.7
cp –rf fs/qt/lib/libQtXmlPatterns.so.4.8.7 /qt/lib/libQtXmlPatterns.so.4.8.7
cp –rf fs/qt/lib/libqwt.so.6.1.2 /qt/lib/libqwt.so.6.1.2
cp –rf base/libvpmpdm.so /lib/libvpmpdm.so
mkdir /lib/modules/
mkdir /usr/bin
cp –rf base/xinput.ko /lib/modules/xinput.ko
cp –rf base/xsiipc.ko /lib/modules/xsiipc.ko
cp –rf base/env /usr/bin/env
cp –rf base/libcextern.so /lib/libcextern.so
mkdir /qt/plugins/
mkdir /qt/plugins/accessible
cp –rf fs/qt/plugins/accessible/libqtaccessiblecompatwidgets.so /qt/plugins/accessible/.
cp –rf fs/qt/plugins/accessible/libqtaccessiblewidgets.so /qt/plugins/accessible/.
mkdir /qt/plugins/bearer
cp –rf fs/qt/plugins/accessible/libqgenericbearer.so /qt/plugins/bearer/.
mkdir /qt/plugins/designer
cp –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/iconengines
cp –rf fs/qt/plugins/iconengines/libqsvgicon.so /qt/plugins/iconengines/.
mkdir /qt/plugins/imageformats
cp –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/qmltooling
cp –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/folderlistmodel
cp –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/gestures
cp –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/particles
cp –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/.

 

© 著作权归作者所有

共有 人打赏支持
z
粉丝 1
博文 18
码字总数 25163
作品 0
南京
私信 提问
手动部署QtSylixOS的方法

1. 适用范围 本文档介绍了QtSylixOS相关库文件和应用程序手动部署的方法。 实际开发过程中,有些板卡无网络功能,此时需要手动对QtSylixOS的库文件和应用程序进行部署。 本文介绍的是通过U盘...

zhywxyy
2017/09/12
0
0
ubuntu下部署shadowsocks+privoxy(亲测有效)

1. 部署shadowsocks a. 更新软件列表 b. 安装python-pip c. 安装shadowsocks d. 配置shadowsocks e. 启动shadowsocks 2. 部署privoxy a. 安装privoxy b. 配置privoxy 找到4.1节 ,看是否存在...

通若
07/05
0
0
实现Java热部署的几种解决方案

百度百科:热部署,就是应用正在运行的时候就可以升级软件,而不需要重新启动应用。 spring-loaded 依赖 ps:据说此方法还需要手动编译(),请亲测! spring-boot-devtools 依赖 JRebel 安装...

mario阿东
03/25
0
0
项目中js文件修改后浏览器不能及时更新的解决办法

现在就分别把IE,firefox,chrome中解决办法贴出来供大家参考: 1.firefox(火狐浏览器)解决问题 第一步,在浏览器中敲入:about:config ,然后回车 第二步,在显示出的内容中找到下面的列表...

码上中国博客
2015/05/06
0
12
rsync服务的使用

这次我把rsync服务使用在了web前端网站的提测、测试和更新方面。先介绍流程和配置。 1. 前提 网站上线流程太过原始:前端研发提测,邮件将提测文件打包给测试--->测试手动上传文件到测试环境...

pesen
2013/03/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Rotate Array(leetCode189)

Given an array, rotate the array to the right by k steps, where k is non-negative. Example 1: Input: [1,2,3,4,5,6,7] and k = 3Output: [5,6,7,1,2,3,4]Explanation:rotate 1 s......

woshixin
14分钟前
0
0
给女朋友讲解什么是Optional【JDK 8特性】

前言 只有光头才能变强 前两天带女朋友去图书馆了,随手就给她来了一本《与孩子一起学编程》的书,于是今天就给女朋友讲解一下什么是Optional类。 至于她能不能看懂,那肯定是看不懂的。(学到...

Java3y
34分钟前
1
0
2019年六大新兴信息安全方向

导读 黑客攻击和网络犯罪的威胁正在不断升级,相应的技术“军备竞赛”正愈演愈烈,对于信息安全从业人员来说,掌握最新的信息安全工具,是在信息安全战争中生存下来的关键所在。 从特朗普的手...

问题终结者
40分钟前
1
0
redis扩展-自定义PropertyPlaceholderConfigurer,在spring属性注入之前,手动将properteis合并到spring容器中

背景:spring容器启动过程中,通过PropertyPlaceholderConfigurer读取properties配置文件,并将properties配置文件中的值注入spring bean的属性中, PropertyPlaceholderConfigurer使用方式多...

燃犀
42分钟前
0
0
PostgreSQL SPI 中的错误处理

PostgreSQL SPI 用于在 C 或是其他编程语言编写的扩展函数(存储过程)中调用数据库本身的解析器、规划器和执行器的功能,以及对 SQL 语句进行执行。 在最重要的一个函数 SPI_execute 的文档...

helloclia
43分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部