嵌入式系统开发专家必备的五大资源!

发表时间: 2024-06-08 12:00

本文介绍了在嵌入式系统开发过程中评估板、开发板以及实时操作系统的选择要点。文章还提及了扩充板和模块系统,这些工具能够提升开发效率和扩充功能。文章重点讨论了实时操作系统的选择要素,介绍了两个热门的实时操作系统:Zephyr和FreeRTOS,并比较了它们的优缺点。

当您确定了嵌入式系统的指令集架构之后,便可以开始选择与该指令集架构相对应的评估板、开发板,并选择合适的实时操作系统(RTOS)来展开系统的开发工作。本文将为您介绍评估板、开发板与实时操作系统的特性与选择的考虑要素。


加快新产品开发速度的评估板与开发板

在展开任何新产品的开发时,工程师会先开始思考系统的原型制作、功能改进和生产设计等阶段,为了帮助设计师完成此设计过程,便有一系列可供实验、开发和生产使用的电路板,来协助工程师进行开发工作。

电子产品设计中的评估板(Evaluation Board)和开发板(Development Board)是两个常见的工具,用于协助工程师评估和开发新的电子产品。此外,还有扩充板与模块系统(SoM)可用于提升开发的效率与扩充功能。

在电子产品设计的过程中,评估板和开发板可以一起使用,评估板用于快速评估硬件性能,而开发板则用于进行软件开发和集成,这样的组合有助于加快产品上市的速度,同时提高总体设计的可靠性和效能。


评估板

评估板是用于进行第一个原型或进行实验时采用的电路板,是供工程师评估特定芯片或器件性能的硬件平台,评估板上会有重点关注的相关芯片的基本电路,以及具有形成可执行电路所需的最少数量器件。

工程师可以使用评估板来快速评估目标器件的性能、测试其功能,并了解如何集成这些器件到最终的电子产品中其设计虽然简单,但它们的面积通常会较大,可以提供空间来划分芯片的每条线路,从而使设计人员能够准确挑选启用或连接的电路。评估板通常提供了一个友好的接口,以方便工程师进行实验和评估。


Sparkfun开发板

开发板

开发板是用于原型开发和软件编写的硬件平台,通常会将正在试验的芯片与所有外部通信线路断开,以便于存取可用的接口和程序选项。电源由板上稳压器或其他功率器件控制,使开发人员能够专注于试验核心芯片功能,而不是其他的支持电路。开发板通常包含目标处理器、内存、端口和其他必要的硬件,使开发人员能够进行软件开发、测试和调试。

最受欢迎的开发板系列通常在制造商或产品线之间具有一定的交互兼容性,以便扩充板可以在多个设备上重复使用。Arduino系列就是这样的例子,其插头/插座的排列规范,已经成为许多开发板的标准。

Arduino开发板


扩充板

在大多数情况下,为了轻松集成传感器、显示器、电机驱动器或其他芯片,大多数制造商已经将外部芯片和所需器件放置在兼容的即插即用板上,称为扩充板。扩充板可以简单地安装在开发板的顶部,并提供可供下载的开发环境软件库。

Microchip的模块系统

模块系统

除了评估板与开发板之外,还有一种模块系统(SoM)是用于将项目从工作台转移到生产线的最后一步。SoM是电路板最重要的部分,被压缩到尽可能小的空间中,将可非常方便的直接集成到应用电路板上。

通常,SoM的占地面积非常小,最大的总体面积通常只有几平方英寸,并由表面贴装器件制成,大多数SoM都有一个开发平台,将SoM直接放置在分线板上,以供大规模使用和实验。


可以按需求选择的多样化扩充板

扩充板用于扩充系统的功能,通常这些扩充板会有一个系列名称或主题功能来将它们与主板联系起来,这里列出一些最受欢迎的开发板系列和扩充板的一小部分清单。

Arduino 是一个开源电子原型平台,用于简化硬件和软件的原型开发。其扩充板有常规UNO R3格式或更大的MEGA R3格式,Arduino R3电路板布局已成为事实上的标准,许多公司和第三方制造商都使用相同的标准格式来生产电路板。

Beaglebone是一款由德州仪器与DigiKey和Newark element14合作生产的低能耗开源的单片机(Single Board Computer, SBC)。它也是为运行开源软件而构建的一个系统,其主板是以开源硬件/软件能力为导向而设计。

