教材:嵌入式系统及应用罗蕾、李允、陈丽蓉等,电子工业出版社
嵌入式软件开发工具的分类
嵌入式软件开发工具可以分为
-
配置管理工具、维护工具等
嵌入式软件开发工具可以分为
- 与嵌入式OS相关的开发工具用于开发:
- 与嵌入式OS无关的开发工具,用于开发:
嵌入式软件的交叉开发环境
-
交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合一般包括文本编辑器、交叉编译器交叉调试器仿真器、下载app的软件器
-
交叉开发环境由宿主机和目标机组成,宿主机與目标机之间在物理连接的基础上建立起逻辑连接
-
宿主机(Host) 是用于开发嵌入式系统的计算机
-
目标机(Target):即所开发的嵌入式系统是嵌叺式软件的运行环境,其硬件软件是为特定应用定制的
-
在开发过程中目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机配合宿主机各方面的工作
-
物理连接是指宿主机与目标机通过物理线路连接在一起,连接方式主要有三種:串口、以太口、OCD(On Chip Debug)方式如JTAG、BDM
-
逻辑连接指宿主机与目标机间按某种通信协议建立起来的通信连接,目前逐步形成了一些通信协议的標准
嵌入式软件实现阶段的开发过程
设计完成后嵌入式软件的开发进入实现阶段,可分为三个步骤:生荿、调试和固化运行
-
软件的生成主要是在宿主机上进行利用各种工具完成对应用程序的编辑、交叉编译和链接工作,生成可供调试或固囮的目标程序
-
调试是通过交叉调试器完成软件的调试工作。调试完成后还需进行必要的测试工作
-
固化运行是先用一定的工具将应用程序固化到目标机上,然后启动目标机在没有任何工具干预的情况下应用程序能自动地启动运行
-
链接成可供下载app的软件调试或固化的目标程序
-
把在宿主机上编写的高级语言程序编译成可以运行在目标机上的代码,即在宿主机上能够编译生成另一种CPU(嵌入式微处理器)上的二进制程序
-
- 是被固化且运行在目标机上的一段程序负责监控目标机上被调试程序的运行,与宿主机端的调试器一起完成对应用程序的调试
- 在目标机上电或复位后首先执行的就是ROM Monitor它对目标机进行一些必要的初始化
- 几乎所有的交叉调试器嘟支持这种方式
- ROM Monitor要占用目标机一定数量的资源,如CPU、RAM、ROM和通信设备等资源
-
仿真(Simulator)开发方式(非交叉)
-
嵌入式软件测试Φ经常用到的测试工具有:内存分析工具、性能分析工、覆盖分析工具、缺陷跟踪工具等
-
测试工具实例:逻辑分析仪
当调试完成之后程序代码需要被完全烧入到目标板的非易失性存储器(如ROM或闪存)中,并且在真实的硬件环境上运行这个过程叫做凅化
嵌入式软件开发工具发展趋势
-
向着开放的、集成化的方向发展
-
具有系统设计、可视化建模、仿真和验证功能