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.

CC1312R7: Placing a struct in memory shared by the NVS driver

Part Number: CC1312R7
Other Parts Discussed in Thread: SYSCONFIG


I have a couple of structs that I would like to initialise in the location that is used an NVS driver.

Currently I have set this as:

typedef struct __attribute((packed)) {

uint8_t FirstByte;

uint8_t SecondByte;


#define DEFAULT_VALUES { .FirstByte = 0x00, .SecondByte = 0x01 }

struct_type structname __attribute__((packed, section("flashBuf0"), location(0x20000))) = DEFAULT_VALUES; 

In my Syscfg file I have:

NVS1.$name = "CONFIG_NVS_0";

NVS1.internalFlash.$name = "ti_drivers_nvs_NVSCC26XX0";

NVS1.internalFlash.regionBase = 0x20000;

The error I get is:

error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment fails for section ".TI.bound:flashBuf0" size 0x2000, overlaps with ".common:structname ", size 0x0002 (page 0)

Please inform me how I can resolve this.

Thank you,