嵌入式系统 - 工具和外设

编译器和汇编器

编译器

编译器是一种计算机程序(或一组程序),它将用一种编程语言(源语言)编写的源代码转换为另一种计算机语言(通常是二进制格式)。转换的最常见原因是创建可执行程序。 "编译器"这个名称主要用于将源代码从高级编程语言转换为低级语言(例如,汇编语言或机器代码)的程序。

交叉编译器

如果编译后的程序可以在与编译器编译程序的计算机具有不同 CPU 或操作系统的计算机上运行,​​则该编译器称为交叉编译器。

反编译器

可以将程序从低级语言转换为高级语言的程序称为反编译器。

语言转换器

翻译用不同高级语言编写的程序的程序通常称为语言翻译器、源到源翻译器或语言转换器。

编译器可能执行以下操作 −

  • 预处理
  • 解析
  • 语义分析(语法制导翻译)
  • 代码生成
  • 代码优化

汇编程序

汇编程序是一种程序,它接受基本的计算机指令(称为汇编语言),并将其转换为计算机处理器可用于执行其基本操作的位模式。汇编程序通过将汇编指令助记符转换为操作码来创建目标代码,将符号名称解析为内存位置。汇编语言使用助记符来表示每个低级机器操作(操作码)。

嵌入式系统中的调试工具

调试是一个有条不紊的过程,用于查找和减少计算机程序或电子硬件中的错误数量,使其按预期工作。当子系统紧密耦合时,调试会很困难,因为一个子系统中的一个小变化可能会在另一个子系统中产生错误。嵌入式系统中使用的调试工具在开发时间和调试功能方面有很大差异。我们将在这里讨论以下调试工具 −

  • 模拟器
  • 微控制器入门套件
  • 仿真器

模拟器

通过在用于代码开发的主机上模拟代码来测试 MCU/系统的代码。模拟器尝试在软件中模拟完整微控制器的行为。

模拟器的功能

模拟器执行以下功能 −

  • 为目标系统定义处理器或处理设备系列及其各种版本。

  • 在执行每个步骤时,使用标签和符号参数监控源代码部分的详细信息。

  • 提供目标系统每个步骤执行的 RAM 和模拟端口的状态。

  • 监控系统响应并确定吞吐量。

  • 提供程序计数器内容与处理器寄存器输出的跟踪。

  • 提供当前命令的详细含义。

  • 监控从键盘输入或从菜单中选择的模拟器命令的详细信息。

  • 支持条件(最多 8 个或 16 个或 32 个条件)和无条件断点。

  • 提供断点和跟踪,它们是重要的测试和调试工具。

  • 有助于同步内部外围设备和延迟。

微控制器入门套件

微控制器入门套件包括 −

  • 硬件板(评估板)
  • 系统内编程器
  • 一些软件工具,如编译器、汇编器、链接器等。
  • 有时,IDE 和代码大小限制了编译器的评估版本。

这些套件相对于模拟器的一大优势是它们实时工作,因此可以轻松验证输入/输出功能。但是,入门套件完全足够,并且是开发简单微控制器项目的最便宜的选择。

模拟器

模拟器是一个硬件套件或一个软件程序,或者可以两者兼而有之,它在另一个计算机系统(主机)中模拟一个计算机系统(客户机)的功能,不同于第一个计算机系统,因此模拟的行为与真实系统(客户机)的行为非常相似。

模拟是指电子设备​​中的计算机程序模拟(模仿)另一个程序或设备的能力。模拟侧重于重新创建原始计算机环境。模拟器能够与数字对象的真实性保持更紧密的联系。模拟器可帮助用户在平台上以与软件在其原始环境中运行类似的方式运行任何类型的应用程序或操作系统。

嵌入式系统中的外围设备

嵌入式系统通过其外围设备与外界通信,例如以下&mins;

  • 串行通信接口 (SCI),如 RS-232、RS-422、RS-485 等。
  • 同步串行通信接口,如 I2C、SPI、SSC 和 ESSI
  • 通用串行总线 (USB)
  • 多媒体卡(SD 卡、Compact Flash 等)
  • 网络,如以太网、LonWorks 等。
  • 现场总线,如 CAN 总线、LIN 总线、PROFIBUS 等。
  • 定时器,如 PLL、捕获/比较和时间处理单元。
  • 离散 IO,又称通用输入/输出 (GPIO)
  • 模拟到数字/数字到模拟 (ADC/DAC)
  • 调试,如 JTAG、ISP、ICSP、BDM 端口、BITP 和 DP9端口

选择微控制器的标准

选择微控制器时,请确保它满足手头的任务并且具有成本效益。我们必须看看 8 位、16 位还是 32 位微控制器能够最好地处理任务的计算需求。此外,在选择微控制器时应牢记以下几点 −

  • 速度 − 微控制器可以支持的最高速度是多少?

  • 封装 − 是 40 针 DIP(双列直插式封装)还是 QFP(四方扁平封装)?这对于空间、组装和最终产品原型设计而言非常重要。

  • 功耗 − 这是电池供电产品的重要标准。

  • 芯片上的 RAM 和 ROM 数量。

  • 芯片上的 I/O 引脚和定时器数量

  • 每单位成本 −这对于使用微控制器的产品的最终成本来说很重要。

此外,请确保您拥有微控制器可用的编译器、调试器和汇编器等工具。最重要的是,您应该从可靠的来源购买微控制器。