我们的系统运行在恩智浦KE06芯片(MKE06Z64VLH4)上。这是一个静态系统,它是由一家主要公司开发的,它对快速修复bug (有很多bug)和进一步的开发不感兴趣。现在我们有了解决问题的工作,没有主要的公司。我们现在在全国各地有200种产品。如果我们想要更新前面提到的恩智浦芯片,我们需要去目的地,拆开机器,通过SWD (.HEX文件)手动制作和更新恩智浦芯片,然后将每台机器重新组装在一起。
我们在运行Raspbian的Raspberry上有我们的控制系统,我们在Raspberry和恩智浦芯片之间有RS-485半双工连接。(哪个连接继续连接到CAN -->恩智浦芯片)我们希望用软件和当前的硬件来解决这个问题。(更换所有现有硬件,采用新的硬件解决方案,解决问题)
问:有没有可能用.HEX文件和当前的硬件做一个“远程”更新/闪存?事实:-我们不能向公司索要源代码-我们有最新的.HEX文件-我们不想更换所有硬件(200+部件)-我们不知道源代码
发布于 2021-03-05 16:28:13
使用.HEX文件和当前的硬件,
有可能做一个“远程”更新/闪存吗?
不是,因为要实现这一点,MCU内部必须已经有一个可选的引导加载程序。
恩智浦讨厌他们的客户,所以他们阻止任何人在没有登录的情况下阅读手册...我最终得到了它。除了对SWD的支持外,没有提及对片上引导加载程序的支持。该部分只能由社署或您必须开发的自定义引导加载程序进行编程。
基于UART的引导加载程序并不少见-您可以使用UART/RS-485或CAN自己编写一个引导加载程序,但是您必须更新固件才能下载引导加载程序,所以在这种情况下它没有什么帮助。
总结:你需要社会福利署的现场帮助,否则就无法做到。
还请注意,这些MCU通常启用防复制保护,防止您读取其中的任何内容。根据它们是如何编程的,这可能会出现,然后你唯一能做的就是擦除和闪存整个程序。
https://stackoverflow.com/questions/66480445
复制相似问题