This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Multi-core scripting

Our ASIC has 4 independent M7 cores (it's not a quad core configuration). In DS-5, we created one Debug Configuration per core to download the correct fw image to each core.

We would like to write a (single) script that can send commands to each of the 4 cores, however the Scripts window is "Linked" to the core selected in the "Debug Control" window, so the script can only send commands to the selected core.

How can a script control cores of different Debug Configurations?

Thank you!

Parents
  • What sort of commands do you need to send? What do you mean by control?

    You are correct in that a standard debugger script can only access/control the linked core. The 'scope' of the script is tied to the cores exposed by the debug launch configuration. So you will only be able to access the one core. Each debugger launch configuration (one for each of the cores in your platform) only sees one core.

    Depending on what you are trying to do and your willingness to get involved in Jython scripting, it is possible for the debugger Jython script and/or the DTSL Jython script layer to access all the devices in the target. By access here, I mean call pretty low level APIs to control the cores. So for example, you wont be able to get the other debug connections to load symbols (you cant access the other debugger instances) but you could start/stop the other cores via low level API calls into the platform DTSL configuration. All the debugger instances (one for each core) end up making calls into the same DTSL configuration instance - which talks to the target platform.

    If you are interested in taking this further, read up about debugger Jython scripting and DTSL. Then if you have more questions get back in touch and I can guide you further.

    Regards Tony.

Reply
  • What sort of commands do you need to send? What do you mean by control?

    You are correct in that a standard debugger script can only access/control the linked core. The 'scope' of the script is tied to the cores exposed by the debug launch configuration. So you will only be able to access the one core. Each debugger launch configuration (one for each of the cores in your platform) only sees one core.

    Depending on what you are trying to do and your willingness to get involved in Jython scripting, it is possible for the debugger Jython script and/or the DTSL Jython script layer to access all the devices in the target. By access here, I mean call pretty low level APIs to control the cores. So for example, you wont be able to get the other debug connections to load symbols (you cant access the other debugger instances) but you could start/stop the other cores via low level API calls into the platform DTSL configuration. All the debugger instances (one for each core) end up making calls into the same DTSL configuration instance - which talks to the target platform.

    If you are interested in taking this further, read up about debugger Jython scripting and DTSL. Then if you have more questions get back in touch and I can guide you further.

    Regards Tony.

Children