Вопрос

Я пишу в основном встроенный код на работе.У нас есть большой долгосрочный проект, который был разработан и насчитывает несколько поколений, и теперь процессор, для которого он был написан, снимается с производства, и может оказаться невозможным даже продолжать использовать процессоры того же производителя.(Переход, вероятно, будет осуществлен с TI на Renesas FPU-микропроцессоры).Частично проблема заключается в том, что некоторый код написан на ассемблере.
Я ищу способы сделать переход как можно более безболезненным и сделать его более плавным, если такой переход потребуется в будущем.
Что вы можете предложить?

Это было полезно?

Решение

Создайте универсальную версию C для как можно большего количества кода, насколько это возможно.

Это может показаться пустой тратой времени, если вы хотите, чтобы окончательная реализация была выполнена в оптимизированной вручную сборке, но на самом деле это не так.

При оптимизации для новой цели вы можете переписать ключевые разделы в assembly, но наличие версии C, во-первых, позволит вам очень быстро запускать что-то для каждой новой цели, а во-вторых, предоставит читаемую эталонную реализацию для сравнения при оптимизации, и то, и другое значительно облегчит вашу жизнь.

Более того, осознайте, что нет необходимости в все для сборки, оптимизированной вручную, используйте только те разделы кода, на которые тратится больше всего времени / которые занимают больше всего места.Писать весь большой проект на ассемблере - почти наверняка значит напрасно тратить усилия.Остальные могут просто остаться как общие C.Но вы не будете знать, на чем вам следует сосредоточиться, пока ваша версия C не будет запущена и вы не сможете ее профилировать.Вы можете догадаться, но вы не будете знать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top