Resolving 'Can't initialize target CPU' on TI C6000 DSPs - Part 1
Introduction
Today I am going to discuss some of the basics that can help prevent errors that frustrate some users. The information is directed toward TI C6000 family DSPs, but much of it also applies to other TI DSPs. In many cases they represent the user's first involvement with using Code Composer Studio [CCS] and a target board. It has been my experience that the primary cause of the "Can't initialize target CPU" error message and similar messages like "Error connecting to the target" and "Can't establish connection with target CPU" are related to an improper CCS configuration. I will begin with configuration issues and follow-up with troubleshooting procedures to isolate problems that may also generate these errors. This discussion assumes a single DSP target and no other devices in the scan chain.
Background
The answers to many configuration issues are often "in the manual". The questions that occur in real life are "which manual?", "where is the manual?", and "who reads the manual?". Many times a person comes in to the middle of a project or gets to use equipment left over from a completed project and has no knowledge of the 'history of the CCS and emulator installation'. The important initial minimum steps to get past this problem are as follows:
- Know which specific version of CCS that you are using [bring up CCS and go to Help->About and make note of the version of CCS that is installed. It is usually 4 numbers separated by 3 decimal points like '3.3.54.1']
- Know the vendor name and model of the emulator that you are using.
- If you are using a purchased board, know the manufacturer's name and the board part number. If the board is a custom board, know the exact TI device part number being used.
We can assess from the information above that questions like "What is wrong when CCS gives 'Can't initialize target CPU' error on my c6x DSP" do not really provide any useful information.
Turnkey Configuration
In an ideal world, we would bring up CCS setup, observe our target/emulator configuration, select it, and life would be wonderful. Unfortunately, life is not always wonderful. The most common mistake is selecting the wrong target/emulator combination. Make sure that you make your selection carefully. A BlackHawk XDS510, TI XDS510, and Spectrum Digital XDS510 are not the same and they should not be configured the same. Situations occur in which a vendor's configuration files may not be installed correctly and the user, seeing only a single choice, selects the wrong emulator. Be careful, pay attention, and select the correct target/emulator combination.
But wait - that may not be enough. You need to make sure that you have up to date software to support your target. Many targets are displayed with 'x' as a wild card character [like 64xx]. If you are using a target that was released after the driver, that target may not be supported. Always check the emulator vendor's web site for updates on a new installation!
CCS Setup
CCS Setup is used to select the correct emulation driver and target combination. In most situations the correct setup is readily achieved without any problem. Occasionally a user has to create the configuration manually and makes a minor mistake that prevents CCS from operating with the target correctly. One common C6400 mistake is listed below.
Processor Type | XDS510 Driver Name | XDS560 Driver Name | Comments |
TMS320C6400R10 | tixds6400.dvr | tixds560c64x.dvr | only for a few original v1.0 devices |
TMS320C6400 | tixds6400_11.dvr | tixds560c64x_11.dvr | use this driver 99.9% of the time |
Many of the newer C6000 devices have a more complicated setup than older devices. If you have a non-TI emulator that did not provide a turnkey configuration for your target, you can use the following tip to get the setup correct. This example uses CCS 3.3.
- Locate the TI 'Factory Board' configuration that matches the class of your emulator [XDS510 or XDS560] and your target. Drag it into the left pane and leave it there.
- Select 'File->Save'. The file will be saved as a text file in the 'C:\CCStudio_v3.3\cc\bin\brddat' directory with 'ccBrd0.dat' as the file name.
- Open 'ccBrd0.dat' in a text editor. In most cases, you can duplicate the configuration without referring to this file. When setup asks for something like 'Number of subpaths', you can refer to this file for a clear answer.
- Use the graphical display and the information in the text editor as a guide for the following steps.
- Select the 'Create Board' tab and locate the vendor's emulator and drag it into the left pane below the configuration.
- Drag the appropriate items from the center pane to duplicate the configuration created in step #1.
- When you think that you have duplicated the configuration, select 'File->Save'. Now for a twist - the lower configuration will be saved as 'ccBrd0.dat' and your original configuration will be saved as 'ccBrd1.dat'. Be aware that c64+ configurations will display subpath addresses in hex when you look at the properties in setup, but the values will be in decimal in the 'ccBrdx.dat' file.
- Delete the original configuration in CCS Setup and perform 'File->Save'. Your new configuration will be saved as 'ccBrd0.dat'.
- You can now select 'File->Export' so that you can recall the configuration as needed.
That's all for now,
mikedunn
p.s. Part 2 is here
- Comments
- Write a Comment Select to add a comment
I want to connet ccs3.1 to tms320lf2407(c2000 dsp) spectrum digital board through XDS510PP Emulator. But I am getting error like "cant intilaize target cpu". Would you please help me out to solve this issue.
To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.
Please login (on the right) if you already have an account on this platform.
Otherwise, please use this form to register (free) an join one of the largest online community for Electrical/Embedded/DSP/FPGA/ML engineers: