您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 嵌入式软件系统设计.
嵌入式系统教案嵌入式软件系统设计2020/1/12提纲13245嵌入式软件开发过程ARM软件设计与代码分析ARM软件开发流程和开发工具67第六章嵌入式软件系统设计3嵌入式系统软件开发流程软件需求分析:确定设计任务和目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。嵌入式软件开发过程概要设计:描述系统如何实现所述的需求,包括软件模块的划分、系统的软件开发工具选择以及关键问题的论证等。概要设计模块划分软件需求分析:编码单元调试集成调试详细设计BSP、应用程序测试产品详细设计:详细描述各个模块的实现方法与过程,模块间接口等问题,以作为编码人员的编码准则。编码4嵌入式系统的开发流程单元调试:编码完成后,对各个模块进行单元调试,以保证模块正常工作。嵌入式软件开发过程集成调试5常用调试方法软件仿真驻留监控程序硬件要求高,一般在硬件稳定之后进行需要占用目标板上的一部分资源不能对程序的全速运行进行完全仿真JTAG仿真器完全非插入式调试,不使用片上资源,无需目标存储器,不占用目标系统的任何端口仿真效果更加接近于目标硬件在线仿真器ARM软件开发流程和开发工具6处理器的选择处理性能技术指标功耗操作系统和软件支持工具的选择是否内置调试工具ARM软件开发流程和开发工具7操作系统和软件支持工具的选择如果用户希望使用WindowsCE、Linux等操作系统,就需要选择ARM720T以上带有MMU(MemoryManagementUnit)功能的ARM芯片。ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持WindowsCE和Linux,但目前有uCLinux以及uC/OS-II等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。ARM软件开发流程和开发工具8操作系统和软件支持工具的选择如果决定采用Linux、WindowsCE、vxWorks等操作系统时,在选择处理器时应该尽量选择该操作系统已经支持的处理器,这样可以大大加快开发进度,降低难度。选择不同的操作系统,其软件开发过程和调试手段各不相同,你的选择方案是否能够提供各个开发阶段(包括bootloader开发、操作系统移植、驱动开发和应用开发)所需的软件支持工具也是一个必须考虑的因素。ARM软件开发流程和开发工具9硬件驱动程序的调试如果硬件平台是自行设计的,必须首先对硬件进行调试,硬件调试成功是进行操作系统移植和应用程序开发的一个基本前提。这个过程通常是通过编写一些简单的测试程序直接驱动硬件以验证硬件是否正确,这些程序可以基于操作系统进行编程,也可以不使用操作系统,而且后一种方法来得更加简单,调试也更方便和快捷。ARM软件开发流程和开发工具10操作系统的选择和移植μC/OS-IILinux/uClinuxWindowsCEvxWorksARM软件开发流程和开发工具11μC/OS-II免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。它可以基于ROM运行(ROMable)、可裁减,具有高度移植性。μC/OS-II实时嵌入式内核在工业控制、数据采集等领域应用广泛。但μC/OS-II内核不支持文件系统、网络协议等功能,而且没有提供统一的硬件驱动程序接口和开发工具链,在复杂应用中需要考虑内核以外功能的实现难易程度。ARM软件开发流程和开发工具12μC/OS-II在μC/OS-II开发中,内核、驱动程序和应用程序都是集中编译,μC/OS-II编译以后的二进制代码中既包含内核代码,也包含驱动程序和应用程序的代码。μC/OS-II没有提供统一的开发工具链,μC/OS-II程序的编译应该采用支持所选处理器的编译器。对于ARM处理器,可以在Windows环境中使用ADS1.2、ADTIDE中编译μC/OS-II,也可以在Linux环境中使用GNUGCC编译μC/OS-II。ARM软件开发流程和开发工具13Linux/uClinuxLinux/uClinux是对于有MMU和没有MMU的处理器的Linux解决方案。Linux/uClinux提供强大的文件系统、网络功能、GUI等软件模组支持,而且这些功能都是可以裁减的,同时它还提供了标准的驱动程序接口和软件开发接口,便于用户编程和程序维护。Linux/uClinux自身具备一整套工具链(GNUGCC),包括编译和调试工具,用户可以自行建立嵌入式系统的开发环境和交叉运行环境。ARM软件开发流程和开发工具14Linux/uClinux对于ARM处理器,Linux/uClinux内核、驱动程序以及应用程序的编译都在Linux环境中使用GNUGCC完成。对于内核和驱动程序的调试通常借助于运行于Linux/uClinux之前的bootloader来完成,只有在很少的情况下需要借助在线仿真器完成。对于应用程序的调试则可以完全抛弃在线仿真器,使用GDB完成。ARM软件开发流程和开发工具15WindowsCEWindowsCE是Windows界面在嵌入式处理器中的实现,它提供了友好的人机交互界面和强大的二次开发功能。WindowsCE包括四大基本模块,它们提供了操作系统的关键特性,分别是:内核(Kernel)模块、对象存储(ObjectStore)模块、GWES(用户、应用程序和操作系统之间的图形用户界面)模块和通信(Communication)模块。ARM软件开发流程和开发工具16WindowsCEWindowsCE拥有完善的软件支持开发工具,WindowsCE的核心移植和驱动开发使用专门的操作系统定制工具:WindowsCEPlatformBuilder(简称PB)。而应用程序的开发则有嵌入式开发工具包EmbeddedVisualTools,包括EmbeddedVisualC++(简称EVC)和EmbeddedVisualBasic(简称EVB)等。同时EmbeddedVisualTools下还可以进行部分驱动程序的开发。同时在WindowsCE中还提供了用于WindowsCE开发的bootloader:EBOOT。ARM软件开发流程和开发工具17vxWorksVxWorks是专门为实时嵌入式系统设计开发的操作系统内核,为程序员提供了高效的实时多任务调度、中断管理,实时的系统资源以及实时的任务间通信。在各种CPU平台上提供了统一的编程接口和一致的运行特性,尽可能的屏蔽了不同CPU之间的底层差异。应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。基于VxWorks操作系统的应用程序可以在不同CPU平台上轻松移植。ARM软件开发流程和开发工具18vxWorksVxWorks包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分。VxWorks只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。TornadoII是为开发VxWorks应用系统提供的集成开发环境,TornadoII中包含的工程管理软件,可以将用户自己的代码与VxWorks的核心有效的组合起来,可以按用户的需要裁剪配置VxWorks内核。ARM软件开发流程和开发工具19ARM主流开发工具Windows操作系统ARMADS/SDT+调试器GNU+Cygwin+调试器ARMSDT+简易电缆Linux操作系统GNU+GDBARM软件开发流程和开发工具20ARM嵌入式开发模式(ARMADS/SDT+调试器)ARM软件开发流程和开发工具21ADS与Multi-ICEARMADS全称为ARMDeveloperSuite,是ARM公司推出的用于ARM程序设计、开发和调试的集成开发工具。现在ADS的最新版本是1.2,它取代了早期的ADS1.1和ADS1.0。ADS由命令行开发工具,ARM运行时库,图形化集成开发环境(CodeWarrior和AXD),实用程序和支持软件组成。ARM软件开发流程和开发工具22ADS命令行开发工具ARMC(C++)编译器ARM汇编器(armasm)ARM链接器(armlink)符号调试器(armsd)ARM软件开发流程和开发工具23ARM运行时库ANSIC函数库:(armlib)C++函数库:ARM软件开发流程和开发工具24图形化集成开发环境(CodeWarrior和AXD)CodeWarriorforARMADS调试器实用程序fromELFarmarFlashdownloader支持的软件ARMulatorARM软件开发流程和开发工具25ADTforARM集成开发系统ARM软件开发工具-ADTIDE简介26ADT1000EmulatorforARMARM软件开发工具-ADTIDE简介27ADT1000EmulatorforARMARM软件开发工具-ADTIDE简介ADTEmulatorforARM是连接主机核目标机之间的硬件设备,它实现ADTIDEforARM与目标机之间的连接。它具有如下特征:支持ARM核CPU非插入式调试,无需目标存储器,不占用目标系统的任何端口2.5V/3.3V/5V兼容电平接口支持标准的14/20针JTAG接口运行状态指示与主机之间通过并口连接下载速度达到25Kbytes/S28ADTIDEforARMARM软件开发工具-ADTIDE简介29ADTIDEforARM主要特征-可视化编程环境ARM软件开发工具-ADTIDE简介支持ARM7、ARM9、SecurCore等。运行于Windows98、NT、2000、XP等平台。中文、英文版本支持可视化的源码编辑和工程管理功能界面友好,使用方便:类似MSVisualStudio的用户界面,支持打印功能,支持文件内查找功能和FindinFiles功能30ADTIDEforARM主要特征-可视化编程环境ARM软件开发工具-ADTIDE简介工程管理器:ADTIDE提供图形化的工程管理工具,实现文件级、文件目录级、工程级的多级编译连接选项管理以及工程级的调试参数管理源码编辑器:支持标准的文本编辑功能,支持C语言、汇编语言语法高亮显示辅助编辑工具:提供一系列辅助编辑工具,方便开发人员。包括:多剪贴板工具、代码模板工具、头文件和源文件切换工具、注释工具、符号配对书写工具等多种辅助编辑工具。31ADTIDEforARM主要特征-交叉编译功能ARM软件开发工具-ADTIDE简介支持开发语言:ANSIC;EmbeddedC++;汇编语言编译工具:使用著名优秀自由软件GNU的GCC交叉编译工具,并经过优化和严格测试,支持C语言、汇编语言等编译参数设置:完全图形界面方式的编译参数设置,提供可视化的设置功能。支持工程级、文件目录级、文件级编译参数设置32ADTIDEforARM主要特征-调试功能ARM软件开发工具-ADTIDE简介同时提供了图形和命令行两种调试方式程序的单步执行程序下载存储区下载和上载功能。工程级调试参数管理支持源程序、反汇编程序和混合窗口显示,支持ARM/THUMB方式显示具有与MSVisualStudio类似的调试菜单功能:Go,Stop,Reset,Restart,Stepinto,Stepover,Stepout,RuntoCursor等丰富的示例程序33ADTIDEforARM主要特征-调试功能ARM软件开发工具-ADTIDE简介断点功能:支持软件断点和硬件断点,实现断点设置、断点屏蔽、断点取消、断点列表等功能变量监视功能:随程序运行同步更新变量,即时修改变量值,可设置自动/手动刷新方式、十进制/十六进制显示ARM各种模式的寄存器即时查看与修改,当前模式指示,寄存器值修改时红色突显存储器查看与修改,可设置自动/手动刷新方式、字节/双字节/四字节显示、大/小端方式显示,存
本文标题:嵌入式软件系统设计.
链接地址:https://www.777doc.com/doc-2440542 .html