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.
Tool/software: TI C/C++ Compiler
Team,
my customer is getting the following warnings when compiling their MSP430FR6989 project:
Warning #1
Description Resource Path Location Type
#10229-D output section ".rts430x.data" refers to load symbol "_nop" and hence cannot be compressed; compression "rle" is ignored nonLegalFirmwareVersion.c /project/nonLegalRelevant/app/nonLegalFirmwareVersion/src C/C++ Problem
Do you have any hint where this warning comes from?
The referred file (very simple) does not seem to have any failures.
Warning #2
Description Resource Path Location Type
<a href="processors.wiki.ti.com/.../10420"> For FRAM devices, at start up, the GPIO power-on default high-impedance mode needs to be disabled to activate previously configured port settings. This can be done by clearing the LOCKLPM5 bit in PM5CTL0 register. nonLegalFirmwareVersion.c /project/nonLegalRelevant/app/nonLegalFirmwareVersion/src C/C++ Problem
They do not use the MSP430 header, so the symbol is not defined. However, they do configure the port in a different way.
Thanks and best regards!
Regarding ...
FRAMziskus said:#10229-D output section ".rts430x.data" refers to load symbol "_nop" and hence cannot be compressed; compression "rle" is ignored
You can probably ignore this one. It means the output section rts430x.data is larger than it could be. Otherwise, it will work with no problems. If you have enough memory, then there is no reason to pursue it.
It is likely that the output section .rts430x.data and whatever output section defines the symbol _nop (probably .text) are in the same GROUP. Therefore, one solution is to move .rts430x.data outside the GROUP. This change is implemented in the linker command file. For general background on the linker command file, please see the wiki article Linker Command File Primer.
For full background on this issue, please see this forum thread. Fair warning: It is a long and detailed read.
Regarding ...
FRAMziskus said:For FRAM devices, at start up, the GPIO power-on default high-impedance mode needs to be disabled to activate previously configured port settings.
Please see the discussion in this forum thread.
Thanks and regards,
-George
George Mock said:For full background on this issue, please see this forum thread. Fair warning: It is a long and detailed read.
The short version: do not put .cinit in a group with section ".rts430x.data" and you won't get the warning
thanks for the answers to all! My problem is, that they are not grouped already:
/****************************************************************************/ /* SYSTEM MEMORY-SEGMENTS */ /****************************************************************************/ GROUP(SYSTEM_MEMORY_VOLATILE): ALIGN(0x0040) { .TI.persistent : {} /* For #pragma persistent */ .cio : {} /* C I/O BUFFER */ .sysmem : {} /* DYNAMIC MEMORY ALLOCATION AREA */ .rts430x.data : {rts*.lib<*.obj>(.bss), rts*.lib<*.obj>(.data) } /*RTS430x Runtime-Library */ /*rts*.lib<*.obj>(.data)} RTS430x Runtime-Library */ } > VARS_SYSTEM GROUP(SYSTEM_MEMORY_NONVOLATILE): ALIGN(0x0040) { .cinit : {} /* INITIALIZATION TABLES */ .pinit : {} /* C++ CONSTRUCTOR TABLES */ .init_array : {} /* C++ CONSTRUCTOR TABLES */ .mspabi.exidx : {} /* C++ CONSTRUCTOR TABLES */ .mspabi.extab : {} /* C++ CONSTRUCTOR TABLES */ .rts430x.code : {rts*.lib<*.obj>(.text) } /* RTS430x Runtime-Library */ .text:_system_pre_init {} /* System-Pre-Init-Function */ } > CODE_SYSTEM GROUP(FORBIDDEN_MEMORY_VOLATILE) : { .bss : {} /* GLOBAL & STATIC VARS */ .data : {} /* GLOBAL & STATIC VARS */ } > VARS_FORBIDDEN GROUP(FORBIDDEN_MEMORY_NONVOLATILE) : { .text : {} /* CODE */ .const : {} /* CONSTANT DATA */ } > CODE_FORBIDDEN .TI.noinit : {} > RAM /* For #pragma noinit */ .stack : {} > RAM (HIGH) /* SOFTWARE SYSTEM STACK */ .info : {} > INFO /* MSP430 INFO FRAM MEMORY SEGMENTS */