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.

Compiler/MSP430FR5994: Array Indexing not Working Properly when Using Restricted Data Model

Part Number: MSP430FR5994
Other Parts Discussed in Thread: BOOSTXL-AUDIO

Tool/software: TI C/C++ Compiler

Hi, 

I've been fixing some bugs with the BOOSTXL-AUDIO Record Playback example and noticed some unexpected behavior when modifying the "data model" parameters. This project records audio data and stores it into two 64kB arrays placed in a custom data section that starts at the beginning of FRAM2 (0x10000). When the data model is set to "restricted", the audio data plays back in non-sequential order. However, when the data model is set to "large", the audio plays back just fine. 

I read into the restricted data model and saw that individual objects are limited to 64kB in size. With this stipulation, the audio data should still playback correctly. However, I decided to halve the array sizes so that each is 32kB in size and the audio started to playback correctly. Can you shed some light on what could be causing the incorrect audio playback when switching between the different data models?

I've attached a zipped version of the project that is working correctly using the large data model. To experience the issue, you can simply change to the restricted data model and observe incorrect playback. The arrays in question are located in the audio_collect.c file and the playback of these arrays is located in the audio_playback.c file. 

BOOSTXL-AUDIO_Record_Playback.zip

Best regards, 

Caleb Overbay