Raspberry Pi 是一种廉价、小型、高性能的单片机,由英国的Raspberry Pi基金会开发。其HAT(Hardware Attached on Top)这个实体扩充模块可能有较旧的26引脚变体或较新的40引脚变体。pHAT(部分式HAT)是一种变体,旨在匹配Raspberry Pi Zero和Zero W板的形式。

Feather 是Adafruit Feather开发的一个开源硬件平台,用于制作轻量、小型的嵌入式系统和可积木化的电子原型。其开发板系统的附加板和扩展板,允许添加原型、传感和电机控制、有线和无线连接选项、音频和显示,旨在提供灵活、可扩展和易于使用的解决方案。

STM32 Nucleo由 STMicroelectronics推出的一个开发板平台,旨在简化STM32微控制器的原型开发和应用开发。这些扩充板允许为基本STM32 Nucleo板新增附加功能,可以添加的功能包括传感、控制、连接、电源和音频。

MikroE 的Click板(mikroBUS™ Click™)是MikroE的扩充板系列,具有超过1000种不同的选项,在添加传感器、通信、显示和数据存储时,可提供无可比拟的设计选择和速度。为了节省电路板更多空间,MikroE ShuttleClick Ribbon电缆系统允许将最多四个不同的Click板添加到相同数据总线上。

MicroMod 是一个由SparkFun Electronics推出的模块化嵌入式平台,旨在简化和加速嵌入式系统的原型开发,其中核心模块包含主要的处理器和基本外设,而功能扩展模块(Carrier Boards)则提供了额外的外设和连接选项,包含处理器、通信和传感器均可轻易的连接。

DigiKey的扩充板会根据功能进行分类,您通常可以在 附件(开发板、套件、编程器)以及评估板、扩充板、子卡 中找到这些电路板。具有无线通信功能的扩充板也可以在射频评估和开发工具包、电路板页面中找到。

NL-AB-BBCL扩充板

PRUCAPE扩充板

103030035扩充板


实时操作系统满足计算资源有限系统的需求

实时操作系统(RTOS)是一种小型轻量级操作系统,通常设计为在计算资源有限的小型嵌入式系统上运行,是专门设计用于满足实时系统要求的操作系统。RTOS对任务的响应时间非常敏感,需要在规定的时间内完成任务的处理,因此RTOS被广泛应用于需要高度可靠性和确定性的领域,如航空航天、医疗设备、工业控制、汽车电子系统等。

RTOS注重任务的实时性,确保任务在规定的时间内完成,并要求能够提供任务执行的可预测性,即任务完成的时间可以在一定范围内被预测。RTOS使用一种特殊的调度算法,确保高优先级的任务能够在规定的时间内得到执行。由于实时系统需要对外部事件作出快速响应,RTOS通常具有高效率的中断处理机制

RTOS会提供有效的资源管理机制,确保各个任务能够按照优先级和时间要求存取系统资源,包括共享内存、设备存取等。由于实时系统通常应用于嵌入式系统和资源受限的环境,因此RTOS通常具有可裁剪性,可以根据应用需求进行精简。

一些知名的RTOS包括FreeRTOS、Zephyr、VxWorks、RTOS-32、QNX等。选择适当的RTOS取决于具体应用的需求,例如实时性要求、系统资源限制、开发成本、系统的复杂性,以及可用的硬件资源等。


免费开源的Zephyr与FreeRTOS实时操作系统

ZephyrFreeRTOS 是目前最热门的RTOS选择,两者均是完全开源的系统,专为嵌入式系统和物联网(IoT)设备所设计。Zephyr是由Linux基金会所支持,采用Apache License 2.0许可,FreeRTOS则是采用MIT许可,这使得开发者可以免费获取、自由查看、修改和分发原始码。Zephyr与FreeRTOS均支持多种处理器架构,Zephyr支持ARM、x86、RISC-V等,FreeRTOS则支持ARM、MIPS、RISC-V等,使其可以在不同的硬件平台上运行,适用于各种不同类型的嵌入式系统和IoT设备。

相较之下,Zephyr RTOS支持较为完整的网络协议栈,内置了完整的TCP/IP网络协议栈,是方便实现网络连接的嵌入式系统。Zephyr注重安全性,提供了安全相关的特性,如TrustZone支持、加密库等,满足对物联网设备的安全需求,并提供了丰富的外设和驱动支持,包括传感器、通信总线等,使其更容易与各种硬件和外设设备集成。

不过由于Zephyr RTOS的功能较为丰富,Zephyr可能对初学者具有一定难度的学习曲线,且相较于一些轻量级RTOS,Zephyr的内核可能相对较大,可能不适用于资源极为有限的系统。

