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.

ARM-CGT-CLANG: Generating CRC Table with Linker - GROUP Errors

Part Number: ARM-CGT-CLANG
Other Parts Discussed in Thread: HALCOGEN, TMS570LC4357

I am trying to generate a CRC table for program section in flash during link but the GROUP command that is listed in the compiler manual is giving me error.

Reference:

10.9.2. Using the crc_table() Operator in the MEMORY Directive — TI Arm Clang Compiler Tools User's Guide

I am following this syntax in the link cmd file:

MEMORY
{
    GROUP(FLASH)
    {
        VECTORS            (X)        : origin=0x00000000, length=0x00000020    /* BOOT VECTORS */
        boot_header_rom    (R)        : origin=0x00000020, length=0x00000100, vfill=0xFFFFFFFF /* BOOT Header */
        boot_prog_rom    (R)        : origin=0x00000120, length=0x00007EDC, vfill=0xFFFFFFFF /* BOOT Program Code */
    }

    boot_crc_rom    (R)        : origin=0x00007FFC, length=0x00000004    /* BOOT CRC */
}

 

But getting the following errors (among others):

"../link.cmd", line 64: error #10025-D: invalid memory attribute specifier:  "FLASH"
"../link.cmd", line 64: error #10079-D: origin not specified for memory range GROUP
"../link.cmd", line 64: error #10080-D: length not specified for memory range GROUP
"../link.cmd", line 66: error #10264: VECTORS memory range overlaps existing memory range GROUP
"../link.cmd", line 71: error #10008-D: cannot find file "boot_crc_rom"
"../link.cmd", line 71: error #10021-D: expecting filename, option, MEMORY, or SECTIONS instead of "("
"../link.cmd", line 72: error #10043-D: expecting "";"" instead of "}"
"../link.cmd", line 72: error #10021-D: expecting filename, option, MEMORY, or SECTIONS instead of "}"

The linker command is:

Building target: "boot_sector.out"
Invoking: Arm Linker
C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl -mv7R5 --code_state=32 --float_support=VFPv3D16 --define=_TMS570LC43x_ --define=_VFP_SUPPORT_=1 -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"boot_sector.map" --heap_size=0x800 --stack_size=0x800

 

What changes can I make for this GROUP to be valid syntax? I cannot even get to testing the CRC function yet since the GROUP is not accepted. I want to be able to calculate a CRC across this entire region and place it at the end.