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

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

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Jaya Kathuria 2022-11-30 17:14 次阅读

信息的感知、组织、分析、呈现和决策需要软件。几十年来,我们一直在使用各种平台以不同的功能级别执行此操作。现在,我们已经有了由单节电池运行的极小设备,其功率从 1990 年代后期开始基于 80486 的个人计算机,下一个问题很明显——软件。有了裸机、实时操作系统RTOS)和真正的操作系统(如Linux)可供选择,我们将遇到在Radio和Computer中探索的类似问题,但从软件的角度来看。

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

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

pYYBAGOHHv2AOcAlAAEr6hxRFic464.png

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

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

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

安全性和安全性与硬件密切相关,在这些硬件中,系统按照确切的期望执行和运行,并且系统一直一直以这种方式运行。

硬件成本存在限制,需要出色的效率。

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

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

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

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

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

审核编辑:郭婷

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

    关注

    68

    文章

    18261

    浏览量

    222094
  • 嵌入式
    +关注

    关注

    4981

    文章

    18274

    浏览量

    288351
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10437

    浏览量

    206527
  • 操作系统
    +关注

    关注

    37

    文章

    6280

    浏览量

    121869
  • RTOS
    +关注

    关注

    20

    文章

    775

    浏览量

    118783
收藏 人收藏

    评论

    相关推荐

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

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

    霍尔元件使用的注意事项

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

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

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

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

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

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

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

    使用注意事项

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

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

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

    如何构建我自己的嵌入式C编译器?

    只是为了获得如何构建我自己的嵌入式 C 编译器的知识,如预处理、汇编、链接器、生成 Hex 文件、elf 文件、映射文件。 任何有用的链接可用? 我是嵌入式软件工程师,并且具有 c 编
    发表于 06-08 08:10