第2次课 meego开发流程与开发基础

第2次课 meego开发流程与开发基础

ID:10013575

大小:1.39 MB

页数:71页

时间:2018-05-12

第2次课 meego开发流程与开发基础_第1页
第2次课 meego开发流程与开发基础_第2页
第2次课 meego开发流程与开发基础_第3页
第2次课 meego开发流程与开发基础_第4页
第2次课 meego开发流程与开发基础_第5页
资源描述:

《第2次课 meego开发流程与开发基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2次课MeeGo开发流程与开发基础内容嵌入式应用开发流程嵌入式应用开发环境嵌入式应用开发流程嵌入式开发工具链MeeGo的开发工具链宿主机与仿真机环境配置QT知识Qt介绍Qt安装基于QT的HelloWorld示例程序Qt中主要类的介绍Qt的信号槽机制Qt中主要控件介绍一、嵌入式应用开发流程嵌入式应用开发环境交叉开发编程语言嵌入式应用开发流程嵌入式开发工具链交叉开发通用计算机的软件开发一般都是以本地(Native)编译或开发的方式进行,嵌入式系统一般不支持本地环境开发,其软件开发通常采用交叉(Cross)开发的方式。交叉开发环境建立在宿主机(Host)上,宿主机又称开发机,一般是一台通用

2、计算机,如PC。对应嵌入式系统称为目标(Target)机。目标机指各式各样的嵌入式设备,例如手机、掌上电脑等;或者是嵌入式厂商提供的一套专用于开发的评估板(evaluationboard),所以又称开发板;甚至是基于软件的模拟器。开发时使用宿主机上的交叉编译、汇编和链接工具形成可在目标机上执行的二进制代码,然后把可执行文件下载到目标机上运行。嵌入式系统开发过程中不仅编译(包括链接等步骤)采用交叉的方式,调试也常采用交叉的方式。交叉开发采用交叉开发的原因主要原因在于目标机上往往无法进行有效的本地编译。目标机硬件本身在开发过程中还不能使用或还不够稳定;目标机平台上缺乏完整的本地编译工具、环

3、境;目标机系统本身性能不够导致编译太慢。嵌入式系统的软件编译,与Windows开发不一样,不仅要编译应用程序,还要编译相应的依赖库、操作系统内核等。所以一次完整的编译非常费时。而从硬件角度,决定编译速度的主要因素是CPU速度、内存容量和文件系统I/O速度。而这些方面在嵌入式系统上往往都要比PC差很多。这样会造成目标机系统上进行本地编译效率低下。综合以上多方面因素的考虑,嵌入式系统开发一般都采用交叉开发方式,如交叉编译(包括交叉链接)、交叉调试等。交叉开发宿主机和目标机的连接一般通过串口、并口、USB或以太网等连接线进行连接。交叉开发过程在宿主机上会安装用于嵌入式软件开发的一系列工具集,

4、例如代码编辑工具、编译器、连接器、调试工具、软件配置管理工具等。开发者在宿主机一端完成代码编写和调试。交叉开发宿主机和目标机的差异体系结构的不同。宿主机和目标机通常是异构的。宿主机一般采用x86体系结构,但是目标机的体系结构则可能非x86的,如是ARM、MIPS、PowerPC等各式各样。处理能力不同。通常宿主机的处理速度、存储容量等会远远大于目标机。运行的操作系统不同。宿主机一般运行通用操作系统,而目标机通常运行各种嵌入式操作系统。输入输出方式不同。相对宿主机,目标机的输入输出功能可能比较单一。编程语言本书采用的主要语言由于C/C++拥有便于底层编程等诸多优点,目前C/C++为大多数

5、嵌入式系统开发的首选语言。考虑到现实的发展状况,我们在后续章节的应用开发中首选语言也是C/C++。嵌入式应用开发流程典型的开发流程示意图编码阶段构建阶段部署阶段调优阶段嵌入式应用开发流程开发流程主要分为如下几个阶段:1.编码阶段编码阶段是软件开发的开始,其任务是编写软件的源代码代码,使用的工具是各种编辑器。2.构建阶段构建阶段的任务是把代码转化成可以在嵌入式硬件上可执行程序的过程。此阶段包括包括编译,链接、定址和打包等步骤。3.部署阶段部署是把可执行的运行时映像或可执行文件部署到嵌入式设备上,让嵌入式设备在系统上电后可以启动并加载开发者编写的代码。4.调优阶段(调试、优化阶段)此阶段主

6、要是对软件进行调试和性能优化。调试:即使再有经验的软件工程师,要编写完全没有错误的程序也是不可能的。嵌入式软件调试的效率都比较低,因为即使改动一行代码,都可能需要把编译、链接、重定位、烧写、下载等步骤完整走一遍,这也是调优阶段最显著的特点。快速地定位到问题可以节省大量的时间。嵌入式应用开发流程4.调优阶段(调试、优化阶段)优化对于软件产品最低目标是能正确的运行,还需要优化,优化目标主要包括是速度性能、功耗性能、空间性能等方面,达到运行更快,更节能,占用空间更小等目的。借助工具分析程序代码,精确分析性能瓶颈,据此引导和建议开发者进行改进,此过程常称为代码剖析(codeprofiling)

7、,对应的工具常常称为剖析器(profiler)或性能分析器(performanceanalyzer)、Intel的VTune。典型的开发工具链工具链的概念在嵌入式软件开发的各个阶段都相应的工具帮助用户来完成其工作,这些工具形成与开发流程对应的工具链(Toolchain),又称工具集。开发阶段功能描述典型工具例子编辑编辑程序的源代码Vi、Emacs、Windows记事本编译、链接将源程序编译、链接成可执行的二进制文件gcc、icc烧写把可执行的二

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。