2012-06-06 2 views
1

어떻게 ARM과 DSP 프로세서가 함께 작동하는지, 명령어 집합이 다른지, 어떻게 FFT, 비디오 처리 등과 같은 DSP 프로세서에서 작동 할 것으로 예상되는 코드를 작성할 수 있습니까? 어떻게 상호간에 전환합니까? 몇 가지 예제로 설명하면 도움이 될 것입니다.ARM과 DSP 프로세서가 어떻게 작동합니까?

+0

사용되는 칩/보드 : 당신은 자세한 내용을보실 수 있습니다? –

+0

나는 비글 판을 사용하고있다. 그러나이 질문은 일반적으로 일반적이다. – kartik

답변

4

ISA (instruction set)가 다른 칩에 소프트웨어를 작성하는 것이 ISA가 동일한 두 칩에 대해 멀티 코어 소프트웨어를 작성하는 것과 완전히 다르지는 않습니다. 결국 당신은 소프트웨어를 다른 ISAs로 컴파일해야합니다. 동일한 유형의 두 프로세서가있는 경우와 마찬가지로, 일반적으로 일종의 공유 메모리를 통해 통신합니다. 따라서 DSP는 메모리에 바이트 스트림을 쓸 수 있습니다. CPU는 새 데이터를 알아 채고 처리 할 때까지 메모리를 폴링합니다. 이것이 PC의 모든 주변 장치가 작동하는 방식입니다. 이들은 펌웨어 (임베디드 소프트웨어)를 실행하고 시스템의 공유 주 메모리를 통해 통신합니다. (그리고 인터럽트 사용).

동일한 ISA의 두 칩에 대해 소프트웨어를 작성하는 경우에도 부트 업 시퀀스에는 일반적으로 슬레이브와 다른 코드를 실행하는 마스터 프로세서가 있습니다.

4

소프트웨어는 ARM과 DSP의 서로 다른 두 OS가 서로 통신하는 것을 돕는 데 사용됩니다. OMAP의 경우 dspbridge 라 부릅니다 (또는 더 단순한 DSP 링크는 DSP 링크라고 함).

3

팔과 dsp 사이의 의사 소통에 사용 된 시스 링크를 살펴보십시오.

http://omappedia.org/wiki/Syslink_Project

enter image description here

1 Application calls RCM client object on local processor to request execution of a remote function. 
    2 RCM client object passes function request message to remote RCM server through local MessageQ. 
    3 Local MessageQ puts message in remote MessageQ's list of received messages. 
    4 Local MessageQ requests local Notify module to send notification to remote processor that a message has arrived. 
    5 Local Notify module notifies remote Notify module. 
    6 Remote Notify module tells Remote MessageQ object to check its list of received messages. 
    7 Remote MessageQ object gives remote RCM server the function request message it received. 
    8 Remote RCM Server calls remote function.