0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

构建嵌入式解决方案的各种CPU架构的软件注意事项

星星科技指导员 来源:嵌入式计算设计 作者:Jaya Kathuria 2022-10-13 10:02 次阅读

感知、组织、分析、呈现和决策信息需要软件。几十年来,我们一直在使用各种平台以不同级别的能力来执行此任务。现在,我们拥有非常小的设备,这些设备由单节电池运行,具有1990年代后期基于80486的个人计算机的功率,下一个问题是显而易见的 - 软件。有了裸机的实时操作系统(RTOS)和像Linux这样的真实操作系统可供选择,我们将遇到无线电和计算机中探索的类似问题,但从软件的角度来看。

从可扩展的软件架构开始是任何嵌入式应用所必需的。在最终确定嵌入式应用程序的编程体系结构之前,必须考虑将来可能调用的增强软件。许多工程师认为这是事后的想法,因为他们习惯于在操作系统之上编写代码。

另一个重要的考虑因素是成本。随着系统功能的增加,对更快的处理器、更多的代码内存和 RAM 的需求也在增加。下面的图 1 显示了嵌入式系统的典型功能与成本关系图,尽管在可能的硬件选择方面,不同层之间的界限是模糊的:

pYYBAGNHcfqAVKiQAAEC0-aoI1I531.png

在以下情况下,首选裸机编程:

该应用程序很简单,可以在低端处理器上实现。

应用程序需要提取每个周期的CPU功率,并且操作系统引入的开销是不可接受的。

安全性和安全性与硬件密切相关,其中系统按照确切的期望执行和运行,并且系统一直处于这种状态。

硬件成本受到限制,并且需要出色的效率。

许多嵌入式应用程序是无限循环,其中它们执行一个任务,然后执行另一个任务,依此类推,重复相同的功能。这些任务中的大多数都是相互依赖的。裸机编程对于代码应该是可预测的、可理解的、并且应该易于调试的情况并不理想。拥有调度程序使嵌入式工程师的生活更加简单 - 每个软件模块都可以独立设计,然后使用调度程序的帮助与其他软件模块链接和调度。因此,随着代码复杂性的增加以及系统需要功能强大的微处理器/微控制器,RTOS是首选。当MCU集成更多内存和外设时,实时操作系统成为必需品。复杂的物联网应用可能需要更多的中断源、更多的功能和更多的标准通信接口——主要是无线。在如此复杂的解决方案中可能需要RTOS。

实时操作系统可以充分利用功能丰富的MCU,特别是当提供中间件可以处理复杂任务时,否则将需要真正的操作系统。但是,在软件方面,有许多不重叠的复杂性和功能领域。具有添加中间件的RTOS可以接近通用操作系统的功能。例如,中间件可以添加文件系统、网络、图形和复杂输入支持等功能,尽管与本地支持这些功能的真正操作系统相比,需要增加开发工作。一些远程操作系统甚至支持 POSIX API,这些 API 可以在一定程度上重用来自 Linux/Unix 应用程序的代码。

但是,当应用程序复杂性增加到超过特定限制时,通用嵌入式操作系统就会显现出来。这时,处理器会说:“给我一个MMU,我就可以解决你所有的问题。由于其代码大小和主存储器要求,昂贵的SRAM和NOR存储器变得不切实际。大多数嵌入式版本的通用操作系统需要至少 16-32 MB 的主内存和 64+MB 的代码存储才能正常运行。幸运的是,应用处理器和通用操作系统能够处理更便宜、更慢的存储器,如DRAM和NAND闪存。

当您迁移到嵌入式通用操作系统时,您不会丢失“实时功能”。它们能够以略高的延迟级别运行实时应用程序,具有不同级别的确定性(“软实时”)。但大多数应用程序不需要“硬实时”功能。在嵌入式操作系统上运行的经过良好验证的应用程序可以像在中间件的帮助下在RTOS上运行的类似应用程序一样防弹和确定性。

由于持续的硅扩展以及大量工程师对合适的操作系统更满意,应用处理器和内存的成本每年都在降低,许多本来会使用RTOS的应用程序现在发现应用处理器+适当的操作系统组合具有成本效益,并且还缩短了上市时间。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5017

    文章

    18496

    浏览量

    293169
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10543

    浏览量

    207638
  • RTOS
    +关注

    关注

    20

    文章

    782

    浏览量

    118920
