Pergunta

Eu estou escrevendo código na maior parte incorporado no trabalho. Temos um grande projeto de longo prazo que tem sido desenvolvido, e tem várias gerações, e agora o processador para o qual foi escrito está sendo interrompido e pode ser impossível, mesmo para continuar usando processadores do mesmo fabricante. (A transição será provavelmente de TI para Renesas FPU-microprocessadores). Parte do problema é que alguns código é escrito em assembly.
Estou à procura de maneiras de fazer a transição da forma mais indolor possível, e torná-lo mais suave se tal transição é necessária no futuro.
O que você pode sugerir?

Foi útil?

Solução

produzir uma versão genérica C do máximo de código possível.

Isto pode parecer como um desperdício de tempo se a sua intenção é para a implementação final para a montagem otimizado mão, mas realmente não é.

Ao otimizar para um novo alvo, você pode reescrever setores-chave na montagem, mas ter uma versão C em primeiro lugar irá deixá-lo ter algo pronto e funcionando muito rapidamente em cada novo alvo, e em segundo lugar fornecer uma implementação de referência legível para comparar com quando otimização, os quais irão tornar sua vida muito, muito mais fácil.

Além disso, percebe que não há necessidade de tudo para ser mão otimizado montagem, apenas as seções de código onde a maior parte do tempo é gasto / que ocupam mais espaço. Para escrever tudo de um grande projeto em conjunto é quase certamente a desperdiçar esforço desnecessariamente. O resto pode ficar como C. genérico, mas você não vai saber o que você deve focar até a sua versão C está instalado e funcionando e você pode traçar o perfil dele. Você pode adivinhar, mas você não vai saber.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top