TMS320F28388S: Multi Core Debugging With CCS 12.8.1

Part Number: TMS320F28388S

Greetings,

                When we first started developing on the 388, we used CCS 10.4.2.  This worked well, and I was able to connect to Core 1 and the CM core simultaneously without disturbing the running system by using the following sequence:

  1. In the Core 1 and CM Core projects, change the ccxml file to use a GEL file which does not modify or reset the running target.
  2. In the Core 1 and CM Core projects, change the Properties->Debug to uncheck ‘Halt the target on a connect’ setting for the appropriate core.
  3. In the Debug Configurations, choose the Core 1 configuration
  4. In the Program tab, select ‘Load symbols only’.
  5. Select the Target tab to double check the ‘Halt the target on a connect’ setting is unchecked.
  6. In the Device dropdown, select Cortex_M4_0
  7. Select Workspace, and choose the CM core’s project.
  8. Select ‘Load symbols only’.
  9. Select the Target tab to double check the ‘Halt the target on a connect’ setting is unchecked.
  10. Click Debug.

Now we are using CCS 12.8.1, and I am trying to do the same type of connection and not disturb the running system.  I am successfully connecting to Core 1, but the connection to the CM core is causing that core to be reset and be stuck at address 0.

Is there an additional step which I need to do under CCS 12.8.1 to be able to do the debug?

Thank you,

Ed

  • Hi Ed ,
    Please expect a delay in response.
    Regards,
    Lakshya

  • Hi Ed , 
    Can you please share the ccxml and gel file which you used for CCS 10.4.2

  • Hi Lakshya,

                    Our GEL files have not changed since we stopped using 10.4.2.  The system would not let me upload the ccxml, so I zipped the two files together.  The GEL file is what we are using on the CM core, with the memory initialization removed to protect us.  But the symptom does not change with the removal.  I also attached the ccxml for the project I am trying to attach with.  As you can see, there is nothing in the GEL script.  Maybe that’s the issue?

    Another data point:  If I attach just the CM core project to a running system, I can see the CM’s GEL file executing and the CM core is running in the neighborhood of 0x00001816 in the TI Bootloader.  When I attach to both the C1 and CM cores, I do not see the CM’s GEL file executing, and the CM core is stuck at 0x00000000.

    Thank you,

    Ed

    5488.Files.zip

  • Hi Ed,
    As mentioned by you , you are using this almost empty gel script for CM core.
    Are you using default gel script for core 1 project?


  • I will try to replicate this using some C2000 SDK multi core example and will get back to you.

  • Hi Ed,

    Are you using flash configuration for both the cores?

  • Yes we are!

    BTW, I may not be able to reply for a couple of weeks, so don't expect anything quickly.  Once I get back, I will be able to respond.

    Thank you,

    Ed

  • Hi Ed ,

    I am using F28338D and CCS 20.3.1 . 

    I am using project led_ex1_c28x_cm_blinky_cm and C:\Users\a1251238\Projects\E2E\multicore_f2838\led_ex1_c28x_cm_blinky_cpu1 from SDK .

    In the target configuration, i am using the empty GEL script shared by you for both CPU1 and CM core.

    ‘Halt the target on a connect' option in unchecked

    I am able to connect well, can you try testing on the above example, if you are facing this issue? 

    I am successfully connecting to Core 1, but the connection to the CM core is causing that core to be reset and be stuck at address 0.

    Here you are talking about CM core or CPU1 ?

    Note - We have stopped support for CCs version 10.4.2   .

    Regards,

    Lakshya

  • Hi Lakshva,

                    We are using the F28388S (I don’t know if F28338D was a typo), and CCS 12.8.1.  We had been using CCS 10.4.2 for years, and it worked well for us.  But because of the discontinuance of support for that version, we moved to 12.8.1, and now we are trying to get it to work the same way as 10.4.2.  One of the features we use a lot is the ability to attach to a running system without disturbing it.

    Thank you,

    Ed

  • Hi Ed,

    F28388D is just another variant of F28388x, similar to the S variant.

    Is there any specific technical reason for using the older CCS version 12.8.1?
    I recommend you to use recent version of CCS for development.
    There might be some bugs in the older version of CCS which would have been resolved in newer versions.

    I am using CCS 20.3.1. I flashed both the project in CPU1 and CM, and after connecting to CPU1, when I attempted to connect to the CM core, I didn't face any reset issue with CPU1. I used your GEL script for both cores.

    Best Regards,
    Lakshya Verma

  • Hi Lakshya,

                    If you like, I can answer the first question in a private conversation.

                    When we first started this project, until our HW arrived, I used a 388 eval board which uses a 388D.  I was able to debug both cores without any issues.  I don’t recall if I connected unobtrusively, but I think I may have because I prefer to debug that way.  So, there may be a difference between the 388D and the 388S from CCS’s point of view.

                    But we think we have found a workaround for this issue.  If we delete the GEL files in the Target Configs, and delete the project in the Debug Configuration, it will attach without disturbing the system.  We can then manually connect and load the appropriate symbols.

                    In the Target Configuration, when we delete the GEL file we normally use, it is ultimately replaced with “..\targetConfigs”.  Is that simply referring back to the project’s targetConfigs folder?  It has no GEL script, and so presumably, the connecting process does nothing?

    Thank you, 

    Ed