嵌入式系统与Qt程序开发Qt_2.1.4
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 你好,Qt!代码版
2.1.4 x86 Linux编译、调试与发布
• 代码最终是针对嵌入式Linux进行开发的, 但嵌入式系统的资源是有限的,往往不能 实现本地编译
• 由于在桌面级的Linux中可以实现本地调试 ,验证代码的功能,因此往往需要先进行 x86 Linux编译、调试与运行,当验证无误 后,再进行嵌入式Linux编译、运行与调试
2.1.5 Embedded Linux编译、发布与运行
• 运行 • 在嵌入式Linux中运行程序首先需要设置一下程序运行的环境。在嵌入式系统
搭建时,已经将环境设置的脚本存放在/bin目录下,因此只需要在超级终端 中输入: • . setqt4env • 即可完成环境的设置,如图所示 • 需要注意的是:点和脚本间有个空格,说明脚本中导出的环境变量将应用到 当前的shell会话中
• 使用ZModem文件传输协议发布程序 • 使用ZModem文件传输协议将嵌入式系统看作是Linux服务器,从本
地上传文件到Linux服务器使用rz命令 • 功能:从本地上传文件到Linux服务器。 • 参数与格式: • rz • 在超级终端中输入命令: • rz • 即可进入等待接收状态,如图所示
• 运行 • 在这里,可以看到有一个重要的参数:-qws • Qt编程和文档中的术语QWS的全称是Qt Windows System,
是Qt自行开发的窗口系统,体系结构类似X Windows,是一个 C/S结构,由QWS Server在物理设备上显示,由QWS Client 实现界面,两者通过socket进行彼此的通讯。在很多嵌入式系 统里,Qt程序基本上都是用QWS来实现,这样保证程序的可 移植性 • 另外在运行Qt程序时添加-qws参数,表示这个程序是QWS Server,否则是QWS Client • 任何一个基于Qt的application都可以做QWS Server • QWS Server一定先于QWS Client启动,否则QWS Client将 启动失败 • 在实际应用中,会指定某个特殊的程序做QWS Server,这个 程序一般还会管理一些其它的系统资源
2.1.5 Embedded Linux编译、发布与运行
• 运行 • 进入HelloQt所在文件夹,在超级终端中输入: • ./HelloQt -qws • 或者不进入HelloQt所在文件夹,直接在超级终端中输入完整路径: • ./usr/HelloQt -qws • 即可运行程序,如图所示
2.1.5 Embedded Linux编译、发布与运行
2.1.5 Embedded Linux编译、发布与运行
• 使用ZModem文件传输协议发布程序 • 在超级终端中输入命令: • cd /usr • 进入/usr目录 • 在超级终端中输入命令: • ls • 进行查看,此时/usr文件夹中的文件如图所示
2.1.5 Embedded Linux编译、发布与运行
• 编译 • 在进行Embedded Linux编译之前需要将
代码的第14行的“//”去掉,此时第14行 代码有效,代表是针对Embedded Linux 编译 • #define EmbeddHale Waihona Puke Baidud_Linux • 参照x86 Linux编译将工程的目标设置为Qt Embedded Linux发布版本后重新编译, 此时可以在编译文件夹中出现可执行文件
果出现其它错误需要认真排查,直至无误
2.1.4 x86 Linux编译、调试与发布
• 调试 • 编译完成后可以在需要观察的位置设置上断点,如图所示
2.1.4 x86 Linux编译、调试与发布
• 调试 • 当断点设置完之后可以开始程序调试 • 当程序执行到断点所在行时,代表上一行代码已经执行完成,本行代
进行编译(构建),如图所示 • 第二种是使用左下角的构建图标进行编译,如图所示
2.1.4 x86 Linux编译、调试与发布
• 编译 • 编译工程 • 由于虚拟机和宿主机的时钟会出现不同步的情况,在编译时,如果虚
拟机的时钟比宿主机慢,会造成出现如图所示的忽略错误的提示 • 其原因如图所示 • 这个警告不是致命的错误,因此可以在两个选项中任意选择。但是如
,并且不作任何优化,便于程序员调试程序 • 发布模式又称为发布版本、Release版本,它往往是进行
了各种优化,使得程序在代码大小和运行速度上都是最优 的,以便用户很好地使用 • 因为需要进行调试,所以在图中选择了:Qt x86 Linux 调试
2.1.4 x86 Linux编译、调试与发布
• 编译 • 编译工程 • 编译工程有两种模式,第一种是使用“构建(B)”菜单
2.1.4 x86 Linux编译、调试与发布
• 编译 • 设置工程的目标 • 在进行x86 Linux编译之前,需要设置工程的目标,如图所示
2.1.4 x86 Linux编译、调试与发布
• 编译 • 设置工程的目标 • 针对x86 Linux的编译有两种模式:调试与发布。其差别
在于: • 调试模式又称为调试版本、Debug版本,它包含调试信息
2.1.5 Embedded Linux编译、发布与运行
• 使用ZModem文件传输协议发布程序 • 在超级终端中的“传送”菜单中选择“发送文件(S)”选项,如图
所示 • 此时会弹出如图所示的文件和协议选择对话框 • 在如图所示的界面中: • 文件名选择当前项目针对Embedded Linux编译生成的可执行文件 • 协议选择ZModem与崩溃恢复 • 然后点击“发送(S)”按钮即可发送文件
2.1.5 Embedded Linux编译、发布与运行
• 使用ZModem文件传输协议发布程序 • 当嵌入式系统接收完成后在超级终端中输入命令: • ls • 进行查看,此时/usr文件夹中的文件如图所示 • 可以看出:此时HelloQt并不是一个可执行文件 • 超级终端中输入命令: • chmod 777 HelloQt • 此时在超级终端中输入命令: • ls • 进行查看,可以看出:此时HelloQt已经是一个可执行文件了,如图所示
码还没有被执行,如图所示
2.1.4 x86 Linux编译、调试与发布
• 发布 • 当调试没有问题后,可以发布程序了。将工程的目标设置为Qt x86
Linux发布版本后重新编译 • 此时可以在编译文件夹中出现可执行文件,如图所示 • 或者使用命令行方式进入该文件夹也可以查看,如图所示
2.1.5 Embedded Linux编译、发布与运行
2.1.4 x86 Linux编译、调试与发布
• 代码最终是针对嵌入式Linux进行开发的, 但嵌入式系统的资源是有限的,往往不能 实现本地编译
• 由于在桌面级的Linux中可以实现本地调试 ,验证代码的功能,因此往往需要先进行 x86 Linux编译、调试与运行,当验证无误 后,再进行嵌入式Linux编译、运行与调试
2.1.5 Embedded Linux编译、发布与运行
• 运行 • 在嵌入式Linux中运行程序首先需要设置一下程序运行的环境。在嵌入式系统
搭建时,已经将环境设置的脚本存放在/bin目录下,因此只需要在超级终端 中输入: • . setqt4env • 即可完成环境的设置,如图所示 • 需要注意的是:点和脚本间有个空格,说明脚本中导出的环境变量将应用到 当前的shell会话中
• 使用ZModem文件传输协议发布程序 • 使用ZModem文件传输协议将嵌入式系统看作是Linux服务器,从本
地上传文件到Linux服务器使用rz命令 • 功能:从本地上传文件到Linux服务器。 • 参数与格式: • rz • 在超级终端中输入命令: • rz • 即可进入等待接收状态,如图所示
• 运行 • 在这里,可以看到有一个重要的参数:-qws • Qt编程和文档中的术语QWS的全称是Qt Windows System,
是Qt自行开发的窗口系统,体系结构类似X Windows,是一个 C/S结构,由QWS Server在物理设备上显示,由QWS Client 实现界面,两者通过socket进行彼此的通讯。在很多嵌入式系 统里,Qt程序基本上都是用QWS来实现,这样保证程序的可 移植性 • 另外在运行Qt程序时添加-qws参数,表示这个程序是QWS Server,否则是QWS Client • 任何一个基于Qt的application都可以做QWS Server • QWS Server一定先于QWS Client启动,否则QWS Client将 启动失败 • 在实际应用中,会指定某个特殊的程序做QWS Server,这个 程序一般还会管理一些其它的系统资源
2.1.5 Embedded Linux编译、发布与运行
• 运行 • 进入HelloQt所在文件夹,在超级终端中输入: • ./HelloQt -qws • 或者不进入HelloQt所在文件夹,直接在超级终端中输入完整路径: • ./usr/HelloQt -qws • 即可运行程序,如图所示
2.1.5 Embedded Linux编译、发布与运行
2.1.5 Embedded Linux编译、发布与运行
• 使用ZModem文件传输协议发布程序 • 在超级终端中输入命令: • cd /usr • 进入/usr目录 • 在超级终端中输入命令: • ls • 进行查看,此时/usr文件夹中的文件如图所示
2.1.5 Embedded Linux编译、发布与运行
• 编译 • 在进行Embedded Linux编译之前需要将
代码的第14行的“//”去掉,此时第14行 代码有效,代表是针对Embedded Linux 编译 • #define EmbeddHale Waihona Puke Baidud_Linux • 参照x86 Linux编译将工程的目标设置为Qt Embedded Linux发布版本后重新编译, 此时可以在编译文件夹中出现可执行文件
果出现其它错误需要认真排查,直至无误
2.1.4 x86 Linux编译、调试与发布
• 调试 • 编译完成后可以在需要观察的位置设置上断点,如图所示
2.1.4 x86 Linux编译、调试与发布
• 调试 • 当断点设置完之后可以开始程序调试 • 当程序执行到断点所在行时,代表上一行代码已经执行完成,本行代
进行编译(构建),如图所示 • 第二种是使用左下角的构建图标进行编译,如图所示
2.1.4 x86 Linux编译、调试与发布
• 编译 • 编译工程 • 由于虚拟机和宿主机的时钟会出现不同步的情况,在编译时,如果虚
拟机的时钟比宿主机慢,会造成出现如图所示的忽略错误的提示 • 其原因如图所示 • 这个警告不是致命的错误,因此可以在两个选项中任意选择。但是如
,并且不作任何优化,便于程序员调试程序 • 发布模式又称为发布版本、Release版本,它往往是进行
了各种优化,使得程序在代码大小和运行速度上都是最优 的,以便用户很好地使用 • 因为需要进行调试,所以在图中选择了:Qt x86 Linux 调试
2.1.4 x86 Linux编译、调试与发布
• 编译 • 编译工程 • 编译工程有两种模式,第一种是使用“构建(B)”菜单
2.1.4 x86 Linux编译、调试与发布
• 编译 • 设置工程的目标 • 在进行x86 Linux编译之前,需要设置工程的目标,如图所示
2.1.4 x86 Linux编译、调试与发布
• 编译 • 设置工程的目标 • 针对x86 Linux的编译有两种模式:调试与发布。其差别
在于: • 调试模式又称为调试版本、Debug版本,它包含调试信息
2.1.5 Embedded Linux编译、发布与运行
• 使用ZModem文件传输协议发布程序 • 在超级终端中的“传送”菜单中选择“发送文件(S)”选项,如图
所示 • 此时会弹出如图所示的文件和协议选择对话框 • 在如图所示的界面中: • 文件名选择当前项目针对Embedded Linux编译生成的可执行文件 • 协议选择ZModem与崩溃恢复 • 然后点击“发送(S)”按钮即可发送文件
2.1.5 Embedded Linux编译、发布与运行
• 使用ZModem文件传输协议发布程序 • 当嵌入式系统接收完成后在超级终端中输入命令: • ls • 进行查看,此时/usr文件夹中的文件如图所示 • 可以看出:此时HelloQt并不是一个可执行文件 • 超级终端中输入命令: • chmod 777 HelloQt • 此时在超级终端中输入命令: • ls • 进行查看,可以看出:此时HelloQt已经是一个可执行文件了,如图所示
码还没有被执行,如图所示
2.1.4 x86 Linux编译、调试与发布
• 发布 • 当调试没有问题后,可以发布程序了。将工程的目标设置为Qt x86
Linux发布版本后重新编译 • 此时可以在编译文件夹中出现可执行文件,如图所示 • 或者使用命令行方式进入该文件夹也可以查看,如图所示
2.1.5 Embedded Linux编译、发布与运行