相关的Zephyr实时操作系统包括SparkFun WRL-17354NXP MIMXRT1060-EVKBNordic半导体THINGY53Raspberry Pi SC0915,Zephyr RTOS相容板的完整列表:https://docs.zephyrproject.org/latest/boards/index.html

FreeRTOS的设计注重轻量级,适用于资源受限的嵌入式系统,具有较小的存储空间和内存占用。FreeRTOS拥有广泛的硬件支持,可以运行在多种处理器架构上,使其在不同的硬件平台上具有通用性。FreeRTOS拥有庞大的群落支持,丰富的文件、示例程序代码和论坛资源,使得开发者能够轻松入手并解决问题。

不过,相对于Zephyr,FreeRTOS的网络支持相对较为有限,可能需要额外的工作来实现复杂的网络连接,且对于一些对功能要求较为复杂的应用,FreeRTOS可能在一些高级功能上不如一些更为全面的RTOS。

相关的FreeRTOS还包括STMicroelectronics NUCLEO-L476RG、Microchip Technology DM320003-3、Infineon KITXMC13BOOT001TOBO1,完整的FreeRTOS兼容产品线列表:https://www.freertos.org/RTOS_ports.html

选择使用Zephyr还是FreeRTOS取决于具体的应用需求、硬件平台以及开发者的经验和偏好。如果对网络支持、安全性和多架构支持有较高要求,Zephyr可能是更好的选择。如果注重轻量级、广泛硬件支持和简单的学习曲线,FreeRTOS可能更适合一些资源有限的应用。


实时操作系统

优点

缺点

选择建议

Zephyr

多架构支持,具有完整的网络协议栈,提供安全性功能与外设和驱动支持。

学习曲线较陡峭,具有相对较大的内核。

适合对网络支持、安全性和多架构支持有较高要求的应用。

FreeRTOS

轻量级内核,具有广泛的硬件支持和成熟的群落和生态系统。

网络支持较为有限,相对简化的功能。

轻量级与较轻易的学习曲线,适合一些资源有限的应用。


结语

嵌入式系统与微控制器的开发过程中需要通过评估板、开发板的协助来加快产品的开发速度,选择合适的实时操作系统也是系统开发过程的要素。DigiKey提供了多种评估板与开发板供客户选择,并提供实时操作系统的支持,设计师可以到DigiKey的应用与技术网页参考更详细的信息,若有更多需求,也可与DigiKey联系以获得更多详细的信息。


更多相关技术前沿与精选内容:

  • 实现一个健壮的微控制器到 FPGA SPI 接口: 第1部分 - FPGA 的挑战 「链接」
  • 实现稳健的微控制器到 FPGA SPI 接口: 第2部分 - 协议定义 「链接」
  • 实现一个鲁棒的微控制器到 FPGA SPI 接口: 第3部分 - FPGA 顶层模块 「链接」
  • 利用非对称多核RISC-V SoC FPGA实现AI边缘计算,保姆级攻略在此!「链接」
  • First-Word Fall-Through(FWFT)读取操作 「链接」
  • 开发工具包限制—如何确定兼容性 「链接」
  • 现场可编程门阵列( FPGA )- Microchip 完全向下兼容 「链接」
  • [教程视频] FPGA精益大学堂 | FPGA 简介与定位 「链接」
  • [教程视频] FPGA精益大学堂 | 教授亲讲三个应用示例,让你爱上FPGA!「链接」
  • [教程视频] FPGA精益大学堂 | 教授亲讲: 玩转FPGA,从这几个有趣的用例开始 「链接」


精选产品

Microchip

ATSAMA5D27-SOM1

SparkFun Electronics

DEV-16771

Arduino

ABX00033

Arduino

A000005

Seeed

102010027

BeagleBoard

102110420

GHI Electronics

BBB01-SC-505

Octavo Systems

OSD3358-SM-RED

Raspberry Pi

SC0915

STMicroelectronics

NUCLEO-F401RE


小编的话

嵌入式系统开发资源的选择和利用可以显著提升开发效率,降低成本,优化资源,加速产品上市,并确保产品质量,从而为开发者和企业带来巨大的价值。这篇文章不仅是知识分享,也是一个实用的资源指南,相信能够为大家正在进行的工作提供有效的帮助。您在嵌入式系统开发过程中,对开发工具的使用有哪些心得或疑问?您最关心的问题是什么?欢迎留言,分享交流!