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.

TMS320F280037: Linker CRC with only 1 record for the whole memory group

Part Number: TMS320F280037

Hello,

we use the linker file with many section. Now we like to use the linker generated crc. So we use the group in the linker file to combine the memory regions.There shouldn´t be a gap between these regions.

So we did this.

My problem is that in the linker generated memrange_crc_table there are now very much records (memrange_crc_record). Could it be only 1 regord with the whole memory group? Because there should not be gaps in it, it could be only 1 record.

How can i do this, that it is only one 1 memrange_crc_record, without to change the memory regions.

regards

David

  • How can i do this, that it is only one 1 memrange_crc_record, without to change the memory regions.

    Unfortunately, that is not supported.  You get one MEMRANGE_CRC_RECORD per memory range in the GROUP.  

    As far as the compiler and linker are concerned, it is okay to combine memory ranges, and thus reduce the number of MEMRANGE_CRC_RECORD.  For instance this ...

       FLASH_BANK0_SEC1  : origin = 0x081000, length = 0x001000
       FLASH_BANK0_SEC2  : origin = 0x082000, length = 0x001000
       FLASH_BANK0_SEC3  : origin = 0x083000, length = 0x001000
       FLASH_BANK0_SEC4  : origin = 0x084000, length = 0x001000
     

    could be changed to ...

       FLASH_BANK0_SEC1_4  : origin = 0x081000, length = 0x004000

    However, I don't know if there is a hardware based reason to keep those memory ranges separate.  So, I have changed the responsibility for this thread to the relevant C28x experts.  

    Thanks and regards,

    -George

  • If you are already grouping these for a common section, there is no concern in re-grouping as one big block as George has mentioned to get a unified CRC. 

    Best,
    Matthew

  • Thanks for your answers.
    It would be good when the linker can generate one memrange_crc_record for the memrange_crc_table in future releases.

    The crc is in the memrange_crc_table for the whole memory group, there aren´t gaps in these group. so the information in the memrange_crc_record could be over the group. So then, this all would be smaller and the flash is not waste.

    For me, some of the memory regions i can combine, but some not, because, they have to be on a specific address.

    regards

    David

  • It would be good when the linker can generate one memrange_crc_record for the memrange_crc_table in future releases.

    I filed EXT_EP-11475 to request this change in the linker.  You are welcome to follow it with that link.

    Thanks and regards,

    -George