嵌入式系统 - 工具和外围设备
编译器和汇编器
编译器
编译器是一种计算机程序(或一组程序),它将用一种编程语言(源语言)编写的源代码转换为另一种计算机语言(通常是二进制格式)。转换的最常见原因是创建可执行程序。“编译器”这个名称主要用于将源代码从高级编程语言翻译为低级语言(例如汇编语言或机器代码)的程序。
交叉编译器
如果编译后的程序可以在具有与编译器编译该程序的计算机不同的CPU或操作系统的计算机上运行,则该编译器被称为交叉编译器。
反编译器
能够将程序从低级语言翻译成高级语言的程序称为反编译器。
语言转换器
翻译用不同高级语言编写的程序的程序通常称为语言翻译器、源到源翻译器或语言转换器。
编译器可能会执行以下操作 -
- 预处理
- 解析
- 语义分析(语法指导翻译)
- 代码生成
- 代码优化
装配工
汇编程序是一种程序,它采用基本的计算机指令(称为汇编语言)并将其转换为计算机处理器可以用来执行其基本操作的位模式。汇编器通过将汇编指令助记符转换为操作码,将符号名称解析为内存位置来创建目标代码。汇编语言使用助记符来表示每个低级机器操作(操作码)。
嵌入式系统中的调试工具
调试是一个有条不紊的过程,旨在发现并减少计算机程序或电子硬件中的错误数量,使其按预期工作。当子系统紧密耦合时,调试会很困难,因为一个子系统中的微小更改可能会在另一个子系统中产生错误。嵌入式系统中使用的调试工具在开发时间和调试功能方面差异很大。我们将在这里讨论以下调试工具 -
- 模拟器
- 微控制器入门套件
- 模拟器
模拟器
通过在用于代码开发的主机上进行模拟来测试 MCU/系统的代码。模拟器尝试用软件对整个微控制器的Behave进行建模。
模拟器的功能
模拟器执行以下功能 -
定义处理器或处理设备系列及其针对目标系统的各种版本。
随着每个步骤的执行,使用标签和符号参数监视源代码部分的详细信息。
为每个单步执行提供目标系统的 RAM 和模拟端口的状态。
监视系统响应并确定吞吐量。
提供程序计数器内容与处理器寄存器的输出的跟踪。
提供当前命令的详细含义。
监视从键盘输入或从菜单中选择的模拟器命令的详细信息。
支持条件(最多8个或16个或32个条件)和无条件断点。
提供断点和跟踪,是重要的测试和调试工具。
有助于同步内部外设和延迟。
微控制器入门套件
微控制器入门套件包括 -
- 硬件板(评估板)
- 系统内编程器
- 一些软件工具,如编译器、汇编器、链接器等。
- 有时,IDE 和代码大小会限制编译器的评估版本。
与模拟器相比,这些套件的一大优势是它们可以实时工作,因此可以轻松进行输入/输出功能验证。然而,入门套件对于开发简单的微控制器项目来说是完全足够的,也是最便宜的选择。
模拟器
模拟器是一个硬件套件或软件程序,或者可以两者兼有,它在另一个计算机系统(主机)中模拟一个计算机系统(客户)的功能,与第一个计算机系统不同,因此模拟的Behave与实际Behave非常相似真实系统(来宾)的。
仿真是指电子设备中的计算机程序仿真(模仿)另一个程序或设备的能力。仿真侧重于重新创建原始计算机环境。模拟器能够与数字对象的真实性保持更紧密的联系。模拟器可以帮助用户在平台上的任何类型的应用程序或操作系统上工作,就像软件在其原始环境中运行一样。
嵌入式系统中的外围设备
嵌入式系统通过其外设与外界进行通信,例如以下&mins;
- 串行通信接口 (SCI),如 RS-232、RS-422、RS-485 等。
- 同步串行通信接口,如 I2C、SPI、SSC 和 ESSI
- 通用串行总线 (USB)
- 多媒体卡(SD 卡、CF 卡等)
- 以太网、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 引脚和定时器的数量。
每单位成本- 这对于使用微控制器的产品的最终成本而言非常重要。
此外,请确保您拥有微控制器可用的编译器、调试器和汇编器等工具。最重要的是,您应该从可靠的来源购买微控制器。