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

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

3天内不再提示

浅述虚拟系统原型简化嵌入式多内核设计

电子工程师 来源:Jeff Roane 作者:Jeff Roane 2021-04-16 15:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

自从微处理器面世以来就有了嵌入式系统设计。现代嵌入式系统与以往不同的地方在于,极端的运算要求需要使用多个CPUDSP内核、数十甚至上百个外设和硬件加速模块,以及多级存储器结构,并且所有这些都要通过复杂的多级总线和交叉总线相连。同时,嵌入式系统的软件规模也在呈指数上升。

提高嵌入式设计质量和产能的一个方法,就是采用虚拟系统原型(VSP)。VSP是一种周期、寄存器和时序都十分精确的系统级快速软件仿真模型。“编辑-编译-执行-调试”周期的时间与在实际硬件中相当。一旦确定了最优架构,胜人一筹的VSP就能成为系统的可操作规范(黄金版参考设计)。硬件设计成员立即就能开始具体的硬件设计,而软件开发人员也可以利用VSP连接和开发剩余的系统软件。

以下是给那些准备采用这种极具建设性的设计方法的工程师所提供的一些建议。

应该尽早使用VSP量化架构性能。多处理器架构要求重点关注总线和存储器系统架构。全面测试有助于确定总线架构的瓶颈。如果不解决瓶颈问题,那么可能会引起资源冲突,甚至导致系统瘫痪和进程处于“饥饿”状态。

测试候选架构性能,并与实际或具有代表性的应用软件进行对比。这种方法可以避免不确定因素以及与估计方法有关的错误,并且更容易构建。

使用VSP来捕捉以可执行规范形式表示的意图,从而推进实现和验证。在明确描述系统操作方面,一个全面开发的VSP要比书面规范更加高效。

使用周期精确模型。这种描述会带来更少的限制:它们可以用于时序重要的高度反应系统,并可以与实现验证结合使用。

在整个设计过程中对VSP进行维护,当发生以实现为主导的架构调整时,对VSP进行更新和重新发布。VSP可以用于调试在实际系统生成很长时间后发生的系统问题。

将VSP用于软件开发。具有足够性能的VSP不仅可以用于早期的设备驱动创建,也能用于中间件和最终应用的开发。提前开发和测试应用软件可以在实现完成前就发现缺陷,从而节省开发成本。

不应该在开始软件开发和系统级测试之前等待硬件开发。与传统基于硬件原型的设计方法相比,VSP可以帮助用户提前一年开始软件的开发。

等待最终应用开发完成后开始应用层性能测试。对具有代表性的应用进行测试总比什么都不做好。

尽可能发掘功能唯一模型的作用。功能唯一的模型不能精确地处理总线时序和处理器运行的异常情况。总线带宽会影响程序访问对系统性能有重要影响的指令和数据资源。

继续更适合实现而不是仿真的建模实践。把重点放在最重要的方面。例如,考虑用于描述可综合RTL描述的建模类型。因为其主要目的是综合,因此不需要用很多复杂冗长的描述来如实地反映周期精确功能。过多的描述反而会降低仿真的速度。

使用由快速功能性模型和慢但精确的模型组成的混合建模方法。当设计要经历多个工程更改时(会花费相当多时间和资源),要使多个模型在功能上保持同步。另外,慢但精确的模型缺乏足够的速度进行关键时序的全面测试。两种模型分开使用的解决方案更简单也更具建设性。

对不充足的性能感到满足。速度当然是越快越好,但是同时要注意软件开发会要求性能达到数十Mips。通常,必须使用数十亿的时钟才能充分开发软件。

编辑:jq

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

    关注

    68

    文章

    20149

    浏览量

    247189
  • 嵌入式
    +关注

    关注

    5186

    文章

    20151

    浏览量

    328885
  • 寄存器
    +关注

    关注

    31

    文章

    5589

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ARM嵌入式这样学

    内核就是ARM内核,它的主频高很多,普通的都有几百M。CPU缓存大,分有很多级的流水处理线,这样大大提高了CPU利用率。这种IC的资源足以让一个嵌入式操作系统正常跑起来,WINCE,
    发表于 12-04 07:48

    嵌入式系统的定义和应用领域

    嵌入式系统,简而言之,就是一种专为特定设备或装置设计的计算机系统。它们通常配备一个嵌入式处理器,其控制程序被存储在ROM中。这些系统在许多日
    发表于 11-17 06:49

    嵌入式实时操作系统的特点

    实时嵌入式操作系统(Real-Time Embedded Operating System)是专门设计用于嵌入式系统的实时操作系统
    发表于 11-13 06:30

    嵌入式需要掌握哪些核心技能?

    )。 企业需求:招聘岗位中,C语言是100%必备技能,C++和汇编语言的需求随项目复杂度提升。 2)嵌入式硬件架构 主流平台:ARM Cortex-M/A系列、RISC-V内核,需掌握寄存器配置、时钟
    发表于 10-21 16:25

    入行嵌入式应该怎么准备?

    任务调度的代码是非常重要的。此外,了解操作系统内核的工作原理以及与硬件交互的方式也是必须的。 四、通信协议嵌入式系统通常需要与其他设备或系统
    发表于 08-06 10:34

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式在多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将Linux操作系统运行在
    发表于 06-20 09:46

    运行在嵌入式系统上的emApps

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

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

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

    基于RISC-V内核嵌入式系统在机器人关节控制中的应用研究

    摘要 随着机器人技术的飞速发展,关节控制作为机器人系统中的关键环节,对机器人的性能和稳定性起着至关重要的作用。传统的关节控制采用基于ARM或DSP的嵌入式系统,但RISC-V架构的兴
    的头像 发表于 04-13 00:00 1254次阅读

    嵌入式软件单元测试的必要性、核心方法及工具深度解析

    嵌入式系统一旦部署后修复成本极高,单元测试是防止致命缺陷流入终端的核心防线。 ‌硬件依赖的测试困境‌ 传统开发流程中,70% 的测试需等待硬件原型就绪后才能开展,导致项目周期冗长。单元测试通过‌
    的头像 发表于 03-21 14:53 961次阅读

    Python在嵌入式系统中的应用场景

    你想把你的职业生涯提升到一个新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的库和快速的开发周期,这使得它在某些
    的头像 发表于 03-19 14:10 1195次阅读

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

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

    嵌入式主板的概述与发展

    随着科技的迅猛发展,嵌入式系统在现代电子产品中扮演着越来越重要的角色。嵌入式主板作为嵌入式系统的核心组件之一,承担着控制、处理和通讯等多种功
    的头像 发表于 01-13 16:30 1185次阅读
    <b class='flag-5'>嵌入式</b>主板的概述与发展

    什么是嵌入式人工智能

    嵌入式人工智能是指将人工智能技术应用于嵌入式系统中的一种技术。嵌入式系统嵌入到其他设备或
    的头像 发表于 12-11 09:23 1520次阅读
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所控制的设备
    的头像 发表于 12-09 09:38 1469次阅读