用于恩智浦微控制器的带有树莓派的 CAN 更新器 (MKE06Z64VLH4)

问题描述

我们有在 NXP KE06 芯片 (MKE06Z64VLH4) 上运行的系统。这是一个固定系统,它是由主要公司开发的,它对快速修复错误(有很多错误)和进一步开发不感兴趣。 现在我们有一个工作来解决一个问题,没有主要的公司。我们现在有200种产品遍布全国。如果我们要更新提到的NXP芯片,我们需要旅行到目的地,拆机, 通过 SWD(.HEX 文件)手动制作和更新 NXP 芯片,然后再次将每台机器组装在一起。

我们在运行 Raspbian 的 RaspBerry 上有我们的控制系统,我们在 RaspBerry 和 NXP 芯片之间有 RS-485 半双工连接。 (哪个连接继续到 CAN --> NXP 芯片) 我们想用软件和当前的硬件来解决这个问题。 (更换所有当前硬件,使用新的硬件解决方案,解决问题)

问题: 是否可以使用 .HEX 文件和当前硬件制作“远程”更新程序/闪存器? 事实: - 我们不能向公司索要源代码 - 我们有当前的 .HEX 文件 - 我们不想更换所有硬件(200 多件) - 我们不知道源代码

解决方法

是否可以使用 .HEX 文件和当前硬件制作“远程”更新程序/闪存程序?

不,因为要使之成为一种选择,MCU 内部必须已经有一个引导加载程序替代方案。

恩智浦讨厌他们的客户,所以他们阻止任何人在不登录的情况下阅读手册......我最终设法得到了它。除了 SWD 外,没有提到片上引导加载程序支持。该部件只能由 SWD 或您必须开发的自定义引导加载程序进行编程。

基于 UART 的引导加载程序并不少见 - 您可以使用 UART/RS-485 或 CAN 自己编写一个,但是您必须更新固件才能下载引导加载程序,因此在这种情况下它没有帮助.

总结:您需要在现场与 SWD 合作,否则无法完成。

另请注意,这些 MCU 通常启用了防复制保护,以防止您从中读取任何内容。根据它们的编程方式,这可能会出现,然后您唯一能做的就是擦除和闪存整个程序。