【问题标题】:mbed client for software update用于软件更新的 mbed 客户端
【发布时间】:2017-02-21 17:01:02
【问题描述】:

我认为这可能是一个有点笼统的问题,但我无法理解 mbed 客户端是否能够做我认为的事情。

我已经设法在 K64F 板上构建和运行了正确的 Mbed 客户端。我已将它连接到服务器,API 与 I/O 元素、led 和按钮完美运行。如果我没有弄错客户端,它应该能够更新板上执行的软件(甚至是固件?)。我一直在寻找,但我还没有找到如何做到这一点。我发现在这个问题上的参考资料很混乱。

是否可以将资源定义为上传(假设使用 PUT 请求)和执行(使用 POST 请求)的软件包?

是否可以更新固件本身?

我可以看到它是如何工作的任何参考或示例?

M2MFirmware 类是否与这种可能性有关?

【问题讨论】:

  • 您要更新董事会的哪一部分。对于正常的 mbed 开发,该板显示为虚拟驱动器,例如插入拇指驱动器。您通常将 .bin 文件复制到您想要调用的任何内容上测试,获取您发送的文件并将其推入该 mcus 闪存,然后在该 mcu 上释放重置。就这么简单,把文件复制过来。
  • 任何沙箱或其他开发环境都应该只是该操作的包装器。您不需要为这些设备开发大型花哨的沙箱。

标签: arm mbed


【解决方案1】:

在某种程度上,是的。 LWM2M 已指定固件更新资源。但是,mbed 客户端现在只能在您连接到 mbed Cloud 的情况下进行更新 - 目前仅适用于合作伙伴 - 另外您需要一个支持固件更新的操作系统...仅定义一个资源是不够的一个能够进行固件更新的引导加载程序。

mbed Cloud + 更新后的客户端应该很快就会向公众开放。然后更新功能也将可用。

【讨论】:

  • 就我的理解而言:当谈到固件更新时,我想到了低级代码,在这种情况下,将管理对象的完整 mbed 客户端与上层功能/应用程序分开。是否可以将此元素与要执行的功能分开?这个应用程序代码可以更新吗?或者 mbed 客户端实际支持的唯一对象是输入和输出?还是固件是包含要运行的每一行代码的单一元素?
  • 所有编译的代码都是固件,它驻留在闪存上。要更新固件的任何部分,您需要一个更新客户端/更新感知引导加载程序。您可以通过在设备上运行解释的虚拟机(如JerryScript)来解决它 - 然后您可以更新代码,因为它是文本 - 但随后您打开了一个全新的作品罐。最好等待 mbed Cloud 向公众开放。
  • 焦急等待。是否有任何估计何时可用?
  • Jan Jongboom,不知道新客户端快要发布了吗?有没有办法获得测试版?
  • @amq,很遗憾我现在无法对此发表评论。 Beta 版邀请目前仅适用于 mbed 合作伙伴。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多