嵌入式开发:硬件在环测试
硬件在环 (HIL) 测试在目标微控制器上运行测试用例代码,而不是使用模拟软件层作为硬件。对嵌入式开发人员来说,HIL测试对于验证来自 HAL 的硬件访问是否按预期工作非常有用,甚至可以测试系统的所有输出是否按预期工作。下图显示了HIL设置的示例。
硬件在环 (HIL) 测试可以包含几个不同的组件。首先是被测设备,通常称为 DUT。DUT 将访问对验证系统是否正常工作至关重要的信息,例如:
• 微控制器寄存器值
• 引脚 I/O 状态
• 沟通渠道
• 产品与来自传感器、执行器等的信号相关
现在,开发人员可以检查并手动监控这些信号,但这将是一个非常耗时的过程。相反,开发人员可以构建他们的HIL测试工具来包含能够自动采样期望状态的工具。
这就把我们带到了第二个组件:调试器。测试控制器使用调试器来将应用程序和测试代码加载到目标微控制器上,而且还通过调试器通信端口来控制这些测试。大多数现代调试器充当虚拟通信端口,嵌入式开发人员可以用最少的软件创建测试命令控制通道来管理微控制器。控制器可以请求遥测、记录值,甚至监控软件跟踪和事件历史。
接下来,开发人员通常会有一个与产品交流的渠道。例如,如果产品是汽车产品,那么可能会有产品响应需要测试的CAN消息。另一个例子是具有通信端口的设备。无论通信接口是什么,都需要有一个工具可以将通信转换成测试脚本可以控制的comm端口。
HIL中包含的另一个有用的工具是逻辑分析器,它对于验证HAL和配置表非常有用。微控制器上的每个GPIO引脚都可以连接到逻辑分析仪,然后以预定速率或当系统中发生事件时进行采样。对于引脚数少的器件,这很简单,不需要昂贵的硬件。然而,如果所用的微控制器有100个或更多的引脚,逻辑分析仪硬件可能会很贵。使用相同的处理器开发套件(可能每个引脚都有一个头部),只需一点软件就可以用作逻辑分析仪。
嵌入式开发人员也可能发现他们的系统需要模拟或数字输入,或者他们的系统输出模拟或数字信号。在这些情况下,使用ADC或DAC将使测试工具能够访问这些信号,以便在执行测试用例时可以记录这些信号。
最后,这将我们带到运行测试套件并且必须监控整个测试过程的主机。LDRA等公司提供了几种不同的测试工具,但是开发者也可以编写自己的Python脚本来测试和验证他们的系统。在许多情况下,团队的发展方向取决于几个因素,例如:
可用预算
可用时间
项目可用的团队成员
必须确定至少一个覆盖基础和用户交互的最小测试集。集成硬件在环测试可以帮助嵌入式开发人员进行单元测试、回归测试和功能测试。
嵌入式开发:硬件在环测试相关推荐
- 涨姿势 | 一文说透电机控制器硬件在环测试(MCU HIL)
软件质量是嵌入式产品开发中最关注的问题之一.随着产品迭代,软件复杂程度越来越高,为保证软件质量,需要对软件进行大量的测试,这会在整个产品周期中消耗大量时间及资源.另一方面,市场竞争日渐激烈,产品推向市 ...
- 全球及中国汽车仿真硬件在环测试行业研究及十四五规划分析报告
[报告篇幅]:126 [报告图表数]:164 [报告出版时间]:2021年10月 报告摘要 2020年,全球汽车仿真硬件在环测试市场规模达到了 百万美元,预计2027年将达到 百万美元,年复合增长率( ...
- 车载测试-HIL硬件在环测试
HIL硬件在环测试
- 2021-2027全球与中国硬件在环测试市场现状及未来发展趋势
本文研究全球及中国市场硬件在环测试现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美.欧洲.日本.中国.东南亚.印度等地区的现状及未来发展趋势. 2020年全球硬件在环测试市场规模达到 ...
- BUCK电路硬件在环测试
simulink除了进行仿真外,还可以和硬件配合进行硬件在环仿真,通过Simulink的可视化环境,可以更好的分析得到的数据.同时结合matlab-coder进行目标硬件的代码生成,可以最大限度降低B ...
- 基于ETest的发动机ECU硬件在环测试平台的研究与开发
设备组成 Etest_CPS系统主要由硬件部分与软件部分组成.硬件部分由PCI机箱.PCI控制器以及各种PCI接口板卡组成.软件部分由测试设计软件模块.测试执行服务软件模块.测试执行客户端软件模块.设 ...
- 基于ETest-DEV的发动机ECU硬件在环测试平台的研究与开发
- 汽车发动机ECU硬件在环测试系统ETest设计与实现
设备组成 Etest_CPS系统主要由硬件部分与软件部分组成.硬件部分由PCI机箱.PCI控制器以及各种PCI接口板卡组成.软件部分由测试设计软件模块.测试执行服务软件模块.测试执行客户端软件模块.设 ...
- 基于ETest的车身控制系统硬件在环测试技术研究
设备组成 Etest_CPS系统主要由硬件部分与软件部分组成.硬件部分由PCI机箱.PCI控制器以及各种PCI接口板卡组成.软件部分由测试设计软件模块.测试执行服务软件模块.测试执行客户端软件模块.设 ...
最新文章
- C#单例模式的懒汉与饿汉
- 为指针分配的内存太小
- sql between包括两端吗_简单查询-SQL
- Spring使用注释
- 谷歌Chrome 80稳定版更新:对浏览器进行两项重大的更改
- 通过命令在navicat中创建数据库及表结构
- 公私钥,数字证书,https
- 美国DHS向国会提交政府《移动设备安全研究》报告
- python 移动平均法_移动平均法详解
- java对象转换为map
- 苹果笔记本如何打开计算机,苹果笔记本如何进入BIOS设置 Mac怎么设置BIOS
- 【制作】基于金沙滩51单片机的电子跑表
- 需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder
- 怎么用磁盘压缩卷新建分区
- Cadence软件license相关问题
- oracle实例由,Oracle 数据库的实例由( )组成
- win10更新失败 无法安装 Windows,因为这台电脑的磁盘布局不受UEFI固件支持
- 东莞厚街工业机器人展会_展会效果大起底2020东莞厚街机械展暨2020东莞国际工业自动化及机器人展览会...
- pg数据库意外优化一例
- cli sti cld std
热门文章
- h5 div自动排列
- kubectl工具使用
- Cadence学习篇(1) Cadence原理图工程以及原理图库的创建
- class torch.optim.lr_scheduler.LambdaLR
- 去除字符串首尾空格(全角半角)
- 实施工程师面常见问题
- 简报 | QuarkChain北京站见面会即将召开;HiCTO创始人/前百姓网CTO潘晓良加入CarBlock;LinkEye上线FCoin受关注;Coinbase推出托管服务
- Android返回键
- HashMap集合中key只能为引用数据类型,不能为基本类型
- PCLVisualizer