假设以下情况:
- 您为某个制造商的基于 ARM 的微控制器开发了一些东西。
- 您正在使用 CMSIS 来连接硬件(在此架构上是推荐的)。
- 软件最终确定,编译成二进制文件,产品正在发货。
- 五年后,当您想要发布一批新产品时,发现二进制文件在您使用的微控制器的当前可用版本上无法正常工作。
- 使用为 micro 提供的新 CMSIS 重新编译后,它可以工作。
这种情况会发生吗?它曾经发生过吗?
为什么这很重要,因为在某些领域重新编译二进制文件可能不是可接受的解决方案。
据我所知,这种情况似乎是一种可能性,因为 CMSIS 包含接口代码(它不仅仅是一堆头文件,至少在我看来不是,我可能是错的),以及 ARM 的建议关于它似乎只是制造商应该实现它并向开发人员提供这个接口。
到目前为止,我在任何一家 ARM 制造商处都找不到任何关于是否以及如何在芯片版本之间保持二进制兼容性(如果适用)的任何信息。