2013-01-20 1 views
0

MSVC로 컴파일 할 때 Windows에서 잘 실행되는 오디오 디코더 소스 코드가 최근에 제공되었습니다.기존 코드를 ARMv7에 포트

이 디코더 (c로 작성)를 ARMv7 플랫폼에 이식하는 작업이 할당되었습니다.

전이 분야에 완전히 익숙하지 않았기 때문에 어떻게해야하는지 잘 모르겠습니다. 나는 이미 많은 것을 봤지만 내 특별한 경우에 많이 적용되지는 않았다.

이러한 포트를 제거하는 방법에 대한 제안은 크게 감사하겠습니다.

+1

운영체제에 구애받지 않는 C 코드 일 뿐이라면 다시 컴파일하는 것 이상의 의미 일 수 있습니다. 그래도 Windows API를 사용한다면 더 많은 작업이 필요합니다. –

+1

문제가 무엇인지 자세히 설명해 주시겠습니까? 편집? API 호출? 적합한 크로스 컴파일러를 찾고 계십니까? 뭔가 다른 거? –

+0

왜 코드를 가져 와서 ARM ide에서 컴파일하고 어떤 일이 발생하는지 보지 않겠습니까? http://www.arm.com/products/tools/software-tools/rvds/arm-workbench-ide.php – fonZ

답변

3

컴파일하여 휴식 시간을 확인하는 것이 좋습니다.

ARM은 32 비트 대상이며 기성품 ARM 기반 마이크로 컨트롤러는 x86과 마찬가지로 거의 리틀 엔디안이므로 일반적으로 이식 코드는 거의 없습니다.

코드가 Win32 로의 OS 호출을하거나 ARM에 포팅되지 않은 타사 라이브러리를 사용하는 경우 해당 종속성을 제거하거나 대상 환경으로 포팅해야합니다. 마찬가지로 코드가 사운드 카드와 같은 PC 기반 하드웨어를 사용한다면 확실히 적응되어야합니다.

데이터를 단순히 처리하는 코드 및 알고리즘은 코드 품질이 첫 번째 인스턴스에서 충분히 이식 가능할 경우 직접 포트해야합니다. 그러나 정의되지 않은 또는 구현 정의 된 컴파일러 동작은 컴파일러와 대상간에 차이가 있기 때문에 피할 필요가 있습니다.

+0

ARM은 그 자체로 32 비트 대상이 아닙니다. ARM64가 있습니다. – rubenvb

+3

@rubenvb : armv7은 32 비트입니다. –

+0

나는 고쳐졌다. 또한 ARMv8은 64 비트 일 수 있으며 2014 년경에 만 나타날 것입니다. – rubenvb

관련 문제