我在工作中主要编写嵌入式代码.我们有一个大型的长期项目已经开发,并且有几代,现在它的编写处理器正在停止,甚至可能无法继续使用同一制造商的处理器.(转型可能是从TI到瑞萨的FPU微处理器).部分问题是某些代码是用汇编语言编写的.
我正在寻找尽可能轻松地进行过渡的方法,并且如果将来需要这样的过渡,那么它会变得更加顺畅.
你能提出什么建议?
生成尽可能多的代码的通用C版本.
如果你的意图是最终实现是手动优化的装配,这似乎是浪费时间,但实际上并非如此.
在针对新目标进行优化时,您可以在程序集中重写关键部分,但拥有C版本将首先让您在每个新目标上快速运行并快速运行,其次提供可读的参考实现,以便在优化时进行比较,两者其中将使您的生活更加轻松.
此外,实现没有必要一切是手工优化装配,只是大部分时间都花在了部分代码/是占用了大部分空间.在汇编中编写所有大型项目几乎肯定会浪费不必要的工作量.剩下的就可以保留为通用C.但是在C版本启动并运行之前你不会知道应该关注什么,你可以对它进行分析.你可以猜,但你不会知道.