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

    文章

    20380

    浏览量

    255625
  • 嵌入式
    +关注

    关注

    5212

    文章

    20767

    浏览量

    338817
  • 寄存器
    +关注

    关注

    31

    文章

    5624

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式以太网原型开发套件:探索嵌入式系统编程的理想选择

    嵌入式以太网原型开发套件:探索嵌入式系统编程的理想选择 在电子工程师的日常工作中,拥有一套功能完备、易于使用的开发套件对于项目的开展至关重要。今天,我们就来详细介绍一款
    的头像 发表于 05-13 13:50 133次阅读

    如何成为一名高薪嵌入式工程师?

    嵌入式开发属于软硬件综合类技术岗,软硬件技术均需要具备。 行业缺口大,人才需求,但也要专科起步;适合30+人群转行学习。学嵌入式不难,难的是自主学习能力和实际解决问题的能力,只要能坚持,从0到1
    发表于 04-09 09:03

    QNX Hypervisor 8.0 for Safety嵌入式虚拟化平台正式发布

    BlackBerry有限公司(纽约证券交易所代码:BB;多伦证券交易所代码:BB)旗下业务部门QNX宣布QNX Hypervisor 8.0 for Safety正式发布。这是QNX新一代经安全认证的嵌入式虚拟化平台,专为功能
    的头像 发表于 03-16 10:40 457次阅读

    知识分享-嵌入式系统可靠性模型

    嵌入式系统可靠性设计技术及案例解析1.3嵌入式系统可靠性模型嵌入式系统可靠性模型分为两种:串联结
    的头像 发表于 03-11 16:43 492次阅读
    知识分享-<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>可靠性模型

    什么是嵌入式应用开发?

    概述 所谓的嵌入式应用开发就是在嵌入式操作系统下进行开发、软硬件综合开发 ‌嵌入式应用开发‌是指在嵌入式操作
    发表于 01-12 16:13

    嵌入式系统应用热门的原因主要有几个方面

    1. 系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的
    发表于 01-08 06:37

    从小白到大牛:Linux嵌入式系统开发的完整指南

    编写简单的 Shell 脚本(如自动备份文件、批量编译程序)巩固技能。​ 二、能力进阶:攻克核心技术模块​ 入门后需聚焦嵌入式 Linux 的核心技术栈,分模块突破,形成系统化能力:​ 内核与驱动
    发表于 12-16 10:42

    系统嵌入式的学习路线

    ,供各位嵌入式初学者参考,希望对大家有所帮助。嵌入式工程师需要掌握的内容非常广泛,主要包括嵌入式软件、嵌入式硬件、以及相关行业、产品的专业知识。作为
    发表于 12-16 07:49

    什么是嵌入式操作系统

    要理解嵌入式操作系统(Embedded Operating System,简称 RTOS/EOS),我们可以从本质定义→核心区别→实际作用→典型特征→嵌入式开发场景适配,五个维度来拆解, 一
    发表于 12-09 10:33

    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

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

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

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

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

    运行在嵌入式系统上的emApps

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