如今,每个人都在忙于嵌入式系统 开发人员也不例外。开发团队的比赛速度最快 possible towards a goal or a delivery that isn’只是一个移动的目标 but may 根本不存在!火!准备好了,目标是口头禅,但是那支球队呢? 有一个已知的目标,他们正在设法快速达到的目标?以下是 嵌入式系统开发人员可以遵循的一些技巧,以使他们的系统 market faster.

提示1 –使用正确的工具完成工作

您是否曾尝试使用错误的尺寸拧紧螺丝 螺丝刀?如果有的话,您将非常清楚 things occurred:

  1. 螺丝头可能剥了, 将来很难移除
  2. 必须增加额外的压力才能获得 the desired result
  3. 花了比原本要长的时间 如果您刚刚使用了正确的螺丝刀提示,

开发嵌入式系统也没有什么不同!我遇到 每年都有无数的工程师和团队急于获得他们的 产品推向市场,但谁不愿意花一点钱在 正确的工具。该工具可能是:

  • 实时操作系统
  • 电脑
  • 软件堆栈
  • 调试器
  • 编译器
  • 集成开发环境 (IDE)
  • 等等

为了节省几千美元,这些团队遭受了 由于额外的时间编译,调试,生产力和金钱上的巨大损失 并测试他们的系统。一个简单的错误,应该花了几分钟 使用跟踪工具进行发现突然需要数天或数周的时间才能发现。有没有 听起来很熟悉吗?

技巧2 –为每个MCU信号添加测试点

测试点很可能是最重要的硬件 嵌入式系统开发人员可以添加到其硬件中的功能,以确保 他们的系统可以轻松调试。测试点允许软件开发人员 获得对关键信号的访问权,这些关键信号可以使他们窥探软件 并查看在硬件级别发生了什么。如果是SD等组件 卡或EEPROM设备无法正常工作,开发人员需要查看 通信信号,以便弄清楚发生了什么。没有他们, 只是猜测而已,调试时间将延长十倍。

测试点不必花哨,它们可以是小孔 而且这些天不会对董事会成本造成太大影响。别忘了 还可以将测试点放置在未使用的GPIO引脚上。开发人员可能会发现他们需要 一些额外的输出信号,以了解其软件时序。

提示#3 –开发和使用自动化测试

彻底成功地测试嵌入式系统可以 很费时间。较小的软件更改可能导致必须回退并 重新运行数百个测试用例。如果团队手动进行此操作,则他们要么 要花费大部分时间进行测试或忽略微小的更改, 他们的手指,希望得到最好的。

创建可以在计算机上执行的自动化测试 每晚检查构建的持续集成服务器可以确保 开发人员将精力放在开发软件而不是对其进行测试上。 开发自动化测试确实需要前期的时间和精力,但长期而言 收益和储蓄太大了,不容忽视。

提示4 –创建和使用硬件抽象层(HAL)

硬件抽象层是分离 来自应用程序的底层硬件代码。 HAL为开发人员提供了 编写应用程序代码的能力而不必担心 他们为之开发的硬件(或至少少考虑 硬件)。低层实现隐藏在一组标准的背后 保持不变的接口(函数调用)。

开发人员可以创建自己的HAL 负责管理或使用已经存在的一个。许多微控制器制造商 提供简化与产品交互的HAL。利用 现有的HAL可以大大节省时间,特别是如果它合格或 industry standard.

提示5 –利用现有的组件和框架

加快速度的诀窍是停止重做相同的工作 一遍又一遍地。嵌入式软件开发人员喜欢在细节上工作, 字节,以最低的软件级别与硬件寄存器一起播放。 时代在变。不利用现有组件的开发团队, 库和框架,而是自己决定去做 背后。市场上有100多种不同的RTOS易于安装 所有可能的应用程序和许可方案。自己写 doesn’t make sense.

许多其他典型组件也是如此 今天的嵌入式系统。创建SD卡,EEPROM,USB,TCP / IP或其他常用 软件堆栈毫无意义。从头开始很费时间, 昂贵和奇怪的是,鲁棒性不会接近 已经在野外发现了。 

提示#6 –使用跟踪工具调试系统

对于许多开发团队而言,调试消耗了将近40%的时间。 开发周期。花费大量时间进行调试,开发人员需要 确保他们不仅拥有良好的调试工具,而且拥有正确的调试工具 调试工具。传统上,开发人员不得不投放他们的软件 带有闪烁的LED,printf语句等,以便猜测如何 他们的软件正在执行。现在的现代微控制器功能强大 内置的调试模块可以记录以下事件:

  • 进入和退出功能
  • 中断进入和退出
  • 任务上下文切换
  • 实时操作系统对象事件
  • 等等

开发人员可以按时记录这些事件, 可视化他们的软件如何执行。它消除了所有猜测 调试,从而减少了调试时间和上市时间。

提示#7 –重用设计

嵌入式软件开发人员需要开始思考面向对象 方式,对于这篇文章,这意味着他们应该考虑重用 从头开始。传统上,嵌入式软件是一次性开发的 方式。直接写入寄存器,将应用程序代码与 硬件代码,瞧!代码完成。嵌入式系统已经变得越来越多 比五年前更复杂,更不用说十年前了。写作 这种一次性的应用程序不再起作用。

相反,开发人员应该分层他们的软件, 从设计阶段开始询问哪些组件可能被重用 并且将只使用一次并丢弃。

结论

即使当今的开发团队承受着巨大的压力 工作越来越快,有很多工具可以帮助他们 这个任务。我们仅研究了几种有关嵌入式系统的技巧 开发人员可以更快地工作。他们要意识到在很多情况下, 放慢脚步并受到纪律处分会更加有益。

您对于构建嵌入式系统有什么技巧和经验 systems faster?

One thought 上 “”

  1. 提示#2.a丢失:唐’别忘了移除最终PCB中的测试点!
    尤其对于与安全相关的信号,这可能至关重要。曾经有一种情况,手机的闪存的复位线被小心地通过控制器芯片的下面布线到一个隐藏层,仅在闪存芯片下面重新铺面,因此无法访问该信号。–除了通过被遗忘要删除的杂散测试点。
    对于使用该漏洞修改Flash内容的饼干用户来说,这是一种轻松的游戏,从而打破了SIM卡锁,这在当时是相当(非法)的商业模式。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.