当前位置: 首页 > news >正文

嵌入式开发:硬件和软件越来越接近

  从前,硬件和软件工程师大多生活在自己的世界里。硬件团队设计了芯片,调试了从铸造厂返回的第一批样本,让软件团队测试他们的代码。随着虚拟平台和其他可执行模型变得越来越普遍,软件团队可以在芯片制造之前开始,有时甚至在嵌入式开发过程的早期。日程安排有更多的重叠,但团队之间的互动仍然有限。

  采用嵌入式处理器的片上系统(SoC)设计的兴起给硬件和软件的开发方式带来了巨大的变化。由于处理器控制着SoC的大部分功能,验证团队通常会模拟在这些处理器上运行的代码。由于RTL仿真速度较慢,业界已经看到仿真和FPGA原型的使用大幅增加。现代验证技术,包括Accellera内部正在开发的便携式刺激标准,跨越了多个验证平台。

  编写验证期间在嵌入式处理器上运行的代码是一个关键挑战。嵌入式程序员经常加入硬件验证团队来执行这项任务。这种组织变革的一个结果是嵌入式软件和硬件团队之间更早、更强的互动。SoC中出现的通用CPU、卸载引擎和其他可编程内核越多,嵌入式软件团队的参与就越多。他们与设计和验证工程师一起开发SoC。

  

 

  嵌入式开发程序员在模拟之外仍然密切参与;他们在硬件平台或实际芯片上的测试通常看起来与模拟测试平台代码非常不同。应该对测试进行调整,以利用每个平台的独特特征。例如,慢速模拟支持持续检查结果的短测试,而silicon最适合长测试和累积结果。这种调整可以防止代码下载时间或结果上传时间影响处理器的惊人速度。

  当然,最终SoC必须运行生产软件,因此通常会努力尽快运行该软件。这可能早在虚拟平台和RTL仿真时就发生了,并且在仿真或FPGA原型制作期间很常见。可移植的激励技术可以为所有的验证和确认平台生成嵌入式测试用例,并且在生产软件运行之前有效地发现硬件缺陷。调试失败的测试用例比操作系统或应用程序中的挂起更容易。

  虽然对于许多嵌入式开发工程师来说,硬件和软件开发可能仍然是独立的学科,但他们的团队比以往任何时候都更加紧密地合作。对早期生产软件验证的需求、面向SoC验证和确认的软件驱动测试以及跨验证平台的可移植性都在推动同一方向的发展。现有标准(如UVM)可能会有相应的发展,新标准(包括便携式刺激)也会有相应的发展。

http://www.lryc.cn/news/58708.html

相关文章:

  • 亲测:腾讯云轻量应用服务器性能如何?
  • 编程语言,TIOBE 4 月榜单:黑马出现了
  • 基于DSP+FPGA的机载雷达伺服控制系统(二)电源仿真
  • SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】
  • 优漫动游告诉你:平面设计适合你吗?
  • 在Vue中,为什么从 props 中解构变量之后再watch它,无法检测到它的变化?
  • [源码解析]socket系统调用上
  • Jenkins部署与自动化构建
  • 网络编程三要素
  • 如何编写一个自己的web前端脚手架
  • 计算机网络第1章(概述)
  • grid布局
  • 博客平台打造出色的个人资料管理与展示:实用技巧与代码示例
  • 【genius_platform软件平台开发】第九十三讲:串口通信(485通信)
  • JavaScript动画相关讲解
  • InnoSetup制作安装包(EXE)
  • CASE WHEN函数语句多条件下使用详解
  • 2.31、守护进程(2)
  • 记录上传文件异常 /tmp/tomcat... (No space left on device)
  • 无向连通图中长度为 n 的循环
  • 打造出ChatGPT的,是怎样一群人?
  • 数据结构——栈与队列相关题目
  • Redhat6.7离线安装rabbitmq
  • EasyCVR平台基于GB28181协议的语音对讲配置操作教程
  • 谷歌发布Self-Debug方法,让大模型学会自己修bug,一次性生成正确代码
  • 行为型模式-模板方法
  • 正则表达式识别日期
  • 如何设计一个秒杀架构设计?
  • Elasticsearch:配置选项
  • 消息中间件Kafka分布式数据处理平台+ZooKeeper