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.

TMS320F28379D: Linker Cmd Question

Part Number: TMS320F28379D


Tool/software:

Dear TI Support,

I have a question regarding the use of groups and sections in the linker command (.cmd) file.

In my command file, I declared a group that combines two sections that were not explicitly defined elsewhere in the command file. When I create a buffer using the pragma directive #pragma DATA_SECTION(), it seems to work correctly. The buffer data is indeed placed within the defined group, even though the individual sections are only declared within this group.

What surprises me is that I have not explicitly defined the start and end addresses for these sections. Previously, I always assumed that sections needed to have clearly defined addresses, similar to the example below:

RAMGS7 : origin = 0x013000, length = 0x001000

In this code, I attempted to define start and end variables for the ANALOG_TRIM section within the group to track the size utilized by this section. However, it seems that the linker does not accept this approach and generates the following warning:

#10068-D no matching section

Here is the linker code snippet I'm using:

GROUP : LOAD = FLASHN1,
         RUN = RAMGS14_1,
         LOAD_START(_IdentLoadStart),
         LOAD_END(_IdentLoadEnd),
         RUN_START(_IdentRunStart),
         LOAD_SIZE(_IdentLoadSize),
         PAGE = 0, ALIGN(8)
	{
	    SW_IDENTIFICATION : {

	         _swIdentStart = .;            /* Marque le début de SW_IDENTIFICATION */
	         *(.sw_identification)          /* Regroupe les fragments .sw_identification */
	         *(.sw_identification*)         /* Regroupe tous les fragments commençant par .sw_identification */
	         _swIdentEnd = .;              /* Marque la fin de SW_IDENTIFICATION */
	    }

	    ANALOG_TRIM : {
	         _analogTrimStart = .;          /* Marque le début de ANALOG_TRIM */
	         *(.analog_trim)                /* Regroupe les fragments .analog_trim */
	         *(.analog_trim*)               /* Regroupe tous les fragments commençant par .analog_trim */
	         _analogTrimEnd = .;            /* Marque la fin de ANALOG_TRIM */
	    }
	}

Could you please clarify why the linker generates this warning, and confirm whether my understanding of section definitions and groupings is correct?

Thank you for your assistance.