首页
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
更多
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
使用虚拟原型实现持续集成和部署流程
文摘
2024-11-21 06:00
上海
为嵌入式程序员提供硅片前平台,用于开发、集成、测试和调试代码。
不久前,嵌入式软件开发人员挤在寒冷的启动实验室中,在最终系统的物理原型上集成和测试他们的代码。除了不方便之外,这种方法还有两个主要问题。在大型软件团队中复制原型的成本相当高,而且必须维护和管理这些系统。
程序员轮班工作以最大限度地提高硬件利用率已成为常态,这加剧了不便。
转向高度网络化的系统意味着程序员可以在办公室而不是实验室工作,但这并没有降低所涉及的成本。
当嵌入式处理器从独立部件转移到片上系统 (SoC) 设备时,物理原型的最大问题出现了。定制芯片的设计和制造需要数月时间。芯片从代工厂运来后才能构建物理原型,而这在项目计划中对于软件集成和测试来说已经太晚了。嵌入式编程是基于 SoC 的系统计划中的主要任务之一,因此上市时间 (TTM) 被推迟。此外,直到硬件和软件一起运行后,才可能发现细微的设计错误。如果必须在生产前修复这些错误,TTM 将进一步推迟,项目成本将激增。
避免这些问题的唯一方法是为嵌入式程序员提供一个硅片前平台来开发、集成、测试和调试他们的代码。虚拟原型,即 SoC 和硬件系统的抽象软件仿真模型,提供了这样的解决方案。它们包含用于嵌入式处理器的快速指令集模拟器 (ISS),能够执行将在生产系统中运行的相同代码。虚拟原型可以与虚拟和现实世界的 I/O 设备交互,这是系统测试的重要组成部分。它们还可以更好地测试异常情况,包括注入可能导致实际硬件损坏的虚拟故障。它们可以部署到嵌入式软件团队中,而无需花费构建和维护物理原型的成本。
最重要的是,虚拟原型缩短了 TTM。由于它们不需要包含许多实现细节,因此可以与 SoC 的寄存器传输级 (RTL) 硬件设计并行开发和使用虚拟原型。这实现了真正的硬件-软件协同开发,并大大“提前”了项目进度。设计和嵌入式代码之间的不一致可以尽早发现,大大降低了由于功能问题而导致芯片故障的可能性。
随着硬件虚拟原型的出现,软件开发也在经历自身的演变。当今许多编程项目都使用持续集成 (CI),其中代码更改会频繁(有时一天几次)签入主存储库,并立即重建和测试软件可执行文件。CI 方法与仅在指定检查点合并所有程序员的代码的传统做法形成了鲜明对比。到那时,代码的各个部分可能已经出现很大差异,导致集成步骤变得非常困难,并且需要大量调试工作才能解决问题。CI 可以立即发现这些问题,以便快速轻松地解决这些问题。CI 有时与持续部署 (CD) 结合使用,在持续部署中,已通过所有自动化测试的成功构建将发布到所有系统的生产中。
虚拟原型的嵌入式代码在许多方面都是典型的软件项目,因此 SoC 团队也希望从 CI 和 CD 中受益。除了作为交互式开发平台之外,虚拟原型还可以运行自动集成回归测试。将成功的构建传播给所有程序员和所有系统可使整个项目团队保持同步并提高生产力。CI/CD 流程推动虚拟原型在回归中的采用,并进一步自动化嵌入式软件开发流程。
MachineWare 为虚拟原型的开发和使用提供了解决方案。该解决方案包括一系列针对流行处理器和微控制器架构的预验证 ISS 开发套件 (VPK)。VPK 包含特定于设计的虚拟原型、调试和分析工具以及示例软件。它们是所有类型的软件开发的理想选择,包括设备驱动程序、操作系统和中间件。VPK 可以集成到不同的客户 IDE 的内组装和调试,从而可以深入了解任何问题。
VPK 可以集成到高级 CI/CD 流程中,为嵌入式软件开发和测试创建高效的管道。回归测试和部署受益于容器的使用,“一次构建,随处运行”的可执行软件包,其中包含在多个计算环境中快速可靠地运行所需的一切。此外,检查点/恢复功能通过避免冗余工作大大加快了测试周期。VPK 通过广泛的分析和调试设施提供额外的价值,并与各种前沿软件开发和测试技术无缝集成,包括:
GitLab 或 Jenkins DevOps 平台
Docker 容器
Kubernetes 开源容器编排系统
用于管理 Kubernetes 集群的 Rancher 软件堆栈
http://mp.weixin.qq.com/s?__biz=MzIxODAzMDA0Mg==&mid=2650946445&idx=1&sn=a6b7df050588b313ceb8706a698db8e2
软硬件协同设计 HW-SW Co-Design
欢迎后台留言,AI 客服全天在线。脱离物理硬件,开发测试和调试软件。基于虚拟原型的软硬件协同设计,提前一年实现产品上市创收,降低一半开发时间。
最新文章
左移,只是冰山一角
为高性能计算构建芯片
如何在系统层面优化功耗
处理器的对比,为什么很困难?
IP-XACT 回归,理由充分
IEEE IP-XACT 标准概述
SoC 开发中的虚拟原型设计
汽车芯片开发中的虚拟原型
使用虚拟原型实现持续集成和部署流程
为什么 SOAFEE 项目对于联网汽车的设计至关重要
Debug 调试:SoC 计划表的杀手
调试嵌入式应用程序 Debugging
谁负责处理器验证?
如何优化处理器?
一种用于多级 IP/SOC 设计的快速 SystemC 仿真方法
使用 IP-XACT 元数据进行 TLM 建模流程
追踪并优化 SoC 性能
利用 NoC 创新加速 SoC 演进,使用 NoC 平铺实现 AI 和机器学习
BMW 和 Qualcomm 构建云端 ADAS 平台
汽车 ECU 的全面验证策略:MIL、SIL 和 HIL
调试复杂的 RISC-V 处理器
使用自定义 RISC-V ISA 指令创建领域特定处理器
开始使用 IP-XACT 进行 IP 设计
使用 IP-XACT 的 SoC 设计流程
IP-XACT 介绍
UVM 寄存器模型
成本节约和产品质量提升:软件测试的左移
左移?如何加速汽车芯片开发流程 ?
早期验证和软件启动的混合方法
汽车网络的艺术(系列 1):VC3,新 E/E 架构评估系统
汽车网络的艺术(系列 2):PCIe 走向汽车
汽车网络的艺术(系列 3):虚拟化的力量
管理现代 SoC 设计中的性能
复杂 SoC 的准确高效功率估算流程
新硬件架构软件开发面临的五大挑战
计算机模拟:基础、术语、级别
在 Simulink 中生成 SystemC TLM 虚拟原型
MCU 故障模式:发生的原因以及如何预防
汽车行业对 Chiplet 和 UCIe 的需求
虚拟平台 Virtual Platform 技术
SystemC 中的系统级建模
优化 ISA 实现软硬件的和谐:自定义指令和 RISC-V 扩展
带有 RISC 主机和可配置微处理器的 SoC 的软硬件分区方法
SoC 设计中的系统架构是什么?
CPU 是最佳 AI 推理处理器的五大理由
通过改变抽象级别, 来加速 SoC 仿真
系统仿真、架构探索、电源管理、性能分析
汽车芯片团队研发岗位招聘
使用 TLM 虚拟系统原型, 进行汽车芯片的硬件和软件验证
芯片 Bring Up 正在发生变化
分类
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
原创标签
时事
社会
财经
军事
教育
体育
科技
汽车
科学
房产
搞笑
综艺
明星
音乐
动漫
游戏
时尚
健康
旅游
美食
生活
摄影
宠物
职场
育儿
情感
小说
曲艺
文化
历史
三农
文学
娱乐
电影
视频
图片
新闻
宗教
电视剧
纪录片
广告创意
壁纸头像
心灵鸡汤
星座命理
教育培训
艺术文化
金融财经
健康医疗
美妆时尚
餐饮美食
母婴育儿
社会新闻
工业农业
时事政治
星座占卜
幽默笑话
独立短篇
连载作品
文化历史
科技互联网
发布位置
广东
北京
山东
江苏
河南
浙江
山西
福建
河北
上海
四川
陕西
湖南
安徽
湖北
内蒙古
江西
云南
广西
甘肃
辽宁
黑龙江
贵州
新疆
重庆
吉林
天津
海南
青海
宁夏
西藏
香港
澳门
台湾
美国
加拿大
澳大利亚
日本
新加坡
英国
西班牙
新西兰
韩国
泰国
法国
德国
意大利
缅甸
菲律宾
马来西亚
越南
荷兰
柬埔寨
俄罗斯
巴西
智利
卢森堡
芬兰
瑞典
比利时
瑞士
土耳其
斐济
挪威
朝鲜
尼日利亚
阿根廷
匈牙利
爱尔兰
印度
老挝
葡萄牙
乌克兰
印度尼西亚
哈萨克斯坦
塔吉克斯坦
希腊
南非
蒙古
奥地利
肯尼亚
加纳
丹麦
津巴布韦
埃及
坦桑尼亚
捷克
阿联酋
安哥拉