教材:嵌入式系统及应用,罗蕾、李允、陈丽蓉等,电子工业出版社web
嵌入式软件开发工具能够分为编辑器
需求分析工具(Requirement Analysis Tools)svg
软件设计工具(Software Design Tools)工具
编码、调试工具(Coding Tools)性能
测试工具(Testing Tools)开发工具
配置管理工具、维护工具等测试
嵌入式软件开发工具能够分为ui
交叉开发环境是指用于嵌入式软件开发的全部工具软件的集合,通常包括文本编辑器、交叉编译器交叉调试器仿真器、下载器编码
交叉开发环境
设计
交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理链接的基础上创建起逻辑链接
宿主机(Host) 是用于开发嵌入式系统的计算机
目标机(Target):即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应用定制的
在开发过程当中,目标机端需接收和执行宿主机发出的各类命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工做
物理链接是指宿主机与目标机经过物理线路链接在一块儿,链接方式主要有三种:串口、以太口、OCD(On Chip Debug)方式,如JTAG、BDM
逻辑链接指宿主机与目标机间按某种通讯协议创建起来的通讯链接,目前逐步造成了一些通讯协议的标准
设计完成后,嵌入式软件的开发进入实现阶段,可分为三个步骤:生成、调试和固化运行
软件的生成主要是在宿主机上进行,利用各类工具完成对应用程序的编辑、交叉编译和连接工做,生成可供调试或固化的目标程序。
调试是经过交叉调试器完成软件的调试工做。调试完成后还需进行必要的测试工做。
固化运行是先用必定的工具将应用程序固化到目标机上,而后启动目标机,在没有任何工具干预的状况下应用程序能自动地启动运行
源代码程序的编写
编译成各个目标模块
连接成可供下载调试或固化的目标程序
交叉编译
把在宿主机上编写的高级语言程序编译成能够运行在目标机上的代码,即在宿主机上可以编译生成另外一种CPU(嵌入式微处理器)上的二进制程序
交叉调试方式:Rom Monitor、On Chip Debugging
ROM Monitor
仿真(Simulator)开发方式(非交叉)
嵌入式软件测试中常常用到的测试工具备:内存分析工具、性能分析工、覆盖分析工具、缺陷跟踪工具等
测试工具实例:逻辑分析仪
当调试完成以后,程序代码须要被彻底烧入到目标板的非易失性存储器(如ROM或闪存)中,而且在真实的硬件环境上运行,这个过程叫作固化
嵌入式软件技术发展
向着开放的、集成化的方向发展
具备系统设计、可视化建模、仿真和验证功能
自动生成代码和文档
具备更高的灵活性