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

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

3天内不再提示

如何在多核嵌入式系统上开发软件

时见栖鸦 来源:时见栖鸦 作者:时见栖鸦 2022-07-18 18:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

多核嵌入式系统的软件可能非常复杂。一个经常讨论的主题是如何在每个内核上实现代码,以便最佳地利用它。在这篇简短的文章中,有一个不同的观点:关注可以跨多个内核运行的软件。

多核硬件架构

从硬件的角度来看,多核设备大致有两种类型:同构多核,其中有多个相同类型的内核,以及异构多核,其中内核是不同类型的。异构设备可能包括一些相同的内核。

要跨多个内核运行单个软件,内核必须相同(无论如何从指令集的角度来看)。因此,需要一个同质的多核设备或异构设备中的同质“孤岛”。

对称多处理

构建多核系统的一个原因是以节能的方式最大化计算能力。这是个人电脑设计者采用的方法;多核处理器在笔记本电脑和台式机系统中几乎无处不在。嵌入式开发人员可能有相同的目标。最好的方法是使用支持对称多处理 (SMP) 的操作系统

SMP OS 将进程分布在可用内核上。这通常是自动的,但嵌入式开发人员可能需要进行一些控制,并可能将某些应用程序锁定到特定内核。这些进程并不“知道”它们在不同的内核上运行;操作系统提供它们之间的通信和同步。提供多个实时操作系统 (RTOS) 的 SMP 版本;Linux 还提供 SMP 变体。

管理程序

尽管嵌入式 SMP OS 提供了某种程度的控制,但嵌入式开发人员通常希望确保资源的分配完全符合他们的喜好。因此,另一种选择是为每个内核配置自己的操作系统实例——所有内核不必运行相同的操作系统——和应用程序代码。然后,在所有可以控制其操作(引导顺序等)并提供内核间(或操作系统间)通信的内核上运行管理程序。

为了获得更大的灵活性……

到目前为止,我们通过从系统中的单个 (SMP) 操作系统迁移到多个可能不同的操作系统实例来提高灵活性。但是,如果需要更大的灵活性而需要使用不同架构的内核呢?这消除了跨多个内核运行代码的选项——SMP OS 或管理程序都需要同构多核环境。但是,还有另一种选择:在每个内核上运行一个多核框架(可能是基于 OpenAMP 的产品)。这种方法提供内核间通信和生命周期管理。此外,还可以选择在“裸机”(即没有操作系统)上运行应用程序。

结论

在多核嵌入式系统上开发软件是一项复杂的工作。了解一些选项至关重要——在相对简单性和完全灵活性之间进行权衡。

审核编辑:汤梓红

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

    关注

    41

    文章

    3716

    浏览量

    133117
  • 内核
    +关注

    关注

    4

    文章

    1436

    浏览量

    42508
  • 多核系统
    +关注

    关注

    0

    文章

    11

    浏览量

    7618
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    目前主流开发软件有KEI和ewarm,哪一款软件比较简单适合新手呢?

    目前主流开发软件有KEI和ewarm,哪一款软件比较简单适合新手呢?
    发表于 12-01 08:24

    CW32嵌入式软件开发的必备知识

    全面的测试,确保软件功能的正确性和稳定性。 了解嵌入式系统的可靠性要求,能够进行软件的可靠性测试和验证。 只有全面掌握这些知识并具备持续学习的能力,才能成为一名优秀的
    发表于 11-28 07:48

    嵌入式开发的关键点介绍

    设备和移动设备。因此,嵌入式开发需要考虑系统的功耗,并编写节能的代码以延长系统的使用寿命。 4. 软件集成: 嵌入式
    发表于 11-13 08:12

    RT-Thread 2025嵌入式软件大赛重磅来袭

    顶尖芯片厂商,以及电子发烧友等合作伙伴,为开发者提供展示编程能力与创新思维的顶级舞台。参赛者将基于主流嵌入式平台,实现高效、智能、可靠的软件方案,探索嵌入式
    的头像 发表于 09-20 10:06 1308次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。 2025.1 版嵌入式
    的头像 发表于 08-20 09:15 3645次阅读

    AMD 2025.1版嵌入式软件和工具的新增功能

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。
    的头像 发表于 08-15 15:32 1047次阅读

    嵌入式软件开发常用的软件有哪些?

    文档等非常方便,因为它查找,定位,彩色显示等功能非常强大。开发人员会当成源代码阅读工具使用。 4. Keil uVision5 Keil 5 软件是一款功能强大的嵌入式系统开发工具
    发表于 07-03 17:06

    运行在嵌入式系统的emApps

    在当今快节奏的嵌入式系统世界中,灵活性和适应性是嵌入式系统实现的关键。SEGGER推出了其最新创新:Embedded apps(emApps)应用,类似于手机上的应用程序,可以运行在
    的头像 发表于 06-18 09:53 629次阅读
    运行在<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b><b class='flag-5'>上</b>的emApps

    嵌入式开发入门指南:从零开始学习嵌入式

    (设备驱动、内核编译) 4. 推荐的学习资源书籍:《嵌入式系统软件设计基础》《ARM Cortex-M系列嵌入式开发》在线课程:慕课网、B站嵌入式教学视频实践平台:Arduino、ST
    发表于 05-15 09:29

    嵌入式开发:高门槛的系统性工程与 996 的行业困局

    嵌入式开发的门槛,往往被培训机构和表象所掩盖。许多人误以为 “用 C 语言写个跑在 ARM 的程序” 就是嵌入式,实则连皮毛都未触及。真正的嵌入式开发是硬件与
    的头像 发表于 04-09 11:06 687次阅读
    <b class='flag-5'>嵌入式开发</b>:高门槛的<b class='flag-5'>系统</b>性工程与 996 的行业困局

    嵌入式主板开发详细指南

    嵌入式主板开发涉及硬件设计、软件集成、系统优化等多个环节,需要结合具体应用场景进行深度定制。以下是嵌入式主板
    的头像 发表于 04-02 11:35 942次阅读
    <b class='flag-5'>嵌入式</b>主板<b class='flag-5'>开发</b>详细指南

    嵌入式系统开发圣经【干货】

    内容包括:嵌入式系统的介绍、嵌入式SoC硬件系统概论、嵌入式系统软件开发。适用于产品主管、
    发表于 03-12 13:58

    IAR分析嵌入式系统的市场前景

    作为全球领先的嵌入式系统开发软件解决方案供应商,IAR始终致力于为客户提供高性能与高安全性的开发工具,支持不同行业的嵌入式产品开发
    的头像 发表于 02-26 15:34 905次阅读

    嵌入式机器学习的应用特性与软件开发环境

    设备和智能传感器),这些设备通常具有有限的计算能力、存储空间和功耗。本文将您介绍嵌入式机器学习的应用特性,以及常见的机器学习开发软件开发环境。
    的头像 发表于 01-25 17:05 1226次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与<b class='flag-5'>软件开发</b>环境

    嵌入式开发必备-RK3562演示Linux常用系统查询命令()触觉智能出品

    实用干货!嵌入式开发学习必备-RK3562演示Linux常用系统查询命令()关注触觉智能持续为大家带来更多嵌入式开发内容
    的头像 发表于 12-31 10:51 117次阅读
    <b class='flag-5'>嵌入式开发</b>必备-RK3562演示Linux常用<b class='flag-5'>系统</b>查询命令(<b class='flag-5'>上</b>)触觉智能出品