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.

Voice Recorder Example Code - MSP-EXP430FG4618/2013 doesn't compile with CCS4

I just got this board and have been going trough the code examples in the collateral files. All are working with the exception of the Voice Recorder. I've had to make minor changes in some cases. (Does LCDMEM[0] really refer to LCDMEM1 ? That's weird.)

CCS4 doesn't accept the following:

__root unsigned int DMA2CTL_Const_R = DMADSTINCR_3 + DMAEN + DMAIE;

The error is:

a value of type "unsigned int" cannot be assigned to an entity of type "__SFR_FARPTR"

This code tries to set up the DMA to address the second 64k of flash.


I will post this on the CCS4 forum as well.


  • I found anther example code for audio streaming to flash in slaa361. This one does not use DMA but complies and runs without problem using CCS4.

    Addressing the second 64k block of flash is straight forward using a long pointer.

    There are 2 things that surprised me.

    1. 8kHz ADPCM streams to flash in real time!
    2. 8kHz sampled audio isn't terrible.


  • Andy said:
    There are 2 things that surprised me.

    Only 2? And then the wrong two :)

    Andy said:
    8kHz ADPCM streams to flash in real time!

    No problem with that.

    Writing a single word to flash only takes a few microseconds. It's the erase cycle that takes milliseconds. 8Khz is 125µs, you can write much more than a singl evalue to Flash in that time. As long as you don't have to erase the flash before the writes.

    Andy said:
    8kHz sampled audio isn't terrible.

    8kHz 8bit audio was the default quality of the first SoundBlaster cards. And people didn't get ear-cancer from hearing it.
    Also, the typical bandwidth of analog phones was 3.5kHz, so 8kHz samplign frequency did give full phone quality.

**Attention** This is a public forum