嵌入式软件系统设计课件.ppt
《嵌入式软件系统设计课件.ppt》由会员分享,可在线阅读,更多相关《嵌入式软件系统设计课件.ppt(106页珍藏版)》请在三一办公上搜索。
1、嵌入式系统教案,嵌入式软件系统设计,2022/12/10,2,提纲,1,3,2,4,5,嵌入式软件开发过程,ARM软件设计与代码分析,ARM软件开发流程和开发工具,6,7,第六章 嵌入式软件系统设计,3,嵌入式系统软件开发流程,软件需求分析:确定设计任务和目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。,嵌入式软件开发过程,概要设计:描述系统如何实现所述的需求,包括软件模块的划分、系统的软件开发工具选择以及关键问题的论证等。,详细设计:详细描述各个模块的实现方法与过程,模块间接口等问题,以作为编码人员的编码准则。,编码,4,嵌入式系统的开发流程,单元调试:编码完成后,对各个模块进行
2、单元调试,以保证模块正常工作。,嵌入式软件开发过程,集成调试,5,常用调试方法,软件仿真驻留监控程序硬件要求高,一般在硬件稳定之后进行需要占用目标板上的一部分资源不能对程序的全速运行进行完全仿真JTAG仿真器完全非插入式调试,不使用片上资源,无需目标存储器,不占用目标系统的任何端口仿真效果更加接近于目标硬件在线仿真器,ARM软件开发流程和开发工具,6,处理器的选择,处理性能 技术指标 功耗 操作系统和软件支持工具的选择 是否内置调试工具,ARM软件开发流程和开发工具,7,操作系统和软件支持工具的选择,如果用户希望使用Windows CE、Linux等操作系统,就需要选择ARM720T以上带有M
3、MU(Memory Management Unit)功能的ARM芯片。ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows CE和Linux,但目前有uCLinux以及uC/OS-II等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。,ARM软件开发流程和开发工具,8,操作系统和软件支持工具的选择,如果决定采用Linux、Windows CE、vxWorks等操作系统时,在选择处理器时应该尽量选择该操作系统已经支持的处理器,这样可以大大加快开发进度,降低难度。选择不同的操作系统
4、,其软件开发过程和调试手段各不相同,你的选择方案是否能够提供各个开发阶段(包括bootloader开发、操作系统移植、驱动开发和应用开发)所需的软件支持工具也是一个必须考虑的因素。,ARM软件开发流程和开发工具,9,硬件驱动程序的调试,如果硬件平台是自行设计的,必须首先对硬件进行调试,硬件调试成功是进行操作系统移植和应用程序开发的一个基本前提。这个过程通常是通过编写一些简单的测试程序直接驱动硬件以验证硬件是否正确,这些程序可以基于操作系统进行编程,也可以不使用操作系统,而且后一种方法来得更加简单,调试也更方便和快捷。,ARM软件开发流程和开发工具,10,操作系统的选择和移植,C/OS-II L
5、inux/uClinux Windows CE vxWorks,ARM软件开发流程和开发工具,11,C/OS-II,免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。它可以基于ROM运行(ROMable)、可裁减,具有高度移植性。C/OS-II实时嵌入式内核在工业控制、数据采集等领域应用广泛。但C/OS-II内核不支持文件系统、网络协议等功能,而且没有提供统一的硬件驱动程序接口和开发工具链,在复杂应用中需要考虑内核以外功能的实现难易程度。,ARM软件开发流程和开发工具,12,C/OS-II,在C/OS-I
6、I开发中,内核、驱动程序和应用程序都是集中编译,C/OS-II编译以后的二进制代码中既包含内核代码,也包含驱动程序和应用程序的代码。C/OS-II没有提供统一的开发工具链,C/OS-II程序的编译应该采用支持所选处理器的编译器。对于ARM处理器,可以在Windows环境中使用ADS 1.2、ADT IDE中编译C/OS-II,也可以在Linux环境中使用GNU GCC编译C/OS-II。,ARM软件开发流程和开发工具,13,Linux/uClinux,Linux/uClinux是对于有MMU和没有MMU的处理器的Linux解决方案。Linux/uClinux提供强大的文件系统、网络功能、GUI
7、等软件模组支持,而且这些功能都是可以裁减的,同时它还提供了标准的驱动程序接口和软件开发接口,便于用户编程和程序维护。Linux/uClinux自身具备一整套工具链(GNU GCC),包括编译和调试工具,用户可以自行建立嵌入式系统的开发环境和交叉运行环境。,ARM软件开发流程和开发工具,14,Linux/uClinux,对于ARM处理器,Linux/uClinux内核、驱动程序以及应用程序的编译都在Linux环境中使用GNU GCC完成。对于内核和驱动程序的调试通常借助于运行于Linux/uClinux之前的bootloader来完成,只有在很少的情况下需要借助在线仿真器完成。对于应用程序的调试
8、则可以完全抛弃在线仿真器,使用GDB完成。,ARM软件开发流程和开发工具,15,Windows CE,Windows CE是Windows界面在嵌入式处理器中的实现,它提供了友好的人机交互界面和强大的二次开发功能。Windows CE包括四大基本模块,它们提供了操作系统的关键特性,分别是:内核(Kernel)模块、对象存储(Object Store)模块、GWES(用户、应用程序和操作系统之间的图形用户界面)模块和通信(Communication)模块。,ARM软件开发流程和开发工具,16,Windows CE,Windows CE拥有完善的软件支持开发工具,Windows CE的核心移植和驱
9、动开发使用专门的操作系统定制工具:Windows CE Platform Builder(简称PB)。而应用程序的开发则有嵌入式开发工具包Embedded Visual Tools,包括Embedded Visual C+(简称EVC)和Embedded Visual Basic(简称EVB)等。同时Embedded Visual Tools下还可以进行部分驱动程序的开发。同时在Windows CE中还提供了用于Windows CE开发的bootloader:EBOOT。,ARM软件开发流程和开发工具,17,vxWorks,VxWorks是专门为实时嵌入式系统设计开发的操作系统内核,为程序员提
10、供了高效的实时多任务调度、中断管理,实时的系统资源以及实时的任务间通信。在各种CPU平台上提供了统一的编程接口和一致的运行特性,尽可能的屏蔽了不同CPU之间的底层差异。应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。基于VxWorks操作系统的应用程序可以在不同CPU平台上轻松移植。,ARM软件开发流程和开发工具,18,vxWorks,VxWorks包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分。VxWorks只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。TornadoII是为开发VxWorks应用系统提供的集
11、成开发环境,TornadoII中包含的工程管理软件,可以将用户自己的代码与VxWorks的核心有效的组合起来,可以按用户的需要裁剪配置VxWorks内核。,ARM软件开发流程和开发工具,19,ARM主流开发工具,Windows操作系统ARM ADS/SDT + 调试器GNU + Cygwin + 调试器ARM SDT + 简易电缆Linux操作系统GNU + GDB,ARM软件开发流程和开发工具,20,ARM嵌入式开发模式( ARM ADS/SDT + 调试器),ARM软件开发流程和开发工具,21,ADS与Multi-ICE,ARM ADS全称为ARM Developer Suite,是ARM
12、公司推出的用于ARM程序设计、开发和调试的集成开发工具。现在ADS的最新版本是1.2,它取代了早期的ADS1.1和ADS1.0。ADS由命令行开发工具,ARM运行时库,图形化集成开发环境(Code Warrior和AXD),实用程序和支持软件组成。,ARM软件开发流程和开发工具,22,ADS命令行开发工具,ARM C(C+)编译器 ARM汇编器(armasm) ARM链接器(armlink) 符号调试器(armsd),ARM软件开发流程和开发工具,23,ARM运行时库,ANSI C函数库:(armlib) C+函数库:,ARM软件开发流程和开发工具,24,图形化集成开发环境(Code Warr
13、ior和AXD),CodeWarrior for ARM ADS调试器实用程序 fromELF armar Flash downloader 支持的软件 ARMulator,ARM软件开发流程和开发工具,25,ADT for ARM集成开发系统,ARM软件开发工具ADT IDE简介,26,ADT 1000 Emulator for ARM,ARM软件开发工具ADT IDE简介,27,ADT 1000 Emulator for ARM,ARM软件开发工具ADT IDE简介,ADT Emulator for ARM是连接主机核目标机之间的硬件设备,它实现ADT IDE for ARM与目标机之间的
14、连接。,它具有如下特征:,支持ARM核CPU,非插入式调试,无需目标存储器,不占用目标系统的任何端口,2.5V/3.3V/5V兼容电平接口,支持标准的14/20针JTAG接口,运行状态指示,与主机之间通过并口连接,下载速度达到25Kbytes/S,28,ADT IDE for ARM,ARM软件开发工具ADT IDE简介,29,ADT IDE for ARM主要特征 可视化编程环境,ARM软件开发工具ADT IDE简介,支持ARM7、ARM9、SecurCore等。,运行于Windows98 、NT、2000、XP等平台。,中文、英文版本支持,可视化的源码编辑和工程管理功能,界面友好,使用方便
15、:类似MS Visual Studio的用户界面,支持打印功能,支持文件内查找功能和Find in Files功能,30,ADT IDE for ARM主要特征 可视化编程环境,ARM软件开发工具ADT IDE简介,工程管理器:ADT IDE提供图形化的工程管理工具,实现文件级、文件目录级、工程级的多级编译连接选项管理以及工程级的调试参数管理,源码编辑器:支持标准的文本编辑功能,支持C语言、汇编语言语法高亮显示,辅助编辑工具:提供一系列辅助编辑工具,方便开发人员。包括:多剪贴板工具、代码模板工具、头文件和源文件切换工具、注释工具、符号配对书写工具等多种辅助编辑工具。,31,ADT IDE fo
16、r ARM主要特征 交叉编译功能,ARM软件开发工具ADT IDE简介,支持开发语言:ANSI C;Embedded C+;汇编语言,编译工具:使用著名优秀自由软件GNU的GCC交叉编译工具,并经过优化和严格测试,支持C语言、汇编语言等,编译参数设置:完全图形界面方式的编译参数设置,提供可视化的设置功能。支持工程级、文件目录级、文件级编译参数设置,32,ADT IDE for ARM主要特征 调试功能,ARM软件开发工具ADT IDE简介,同时提供了图形和命令行两种调试方式,程序的单步执行,程序下载,存储区下载和上载功能。,工程级调试参数管理,支持源程序、反汇编程序和混合窗口显示,支持ARM/
17、THUMB方式显示,具有与MS Visual Studio类似的调试菜单功能:Go,Stop,Reset,Restart,Step into,Step over,Step out,Run to Cursor等,丰富的示例程序,33,ADT IDE for ARM主要特征 调试功能,ARM软件开发工具ADT IDE简介,断点功能:支持软件断点和硬件断点,实现断点设置、断点屏蔽、断点取消、断点列表等功能,变量监视功能:随程序运行同步更新变量,即时修改变量值,可设置自动/手动刷新方式、十进制/十六进制显示,ARM各种模式的寄存器即时查看与修改,当前模式指示,寄存器值修改时红色突显,存储器查看与修改,
18、可设置自动/手动刷新方式、字节/双字节/四字节显示、大/小端方式显示,存储器值修改时红色突显,34,ADT IDE for ARM主要特征 调试功能,ARM软件开发工具ADT IDE简介,函数堆栈显示,可设置自动/手动刷新方式、十进制/十六进制显示、参数值显示,参数类型显示,板上寄存器(On Board Register)的查看和修改,可以查看支持CPU的所有板上寄存器的具体意义、当前值、各个位的意义,可设置自动/手动刷新方式、二进制/十进制/十六进制显示、大/小端方式显示,支持十进制/十六进制方式修改寄存器值,寄存器值修改时红色突显。,flash在线编程器,支持对多种flash芯片的空白检查
19、、擦除、编程、校验等操作,支持单一操作和自动操作两种操作方式,支持8/16/32位flash访问宽度,支持多片flash同时编程,编程速度达15Kbytes/s。提供统一的flash编程接口,可以方便地添加flash编程方案。,35,ADT IDE for ARM,ARM软件开发工具ADT IDE简介,ADT IDE(Arm7Lpt、Arm9Lpt、SoftSim、Arm7Simple),用户手册、编程指南,丰富例程,36,多版本支持,ARM软件开发工具ADT IDE简介,37,多工程管理,ARM软件开发工具ADT IDE简介,38,可视化编辑器,ARM软件开发工具ADT IDE简介,39,G
20、CC交叉编译,ARM软件开发工具ADT IDE简介,40,编译器设置,ARM软件开发工具ADT IDE简介,41,汇编器设置,ARM软件开发工具ADT IDE简介,42,连接器设置,ARM软件开发工具ADT IDE简介,43,调试功能,ARM软件开发工具ADT IDE简介,44,多种调试模式,ARM软件开发工具ADT IDE简介,45,断点,ARM软件开发工具ADT IDE简介,46,存储器窗口,ARM软件开发工具ADT IDE简介,47,存储区上载下载功能,ARM软件开发工具ADT IDE简介,48,寄存器观察窗口,ARM软件开发工具ADT IDE简介,49,函数调用栈窗口,ARM软件开发工
21、具ADT IDE简介,50,变量观察窗口,ARM软件开发工具ADT IDE简介,51,命令窗口,ARM软件开发工具ADT IDE简介,52,单步调试 STEP INTO,ARM软件开发工具ADT IDE简介,53,单步调试 STEP OVER,ARM软件开发工具ADT IDE简介,54,单步调试 STEP OUT,ARM软件开发工具ADT IDE简介,55,单步调试 RUN TO CURSOR,ARM软件开发工具ADT IDE简介,56,板上寄存器,ARM软件开发工具ADT IDE简介,57,板上寄存器,ARM软件开发工具ADT IDE简介,58,FLASH在线编程器,ARM软件开发工具ADT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件 系统 设计 课件

链接地址:https://www.31ppt.com/p-1604999.html