计算机三级嵌入式学习笔记(五)

第五章-嵌入式系统开发

考纲与考点分析

嵌入式系统的开发

  1. 嵌入式系统的开发过程和工具(开发步骤,交叉开发平台和工具,系统的调试工具等)
  2. 系统开发工具软件(ADS、RVDS的特点与使用,GCC的常用命令与参数)
  3. 以S32410/S3C2440为背景的应用系统开发(硬件接口及部件的综合使用;无操作系统环境下的系统开发;uC/OS-II环境下的系统开发)

考点分析

  • 在考试中一般情况下会出现在选择题和操作题(知识类型为记忆型和理解型结合,记忆型偏多)
  • 常考知识点:
    • 了解嵌入式系统开发过程及开发特点
    • 了解嵌入式系统开发平台的功能与组成
    • 掌握uC/OS操作环境下的嵌入式系统开发

考点1 开发嵌入式系统的基础知识

  • 嵌入式系统与应用目标紧密结合,硬件资源有限

嵌入式系统的开发过程步骤

  • 需求分析与规格说明
    • 把系统需求分析和规格说明分开是很有必要的,将用户对系统的描述转化为系统设计者的描述,从用户需求中整理形成正式的规格说明
    • 用户需求通常包括功能部分非功能部分,非功能部分需求主要指:性能、成本、尺寸、重量、功耗
      image-20210407091801592

    嵌入式系统的开发平台包含大量开发工具,主要有以下几点:

    • 一个面向嵌入式应用的RTOS及其函数库
      • 如嵌入式Linux、WinCE、VxWorks等
      • 用户可根据系统的技术要求和商业要求选择合适的一种
    • 一套程序开发(代码生成)工具
      • 项目管理器、编辑器、编译器、连接器、定位器
      • 用户根据所选用的OS和编程语言(Java、C、C++)来确定要使用的工具,如ARM公司的SDT、ADS、RVDS、GNU GCC等
    • 合适的调试工具
      • 如仿真器、编程器、逻辑分析仪、开发板、评估板等
    • 其他
      • 如包含各种中间件和软件组件的面向不同应用领域的各种应用平台等

    考点3 嵌入式系统的调试

    image-20210407093232267
  • 由于程序调试时不占用目标机的资源,因此目标机的初始启动程序调试、硬件接口的调试,一般都采用JTAG。至于裸机状态的目标机通常都采用JTAG 调试方式
  • JTAG适配器不仅是程序调试的重要工具,也是软件固化的工具。高档的JTAG适配器除了用作调试工具之外,通常都支持多种芯片的烧写功能,且烧写速度较快

3、驻留监控软件调试

  • 早期嵌入式系统的调试方法是使用驻留监控软件,这是一段固化在目标机ROM中的程序,它在目标机中运行。这是一种成本较低的调试方法,它不需要任何其他的硬件调试和仿真设备。如ARM公司的Angle就属于此类软件

Angle调试监控程序的功能

image-20210407094053117
  • 一个工程项目中至少应包含一个生成目标,通常一个生成目标对应着一个可执行的输出文件。ARM提供的可执行输出文件的模板包括了下面3个生成目标
    • Debug生成的输出文件中包含了所有调试信息,用于在开发过程中使用
    • Release生成的输出文件中不包含调试信息,用于生成实际发行的软件
    • DebugRel生成的输出文件中包含了基本的调试信息
  • 设计者要确定连接顺序时,建议采用以下两种方式中的一种
    • 当地址映射关系比较简单时,使用编译、连接选项来确定输入文件的连接顺序
    • 当地址映射关系比较复杂时,使用scatter(分散加载)格式的文件来确定输入文件的连接顺序

2、工程项目的建立

  • 可以从“新建”开始来逐步构建自己的工程项目,也可以借助于一个现成的工程项目模板,通过修改、添加等手段来 建立自己的工程项目
  • 向工程项目中添加现成的已存在的文件时有以下两个方面需要注意
    • 该文件的扩展名必须是文件映射表中所定义的
    • 对于生成目标的输入文件,如C、C++源程序和汇编源程序等,在工程项目中不能重名。而对于头文件,在一个工程项目中则可以存在同名的文件,集成开发工具将搜索相关的路径,取得第一个文件

3、工程项目的配置

  • 一个工程项目建立后,其最终目的是使用工具生成一个能在目标机上运行的输出文件。这个输出文件是通过工程项目所对应的生成目标进行编译连接后生成的二进制文件
    image-20210407103214642

4、连接中的地址映射

image-20210407104742035

2、RVD调试器

RVD调试器是RVDS工具套件中的主要功能模块,拥有一些早期调试器不具备的功能

  • 条件断点
    • 能够建立表达式和断点之间的关联,支持依据表达式的值产生断点
  • 数据断点
    • 根据指定地址单元的访问行为(如读操、写操作)来产生断点,并根据指定地址单元的值来产生断点
  • 芯片I/O端口描述文件
    • RVD调试器采用文件的方式来记录I/O端口寄存器的值
  • 更方便地支持Flash ROM烧写
  • 支持在目标机的程序运行后再使用RVD连接调试
  • 支持多核调试
    • 每个核对应一个窗口,完全可以用单核的调试手段去调试多核中的每一个核

3、Trace和Profile

image-20210407110208919

考点7 Web服务器

1、嵌入式Web服务器与通用Web服务器的差别

  • 两者运行的目标环境不一样
    • 通用Web服务器一般运行在计算资源和内存资源都比较丰富的通用计算机上,而嵌入式Web服务器运行的目标系统大多是各类专用设备上,资源比较缺乏
  • 两者在各自系统中的作用不一样
    • 通用Web服务器主要是利用 服务器向用户提供信息服务,而嵌入式Web服务器嵌入在设备中,其主要作用是控制和管理设备,也向客户提供设备的运行状态信息
  • 两者运行的优先级不一样
    • 嵌入式Web服务器在系统中作为一种监控、管理手段,它不能干扰设备主要任务的运行

2、基于嵌入式Web服务器的应用架构

  • 基于嵌入式Web服务器的应用需求与通用Web服务器的应用需求是不同的,它不是以提供信息服务为主,而是提供一个基于远程客户端的操控方式
  • 即所谓的浏览器/服务器结构(B/S结构)的操控方式,用户在远程的客户机上,通过浏览器与嵌入式Web服务器交互,从而操控被嵌入的设备
  • Web服务器是嵌入在设备中的,通常与设备的控制系统融合为一体,因此称其为嵌入式Web服务器

来源:逃离地狱的恶魔

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月6日
下一篇 2021年3月6日

相关推荐