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.

CCS/LAUNCHXL2-RM57L: CS 9.0.1 and RM57 don't work together

Part Number: LAUNCHXL2-RM57L
Other Parts Discussed in Thread: HALCOGEN

Tool/software: Code Composer Studio

When moving to the CCS 9.0.1 today (downloaded today 15/5/2019), I don't get it to debug a RM57 program on a LAUNCHXL2-RM57L.

User Martin Valencia has the same issue.

The debugger does not stop at main() but shows running.

When you break, the code stops at intvects.asm 

I attached a very simple project - no drivers, just main() function. Generated with HALCoGen 4.07.01, and followed these debug instructions:

http://processors.wiki.ti.com/index.php/LAUNCHXL2-570LC43-RM57L:_LinkerECCRecommendation

2133.RM57_Init.zip

  • The same with a TMS570LC43.

    RM46 and TMS570LS04 work.

  •  

    The problem happens even with the simplest program that can be done with a Hercules RM57 and the TMS570LC43,

    for the RM46 version everything works very well.

  • Jan, Martin,

    Can you make sure that the automatic ECC generation is disabled within CCS? This is a check box in the "On-chip Flash" settings for the selected target.

    You need to enable this auto ECC generation only if you are not using the linker to generate the ECC for you.

    There is no issue on any of the other parts as the ECC checking on flash accesses is enabled by default only on RM57x/TMS570LC43x.

    Regards, Sunil

  • Sunil,

    We are using the linker to prepare ECC

    MEMORY
    {
    /* USER CODE BEGIN (2) */
    #if 0
    /* USER CODE END */
        VECTORS (X)  : origin=0x00000000 length=0x00000020
        FLASH0  (RX) : origin=0x00000020 length=0x001FFFE0
        FLASH1  (RX) : origin=0x00200000 length=0x00200000
        STACKS  (RW) : origin=0x08000000 length=0x00001500
        RAM     (RW) : origin=0x08001500 length=0x0007eb00
    
    /* USER CODE BEGIN (3) */
    #endif
        VECTORS (X)  : origin=0x00000000 length=0x00000020 vfill = 0xffffffff
        FLASH0  (RX) : origin=0x00000020 length=0x001FFFE0 vfill = 0xffffffff
        FLASH1  (RX) : origin=0x00200000 length=0x00200000 vfill = 0xffffffff
        STACKS  (RW) : origin=0x08000000 length=0x00001500
        RAM     (RW) : origin=0x08001500 length=0x0007EB00
    
        ECC_VEC (R)  : origin=0xf0400000 length=0x4 ECC={ input_range=VECTORS }
        ECC_FLA0 (R) : origin=0xf0400000 + 0x4 length=0x3FFFC ECC={ input_range=FLASH0 }
        ECC_FLA1 (R) : origin=0xf0440000 length=0x40000 ECC={ input_range=FLASH1 }
    /* USER CODE END */
    }
    
    /* USER CODE BEGIN (4) */
    ECC
    {
       algo_name : address_mask = 0xfffffff8
       hamming_mask = R4
       parity_mask = 0x0c
       mirroring = F021
    }/* USER CODE END */
    
    
    /*----------------------------------------------------------------------------*/
    /* Section Configuration                                                      */
    
    SECTIONS
    {
    /* USER CODE BEGIN (5) */
    /* USER CODE END */
        .intvecs : {} > VECTORS
        .text   align(32) : {} > FLASH0 | FLASH1
        .const  align(32) : {} > FLASH0 | FLASH1
        .cinit  align(32) : {} > FLASH0 | FLASH1
        .pinit  align(32) : {} > FLASH0 | FLASH1
        .bss     : {} > RAM
        .data    : {} > RAM
        .sysmem  : {} > RAM
    	
    
    /* USER CODE BEGIN (6) */
    /* USER CODE END */
    }

    I tested your approach, and it makes the two launchpads partially  work  but it will load invalid ECC data to flash. The RED led will be on.

    For these 2, the ECC has to be correct in te load image before loading - it should not be generated at load time. (they are different than the other launchpads)

    Is there a way in the new toolset to load the flash on these 2 with valid ECC and not have the ECC alert ?

  • Found it... there is a new option on the version 18.12.x.LTS that needs to be enabled for the linker-generated ECC to work correctly. See the latest linker user manual (spnu118w, section 8.5.9 page 231) for more details on this feature.

    Here's how to turn on the "--ecc" feature from within CCS:

    If you are not generating ECC using CCS, you need to disable the flash verification on program load. As the program and ECC are programmed sequentially this would give you a verification error during the program load.

    For this I had to disable the verification in two places:

    And

  • olala - hang on - I will check.
    , you may want to try this too.
  • No, it doesn't work for me. As soon as the debugger starts, the red ERR led of the RM57 launchpad goes on.

    I've attached my project

    1307.RM57_Init.zip

  • It works when I enable System Reset On Connect

    edit: works both on RM57 and TMS570LC43