版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章嵌入式系统软件和开发调试方法,4.1嵌入式系统软件结构4.2嵌入式系统软件开发过程4.3 ADS集成软件开发环境4.5嵌入式Linux系统开发环境,2,4.1嵌入式系统软件结构图,3,DDI层硬件层和软件层之间的中间层,主板级支持包,也称为主板支持包(BSP),将系统软件与基本硬件部分隔离,从而使系统的基本设备驱动程序独立于硬件,通常具有相关硬件初始化、数据输入/输出操作和硬件设备配置等功能。BSP是主板硬件环境和操作系统的中间接口,是软件平台中硬件依赖的一部分,主要是为了支持操作系统,以便更好地在硬件主板上运行。纯BSP通常包含与系统相关的驱动程序,如网络驱动程序和系统的网络协议、串行
2、驱动程序和系统的下载调试。离开这些驱动程序系统将无法正常工作。4,系统软件层主要是操作系统,部分是文件系统、图形用户界面和网络系统等。操作系统是嵌入式应用软件的基础和开发平台,实际上是系统重置后首先运行的程序,与用户的主程序相同,用户的其他应用程序构建在操作系统之上。操作系统是标准内核,封装停机、I/O、计时器等资源以方便用户使用。操作系统的引入极大地提高了嵌入式系统的功能使应用软件的设计更加方便但也占用了宝贵的嵌入式系统资源通常,嵌入式操作系统非常适合大型或需要多任务处理的应用程序。5,由基于操作系统的应用程序组成的应用层,用于控制受控对象。应用层面向控制对象和用户,通常需要熟悉的人机界面以
3、方便用户操作。对于一些复杂的系统,在系统设计的早期阶段,分析系统的要求,了解系统的功能,然后在整个系统的硬件、软件和执行单元的设计过程中,称为系统的功能实现。6,4.2嵌入式系统开发工具,1 .嵌入式系统开发工具:硬件开发工具、软件开发工具两类。2.软件开发工具编译器、汇编器、连接器、调试器、嵌入式操作系统、库、评估版、在线模拟器等。3.市场上的软件开发工具类型:目前世界上有40多家企业提供多种类型的产品。在软件开发方面,至少需要编辑器、编译器、连接器、调试器和工程管理工具,即软件集成开发环境。4.ARM提供的广告集成开发环境。运行在Windows环境中的ARM开发传统开发环境ADS,RVDS
4、。7,4.3介绍了嵌入式系统开发过程,摘要设计:软件模块划分,系统的软件开发工具选择,主要问题的论证等系统实现方法。详细设计:详细说明各个模块的实现方法和流程、模块之间的接口等,用作编码人员的编码指导。编码、单元调试:编码完成后,将对单个模块进行单元调试,以确保模块工作正常。集成调试、集成调试、产品测试、产品发布、8,嵌入式系统软件的开发功能,采用主机/目标交叉开发方法:嵌入式系统本身没有引导开发功能,设计完成后用户不能修改程序功能。嵌入式软件以主机/目标模式开发,所需的开发环境称为交叉开发环境,分为主机部分和目标系统部分。使用统一通信协议进行通信,从主机计算机向目标系统发送命令,从目标系统接
5、收并执行命令,然后将结果返回到主机系统,从而实现两个系统之间的相互控制。,9,嵌入式系统软件交叉开发方法,10、嵌入式系统软件调试技术、1模拟器调试工具和要调试的嵌入式软件在主机上运行,并通过软件手段模拟为某种嵌入式处理器编写的源程序。简单的模拟器可以通过仪表解释逐个运行源程序、分配虚拟存储空间和外围设备,以及语法和逻辑调试。11,2在线模拟器方法在线模拟器ICE是完全模拟待调试CPU设计的工具,目标系统对用户完全透明且可控制。模拟器和目标主板通过模拟头连接,并通过串行端口、并行端口、以太网端口或USB端口连接到主机。此模拟器实际运行所有CPU操作,并在使用的内存中设置大量硬件中断点,以便实时
6、查看所有需要的数据,从而有助于调试过程。因为模拟器是自己的方案,所以调试时可以连接或不连接目标板。使用ICE与使用常规目标硬件相同。但是,在ICE完成调试后,必须将调试后的程序下载回目标系统。ICE的开发成本很高,因为价格昂贵,而且每个CPU都需要相应的ICE。12 .主机和目标主板通过提供调试界面的特定界面(通常为串行端口)连接,调试下载并运行到目标主板,并与目标系统上运行的监视器通信以获取调试信息。3 .显示器方式,13,监视器、监视器是在目标上运行的可执行程序,主要监视在目标上调试的程序的运行,并与主机端调试器一起完成应用程序的调试。监视包含基本功能的启动代码,完成必需的硬件初始化,并等
7、待主机命令。调试可以通过监视器下载到目标计算机,然后开始调试。显示器方法操作简单、功能强大,不需要专门的调试硬件,应用范围广,可以提高调试效率,缩短产品开发周期,降低开发成本。因此,显示器方式可以广泛用于嵌入式系统开发。14,监视器调试方法的限制:只能调试在目标操作系统上运行的应用程序,不适合调试目标操作系统。有些微处理器必须提前刻录显示器,前提是目标主板工作正常,功能有限,特别是硬件调试功能差。使用、15、ICD和目标主板的调试端口连接发送调试命令并接收调试信息,即可完成所需的调试功能。通常,ARM芯片的开发主板使用JTAG边界扫描进行调试。Motorola使用专用的BDM调试接口。您可以使
8、用适当的开发工具来利用这些界面。例如,ARM开口板可以将JTAG调试器连接到开口板的JTAG入口,然后通过JTAG端口与ARM处理器核心进行通信。JTAG调试的目标程序在目标主板上运行,模拟更接近目标硬件,从而将高频操作限制、导线长度限制等许多界面问题降至最低。这是目前最常用的调试方法之一。,4 .调试JTAG模拟器,16,4.4嵌入式软件开发类型,无操作系统软件开发(SCM软件开发)启动代码应用程序基于操作系统的软件开发引导加载程序操作系统迁移BSP主板级别支持软件包应用程序开发,17,无操作系统软件开发-启动代码开发、启动代码功能和功能硬件初始化启动c代码功能一般来说,组件语言编写程序重置
9、执行入口点代码的数量很小,18,无操作系统软件开发-启动代码,启动代码程序进程设置中断,异常入口关闭中断硬件寄存器初始化(GPIO配置,总线配置,PLL时钟)堆栈指针数据区域初始化c门户函数调用BL Main,19,没有操作系统软件开发-应用程序软件开发、应用程序软件功能和功能基于硬件的应用程序功能通常是用c语言或嵌入式汇编语言编写的复杂代码数,20,开发基于操作系统的软件-引导加载程序开发,引导加载程序功能和功能硬件初始化引导操作系统下载(串行端口、网络端口、USB)写闪存功能重置执行入口点通常比用汇编语言c编写代码少,21,基于操作系统的软件开发-嵌入式操作系统迁移,Linux windo
10、ws ce UC/OS ii uclinux nucleus,22,基于操作系统的软件开发-BSP设计、BSP功能和特性功能为主要用于操作系统的应用程序提供了集成的硬件操作界面。根据特定的高功能硬件相关硬件平台,取决于多种操作系统。23,基于操作系统的软件开发-应用程序设计、应用程序功能GUI图形、人机交互控制算法功能硬件依赖程度较小的部分可以模拟各种操作系统的调试。24,4.5嵌入式软件设计和调试流程,编辑项目附加文件,编写程序汇编语言和c语言编译配置编译,编辑和链接参数编写链接脚本文件,运行调试连接调试器下载,通过调试固化模拟器编写flash专用或通用编程人员刻录bootloader编写f
11、lash,25,4.6内置主流软件开发工具,Windows操作系统ARM ADS/SDT调试器GNU Cygwin调试器ARM SDT简单电缆Linux操作系统GNU GDB,使用26,4.7 ADS集成开发环境,1基本概念2。ADS配置简介3 ADS开发应用程序4使用AXD调试器,27,1。基本概念,从ARM集成开发环境中的文件生成的文件源文件:集合文件。s,c源文件。C,C源文件。CPP。编译后的目标文件:ELF文件(包含调试信息、库文件除外)链接到库文件后生成图像文件:axf(包含注释和调试信息)、AXD调试器等调试文件。bin文件:从axf文件中删除注释和调试信息的文件。bin文件可以
12、直接在硬件上运行。也就是说,最终写入rom的文件。28,2.ADS配置和使用、编译器以及ADS提供了多种编译器,以支持ARM和Thumb命令的编译。arm c是ARM C编译器,TCC是指Thumb C编译器,ARMcpp是指ARM C编译器,tcpp是指Thumb C编译器,armasm是指ARM和Thumb的汇编器。29,汇编程序,ARMasm(独立ARM汇编程序)inline assember (C/C编译器中的嵌入式汇编程序),30,链接器armlink是arm链接器。此命令可以链接与一个或多个编译的目标文件关联的一个或多个库文件,以生成一个可执行文件,或将多个目标文件部分链接到一个目
13、标文件以创建其他链接。31、ARM运行时库、ANSI C库C运行时库、32、fromELF图像文件转换工具将ELF格式文件转换为各种格式的输出文件,包括bin格式图像文件、Motorola 32位s格式图像文件、Intel 32位格式图像文件和Verilog十六进制文件。FromELF命令还可以生成输入图像文件的文本信息,例如代码和数据长度。33,armar库管理工具ARMar是arm库函数生成器,它以库函数的形式收集了一系列ELF格式的目标文件。您可以将库传递给链接器,而不是多个ELF文件。CodeWarrior CodeWarrior integrated development envi
14、ronment(IDE)为管理和开发项目提供了一个简单、多种图形用户界面,用户可以使用ADS的CodeWarrior IDE为ARM和Thumb处理器开发使用c、c或ARM程序集语言编写的程序代码。34,调试器:ADS包含三个调试器:AXD、ARMsd和ADW/ADU,aramsd是arm和Thumb的符号调试器。可以调试源级程序。在用c或程序集语言编写的代码中,可以单步调试、设置断点、查看变量值和内存单元的内容。AXD调试器可以与其他软件一起使用多过程计算器(multi-ice)硬件进行联机调试,ARMulator模拟器调试,如果您装载了Angel显示器,则还可以对显示器进行调试。35,3。
15、使用ADS开发应用程序-新建项目,打开codeware,选择新项目!36,使用ADS开发应用程序-工程存储,37,使用ADS开发应用程序-添加文件,38,使用ADS开发应用程序-添加文件方法2,39,使用ADS开发应用程序-指定目标文件类型,40,使用ADS开发应用程序-编译连接首选参数,图3.9 Edit菜单,41,图3.10 DebugRel Settings对话框,42,图3.11设置命令行工具选项,选择目标处理器类型,43,Linker设置,图3.12链接器设置,44,直接单击工程编译按钮,如果没有错误,启动调试器AXD,调试。调试器可以通过两种方式启动:菜单栏启动或工具栏按钮启动。使
16、用ADS开发应用程序-编译调试,45,4。使用AXD调试软件,调试体系结构Multi-ICE的配置使用AXD调试代码。生成bin文件,46,47,4.5嵌入式Linux系统开发,1 .准备多种工具软件2。主机开发环境实施3。交叉开发环境硬件连接方法4。构建跨开发环境,48,1。应用软件准备、系统工具:Linux操作系统文件交叉开发工具链(gcc相关文件)代码读取器、刻录工具等软件源代码:Linux内核文件、引导加载程序、businesbox、数据库、QT等源代码文件、49,2。构建主机互编译环境,1 .在PC上安装Linux操作系统。例如,2 .跨开发工具链,在主机上。50,安装交叉编译工具链,步骤1,获取Binutils,GCC,Glibc源代码。步骤2配置和编译Binutils以获得所需的装配和连接过程。步骤3,生成GCC源代码配置和编译GCC编译器。通常,由c编译器的第一位老师创建,然后基于它合并在下一步中生成的Glibc的c库,以生成另一个编译器。步骤4编译用于配置Glibc和生成Glibc的c库。步骤5将重新配置和编译GCC源代码,并生成其他语言的编译器,如c编译器。51、交叉编译环境的功能、嵌入式系统目标系统上的所有软件编译、调试等都在该环境中运行,包括操作系统内核、引导加载程序、各种库函数、应用程序软件等,如burning writ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 22885-2026皮革色牢度试验耐水色牢度
- 2026秋人教新版(PEP)六年级上册 单元提优测试卷 Unit 1 Amazing places含听力音频听力原文及参考答案
- 2026硕士国企面试题库及答案
- 2026思想宣传面试题目及答案
- 2026四川面试题目及答案
- 2026四川幼专面试题目及答案
- 2026四大演员面试题目及答案
- 超市总结课件
- 超声诊断讲义课件
- 猜数游戏课件
- 2025年公司主要负责人安全培训考试试题及答案(有一套)
- 文学概论讲义
- 河南警察学院引进高层次人才考核办法(试行)
- 医院审方中心工作制度
- 2026年中铝集团校园招聘笔试
- 专科医生如何带教全科医生课件
- 2026年春岭南版(新教材)小学美术二年级下册教学计划及进度表
- 雨课堂学堂在线学堂云《Age of Sustainable Development(SDG Academy)》单元测试考核答案
- 人保财险理赔培训
- 教育培训机构招生销售人员面试问题集
- 雕塑总体施工方案(3篇)
评论
0/150
提交评论