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.

CCS/MSP430FR5969: How to put variables into FRAM

Part Number: MSP430FR5969
Other Parts Discussed in Thread: HDC2010METER-EVM, HDC2010,

Tool/software: Code Composer Studio

Hi,

This device has 2kB of RAM and it's not quite enough for what I'm trying to do. So I would like to make use of the 64kB of FRAM. However, this has proven to be quite the challenge.

First of all, I'm running CCS Version: 10.0.0.00010

Should I have downloaded and installed CCS for MSP instead?

Target hardware is the HDC2010METER-EVM

I'm using the eZ-FET portion of the MSP‑EXP430FR5994 eval board to program the target.

The HDC2010METER-EVM runs a demo program that provides temperature and humidity measurements updated every 2 seconds (displayed on an LCD) from the on-board sensor (HDC2010).

I'm adding a feature to the supplied demo code that calculates a 5-minute moving average for both measurements.

This requires a 2-D array: 150 measurements x 8 character bytes per measurement.

Two arrays one for temperature and one for humidity:

char stmp_arr[150][8];

char shm_arr[150][8];

 After studying slaa628, MSP430™ FRAM Technology – How To and Best Practices, and datasheet for MSP430FR5969, I came to the conclusion that I had to modify the linker command file (lnk_msp430fr5969.cmd):

//.bss       : {} > RAM /* Global & static vars */
//.data      : {} > RAM /* Global & static vars */
.bss       : {} > FRAM /* Global & static vars */
.data      : {} > FRAM /* Global & static vars */
.TI.noinit : {} > RAM /* For #pragma noinit */
.stack     : {} > RAM (HIGH) /* Software system stack */
.TI.persistent : {} > FRAM /* For #pragma PERSISTENT */

I reassigned segments .bss and .data to FRAM (highlighted in blue). I also added the line highlighted in green.

I also went in to Project Properties, enabled MPU, and checked to manually specify memory segment and rights - gave myself all rights.

Whatever I do, my array variables always start at 0x001F26 which is still RAM.

Any ideas?

**Attention** This is a public forum