CCS Setup and Target Initialization for multi-core devices
From Texas Instruments Embedded Processors Wiki
How should CCS be set up for multi-core devices (ARM+DSP), and how is the target initialization performed?
Many multi-core devices are configured with the ARM microcontroller (MCU) holding the DSP in reset at power up. Usually, there is a set of memory locations that can be written to by the MCU that will release the DSP from reset. However, Code Composer Studio requires both cores to be active at initialization, and the memory on the MCU cannot be accessed until both cores are responding.
There are two techniques for initializing such devices.
Setting DSP as Bypass Device
- Using CCS Setup, configure the system as an MCU-only system using the MCU device driver. Replace the DSP with a bypass device at the proper location in the scan path
- Start CCS and make the memory access required by the MCU to release the DSP core from reset.
- Exit CCS.
- Using CCS Setup, reconfigure the system for heterogeneous debugging (using the heterogeneous device driver).
- Start CCS with the heterogeneous setup. Since the DSP has already been released from reset, initialization should complete successfully.
This technique must be repeated each time that the power is cycled on the target system.
Using Automatic Initialization
- Using CCS Setup, configure CCS for heterogeneous debugging using the heterogeneous driver.
- Code Composer Studio will automatically run the StartUp() function from the default GEL file(passed as a command line argument in the desktop shortcut) for each CPU before it tries to initialize the next. Edit the TMS470 GEL file (called TMS470.gel in the installation) so that the StartUp() function executes the required memory writes for releasing the DSP from reset.
- CCS will now be able to initialize both CPU cores at startup.
By default, the GEL file passed on the command line will be loaded by both CPUs in a multi-target system. This means that the TMS470 GEL file will be loaded by the DSP as well as the TMS470. To avoid this, you can configure multiple GEL startup files from within the Parallel Debug Manager using these instructions:
- Configure a multi-core system and start CCS.
- In the Parallel Debug Manager (PDM), select Options->Startup.
- A dialog will be displayed that will allow you to designate a StartUp file for each processor in your system. Specify the appropriate files in this dialog and exit the dialog.
- From the PDM menu bar, select File->Save Workspace to save a new workspace file.
- Make a copy of the default CCS desktop shortcut.
- Edit the new shortcut to pass the name of the saved workspace file on the command line instead of the default GEL file.
- Starting CCS using this shortcut will load the designated workspace and in turn load the appropriate GEL file for each individual CPU in the system.