收藏 人收藏

    评论

    相关推荐

    嵌入式软件开发应该掌握哪些知识?

    嵌入式软件开发应该掌握哪些知识? 一、 什么是嵌入式软件嵌入式软件通常是指
    发表于 02-19 11:23

    芯片金线包封胶的使用注意事项是什么?

    芯片金线包封胶的使用注意事项是什么?金线包封胶是一种高性能、高粘度的密封胶,广泛应用于电子、电器、汽车等领域。它具有良好的防水、防潮、防震等性能,能够保护产品内部零件不受环境影响,提高产品的使用寿命
    的头像 发表于 01-05 11:29 571次阅读
    芯片金线包封胶的使用<b class='flag-5'>注意事项</b>是什么?

    霍尔元件使用的注意事项

    霍尔元件使用的注意事项  霍尔元件是一种常见的电子元件,主要用于测量和检测磁场的变化。它具有灵敏度高、响应速度快、耐磁场干扰等优点,在各种应用中得到广泛使用。然而,为了确保霍尔元件的正常工作和延长
    的头像 发表于 12-18 14:56 778次阅读

    电流互感器的使用注意事项

    当谈到电流互感器的使用时,有一些重要的注意事项需要我们牢记。在本文中,我们将探讨这些注意事项,为您提供详细和全面的信息。
    的头像 发表于 12-15 10:34 800次阅读
    电流互感器的使用<b class='flag-5'>注意事项</b>

    嵌入式硬件和软件哪个好?

    方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉ARM、protel设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师需具备
    发表于 12-05 15:17

    嵌入式软件的问题分析

    是基础,充分考虑和预测未来的业务扩展,根据业务的扩展性来设计软件的扩展性。如果可预见未来没有扩展重大新业务的需求,那么相应的软件架构就没有必要采用高扩展的软件
    发表于 11-17 09:29

    CPU翻转IO口注意事项

    CPU翻转IO口注意事项编写代码利用CPU 去翻转IO 口,模拟PWM 输出,但是第一个波形的频率会不准?
    发表于 10-23 07:13

    中8位MCU EEPROM使用注意事项

    中颖8位MCU EEPROM使用注意事项
    的头像 发表于 09-27 15:34 668次阅读
    中8位MCU EEPROM使用<b class='flag-5'>注意事项</b>

    嵌入式软件好还是硬件好?

    架构,有一定的C语言基础,熟悉ARM、PROTEL设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师需具备以下技能:由需求分析至总体方案、详细设计的规划能力;熟练运用设计工具
    发表于 09-18 15:31

    维谛通信电源NetSure731A61-S4安全注意事项

    在开始操作之前,请仔细阅读操作指示、注意事项,以减少意外的发生。产品及产品手册中的“小心、注意、警告、危险”事项,并不代表所应遵守的所有安全事项,只作为
    的头像 发表于 09-01 16:27 840次阅读
    维谛通信电源NetSure731A61-S4安全<b class='flag-5'>注意事项</b>

    大型LITTLE系统电源管理的高级注意事项

    电源管理很重要,而且已经变得越来越复杂。 该应用笔记提供了有关Big.LITTLE系统电源管理的高级注意事项,旨在帮助您避免Big.LITTLE设计中的一些潜在问题。 有关电源管理的更全面实施注意事项,请参阅ARM®电源控制系统架构
    发表于 08-30 07:40

    ARM定制指令的设计注意事项和决策

    ARM®定制指令于2019年10月发布,现已在Cortex-M33和Cortex-M55处理器中提供。 在本文中,我们回顾了创建此架构扩展时的一些设计注意事项和决策,SoC设计人员部署基于此技术
    发表于 08-23 06:39

    安全光栅选择注意事项

    安全光栅选择注意事项
    的头像 发表于 07-14 10:24 675次阅读
    安全光栅选择<b class='flag-5'>注意事项</b>

    使用注意事项

    使用注意事项
    发表于 07-07 19:04 0次下载
    使用<b class='flag-5'>注意事项</b>

    安全光幕选型方法以及注意事项

    安全光幕选型方法以及注意事项
    的头像 发表于 07-06 13:59 588次阅读
    安全光幕选型方法以及<b class='flag-5'>注意事项</b>