2012-07-09 2 views
0

다음 설치가 있습니다 : imx28 2.6.34 커널을 실행 중입니다. SAIF 인터페이스는 Cinterion 모뎀의 PCM 출력에 연결됩니다. PCM 원시 데이터를 문자 드라이버 같은 사용자 공간으로 내보내려고합니다. 구현과 관련된 아이디어가 있습니까?PCM 원시 데이터를 사용자 공간에 넣으십시오.

+0

* "구현과 관련하여 아이디어가 있습니까?"*는 다소 모호합니다. 어쩌면 당신은 당신이 문제를 겪고있는 것에 대해 좀 더 자세히 설명해야 할 것입니다. – ArjunShankar

+0

그래서 mxs-dai.c는 SAIF 인터페이스 용 드라이버입니다. 커널 구현에서 saif 드라이버는 sgtl5000 오디오 코덱에 연결됩니다. 필자의 생각은 mxs-dai 위에 문자 드라이버를 만들고 snd_soc_dai_ops mxs_saif_dai_ops 구조체를 사용하여 SAIF 인터페이스와 통신하는 것입니다. 이것이 올바른가? –

답변

0

"올바른 방법"은 ALSA 드라이버를 만들고 ALSA 드라이버를 통해 PCM 데이터에 액세스하는 것입니다. 그런 다음 장치가 사운드 장치로 나타나고 PCM 데이터는 arecord와 같은 ALSA 오디오 프로그램에서 액세스 할 수 있습니다.

장점 : 장치가 많은 기존의 오디오 도구에 액세스 할 수 있도록, 사운드 데이터에 대한 표준 API를 사용하는

  • . 반대로, 작성하는 사용자 공간 프로그램은 다른 오디오 장치에서도 작동합니다.
  • 드라이버는 PCM 샘플 속도 및 데이터 형식에 대한 관련 세부 정보를 제공해야하므로 오디오 프로그램에서 쉽게 작동합니다.

i.MX28 ALSA 드라이버는 ASoC 아키텍처를 사용합니다. Linux 소스의 Documentation/sound/alsa/soc 디렉토리를 참조하십시오.

추신 : follow-on question에게 ALSA ASoC 방향으로 가고 있음을 알려주는 것으로 확인됩니다.