成功模拟嵌入式软件的 3 个技巧

fwd公司
fwd公司 这家伙很懒,还没有设置简介...

0 人点赞了该文章 · 47 浏览

  作为嵌入式软件工程师,很容易认为产品的所有软件都依赖于硬件。大多数嵌入式开发人员都希望立即获得开发板并开始编写软件,这不一定是错的,它只是熟悉,让我们了解与硬件相关的复杂性和问题。但事实是,如果我们正确设计了应用程序代码,我们可以在没有底层硬件的情况下模拟和测试大部分应用程序代码。,模拟和调试脱靶硬件更加高效和经济。 在今天的文章中,我们将探讨成功模拟嵌入式软件的三个技巧。

  模拟嵌入式软件技巧 #1 – 专注于业务逻辑

  嵌入式开发人员需要认识到,他们产品的业务逻辑,即区分他们产品的秘诀,可以编写成独立于硬件。无需目标硬件即可在 PC 环境中模拟和测试与硬件无关的代码。

  开发人员不需要为他们的目标交叉编译业务逻辑,而是可以使用 GCC 或 g++ 编译它。然后可以使用模拟输入和输出在计算机上执行该应用程序。仿真有助于显着加快开发速度,并在硬件团队交付原型板之前证明这一点。

  我通常发现这对于直接访问 Linux 风格终端的 Linux 和 Mac 开发人员来说更容易。 Windows 开发人员可能会发现他们需要安装 Cygwin 或 Mingw,这两者的设置都很简单。然而,有传言说新版本的 Windows 将很快,或者可能已经发布,带有基于 Linux 的终端。

  模拟嵌入式软件技巧 #2 – 明智地构建软件

  前面我提到过设计合理的软件可以在 PC 上进行模拟或测试。 “设计合理”的软件是一种软件,其架构旨在最大限度地减少依赖关系,并设计为具有独立组件的灵活性。仔细的软件架构开发允许在集成到产品之前单独测试组件和模块。事实上,在 PC 上执行大部分业务逻辑测试对我来说并不少见。 PC 环境使我们能够快速测试输入、输出、绘图数据,并测试难以达到目标的极端情况。

  通常情况下,嵌入式开发人员会在硬件上玩转软件数周,试图找出可能导致问题的原因。 在这种情况下,团队正在赌博,希望在任何合理的时间内找到解决方案。 由于软件的设计和实现方式,我能够提取算法,人们认为它依赖于硬件,然后将其包装在我在 PC 上执行的测试代码中。 然后我能够绘制输出并将其与预期结果进行比较。 这允许开发人员在受控和隔离的环境中对部分软件执行完整性检查。 如果匹配,则算法集成到嵌入式处理器的方式存在问题。 如果不匹配,那么目标实现可能需要一些调整。

  模拟嵌入式软件技巧 #32 – 利用 Matlab 等工具

  Matlab 可以让团队模拟状态机、算法并深入研究系统的行为方式。事实上,在许多汽车和航空航天应用中,团队甚至会让 Matlab 为他们生成嵌入式代码,然后团队只需要维护他们的模型!将嵌入式代码仿真与 Matlab 输出进行比较,然后提供详细信息以显示算法或嵌入式系统中是否存在问题。

  模拟还可以帮助嵌入式开发人员了解整个系统。有时我们盲目地实现算法,却没有真正了解它们的工作原理、输入的真正含义以及这些输入的输出应该是什么样子。有时我们可以侥幸逃脱,但如果出现问题,开发人员了解细节通常至关重要。模拟可以帮助解决这个问题,特别是如果包括所有旋钮和刻度盘。开发人员可以增加参数 A 并查看它如何更改输出。然后可以调整参数 B 等等,直到他们完全理解系统是如何工作的。在很多情况下,问题的关键不是算法,而是它与实时行为的交互。

  嵌入式软件开发人员不必依赖硬件即可完成工作。当然,当硬件可用时,它是很棒的,它可以让开发人员通过硬件的障碍。 不过,归根结底,可以模拟和测试许多算法和应用程序特性。 事实上,这种模拟可以帮助证明系统正在以应有的方式工作,或者帮助解决可能需要相当长的调试时间的细微差别。嵌入式开发人员需要在他们的技巧包中添加off-target模拟,如果他们还没有这样做的话。

发布于 2022-10-23 20:16

免责声明:

本文由 fwd公司 原创或收集发布于 火鲤鱼 ,著作权归作者所有,如有侵权可联系本站删除。

火鲤鱼 © 2024 专注小微企业服务 冀ICP备09002609号-8