LPC1768を使用したAudio信号のTalkthrough (ループバック)デモプログラムである。
内蔵I2SペリフェラルとDMAを使って外部のオーディオ・コーデックからデータを取り込み、内部でコピー して再度オーディオ・コーデックに出力する。内部コピーは process_audio 関数で行っており 内部を書き換えることでどのようなアルゴリズムでも実装できる。
main_task は各種の初期化を行った後、 audio_task をアクティブにする。 audio_taskは DMA割り込みハンドラ dma_intr_handler からのシグナルに同期して動作しており、 ピンポンバッファを使ってDMAとソフトウェア処理の並列化を図っている。
このプログラムが使用しているコーデックはTI社のTLV320AIC23Bである。初期化データ列は codec_init ルーチンから送出している。
なお、LPC1768のDMAは、何らかのDMA管理機構を使ってチャンネル割り当てをすべきだが、 このプログラムではその操作を省いている。