문제

나는 직장에서 주로 임베디드 코드를 쓰고 있습니다. 우리는 개발 된 큰 장기 프로젝트를 보유하고 있으며 여러 세대가 있으며 이제 작성된 프로세서가 중단되고 있으며 동일한 제조업체의 프로세서를 계속 사용하는 것은 불가능할 수 있습니다. (전이는 아마도 Ti에서 Renesas FPU-Microprocessors로 일 것입니다). 문제의 일부는 일부 코드가 어셈블리로 작성된다는 것입니다.
나는 가능한 한 고통스럽게 전환 할 수있는 방법을 찾고 있으며, 앞으로 그러한 전환이 필요하다면 더 매끄럽게 만듭니다.
무엇을 제안 할 수 있습니까?

도움이 되었습니까?

해결책

가능한 한 많은 코드의 일반 C 버전을 생성합니다.

최종 구현의 의도가 손으로 최적화 된 조립에 대한 의도라면 시간 낭비처럼 보일 수 있지만 실제로는 그렇지 않습니다.

새 대상을 최적화 할 때는 어셈블리에서 키 섹션을 다시 작성할 수 있지만 C 버전을 갖추면 먼저 각각의 새로운 대상에서 무언가를 매우 빠르게 실행하고 실행할 수 있으며 둘째, 두 번째로 최적화 할 때 비교할 수있는 참조 구현을 제공합니다. 그 중 삶이 훨씬 쉬워 질 것입니다.

또한 필요하지 않다는 것을 깨달으십시오 모든 것 손으로 최적화 된 어셈블리가 되려면 대부분의 시간이 소비되는 코드 섹션 만 / 가장 많은 공간을 차지합니다. 어셈블리에 대규모 프로젝트를 모두 작성하는 것은 거의 확실하게 노력을 불필요하게 낭비하는 것입니다. 나머지는 일반적인 C처럼 유지 될 수 있지만 C 버전이 가동되고 실행될 때까지 무엇에 집중 해야하는지 알 수 없습니다. 당신은 추측 할 수 있지만 당신은 알지 못할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top