This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Implementation of the OPUS Voice Code for TM4C129x

Other Parts Discussed in Thread: CC2640

Hello Amit

I am hoping you can assist me.  I have purchased the DK-TM4C129X and followed the direction from Application Report SPMA076 to successfully build and load the examples you provided to test and evaluate the OPUS audio compression on a ARM Cortex-M4  MCU.  The problem I am having is that I get an error when I try to invoke the ls command to work with existing .wav files that I have put onto a formatted SD card.  The error code is FR_NOT_READY.  I have also compiled and loaded the sample sd_card project that is provided by TI as an example CCS project, and that properly accesses and shows the file system on the SD card.  I am using Code Composer version 6.1.1 and TivaWare_C_series-  Any guidance you can give me would be greatly appreciated


Chris Mathewson

  • Hello Chris

    If the Error code is FR_NOT_READY with the example along with SPMA076 and not with the SD Card, the most likely problem is going to be the pin muxing. Can you check if PQ0, PQ2, PF0 are configured as SSI pins and PH4 is configured as GPIO when the issue occurs?
  • Thanks Amit -

    The pinout.c that was with the SPMA076 download didn't have any of those pins you mentioned configured, so I used the default one that came with the Tiva-C_series- that did configure those pins as you directed and everything compiled and worked as you suggested.

    Thanks again,
  • Hello Chris

    Thanks. I will check and update the package as well.
  • Hello Chris,

    On a slightly off context note, how did you reach the Application Note? Was it via or
  • Hi Amit,

    It was thru  I was searching via Google with search parameters of (OPUS codec ARM cortex M within the last year) and a link to SPMA0076.pdf thru was near the top of the list.  

    FYI - My development is for a product that mates with an iOS app, so I was also looking for OPUS implementations to get me started on the iPhone side of things.  I really wanted to use BLE for a host of reasons, but with the minimal data throughput with Apple's 4.1/4.2 implementation (they do not yet support things like data packets length extension, and they have a 30ms minimum connection interval, etc.) you can only achieve roughly 2.5 KB/sec transfer rates, so I was using OPUS to enc/dec either side to meet those limitations.  For my application I only need 8k sample rate and a mono channel so with OPUS I am getting very good results and no discernible degradation of audio.  I have also downloaded your other OPUS example of voice over PoE to look how you implemented the realtime codec for a streaming communication (Thanks).

    For the BLE implementation I have been looking for modules that have likely an M3 or M4 main application MCU (M0 typical for the core Bluetooth RF side), so from TI  been looking at parts like the CC2640/50 that have an M3 application processor for my project, but not sure if even my scaled down version of OPUS would fit into it with only 128KB of  total Flash, so I have also been looking at other vendors and their BLE modules.   Anyway, I really appreciate the work you have done with your two OPUS based implementations, particularly with the SPMA076.

    Thanks again,