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.

DM6446 Debugging DSP

Im trying to run a simple standalone executable on the DSP. I have the Spectrum Digital EVM and a 560BP.

From reading the manuals and datasheets it seems that regardless of the hardware boot settings on the EVM DIP switches the ARM still needs to release the DSP from reset. I have found the correct registers and also notice that the example GEL script for the ARM (provided by spectrum digital) has a routine to perform this. So it should be easy?

I start the debugger (CCS), connect to the ICEpick and then to the ARM (which halts it) but cannot get the GEL script to load. No output, no error just doesnt load? Right-lick and 'reload' ... nothing.

TBH Ive given up and will write a program on the ARM manage the DSP but would someone be good enough to put me out of my misery?

  • Bob said:

    I start the debugger (CCS), connect to the ICEpick and then to the ARM (which halts it) but cannot get the GEL script to load. No output, no error just doesnt load? Right-lick and 'reload' ... nothing.

    Do you have the GEL files added to your CCS setup so it just loads them automatically when you connect to the target? I believe the Blackhawk drivers come with the GEL file entry blank on their DM644x configuration, at least it is on my USB560m, so I have to manually add the GEL files to the CCS setup configuration, this is the easiest way.

    If you are loading a GEL file after you have already loaded up CCS and connected to the ARM than it will not automatically run the on connect portion of the GEL which automatically does most of the GEL configuration, including releasing the DSP from reset. If you are using the GEL file in this fashion than you need to manually tell the GEL file to run the DSP boot function, see the screen capture below.

    When you load the GEL file it will not put anything out on the terminal but it should add items to the GEL menu of CCS, do you see similar items to the screen shot above under the GEL menu when you load your GEL file?

  • Hi,

    I have added the GEL scripts in the ARM9_0 and C6400PLUS_0 properties "GEL File".

    "will not automatically run the on connect portion of the GEL which automatically does most of the GEL configuration"
    Ah! That explains that then.

    Thanks Bernie.

  • I re-downloaded the script from spectrum digitals website and re-entered the path (locally, was on a network before). I was then getting a warning about the script stuck in an infinite loop; there are 3.

    Becuase of this Ive removed it and put it as a menu option with more prints...

    The script now loads, but gets stuck at the first hurdle:
    "
    Taking DSP out of reset
    Wait for state transtion to finish...

    "

    This is the message I get if I try and connect to the DSP,,,

    Error connecting to the target:
    Error 0x80000244/-1137
    Fatal Error during: Register, Initialization, OCS,

    It appears that the target is being held in reset.  This may be
    due to Wait-In-Reset (WIR) configuration set by the EMU0=0
    and EMU1=1 pin settings.  If this is the case, DISCONNECT
    all CONNECTED devices including icepick and then select
    RETRY to clear the WIR configuration.





    menuitem "Pray!";

    hotmenu
    UpWeComeDSP( )
    {
        unsigned int domainbit = 0x0002;

        #define PSC_BASE            0x01C41000
        #define PSC_EPCPR           *( unsigned int* )( 0x01C41070 )
        #define PSC_PTCMD           *( unsigned int* )( 0x01C41120 )
        #define PSC_PTSTAT          *( unsigned int* )( 0x01C41128 )
        #define PSC_PDSTAT0         *( unsigned int* )( 0x01C41200 )
        #define PSC_PDSTAT1         *( unsigned int* )( 0x01C41204 )
        #define PSC_PDCTL0          *( unsigned int* )( 0x01C41300 )
        #define PSC_PDCTL1          *( unsigned int* )( 0x01C41304 )
        #define PSC_EPCCR           *( unsigned int* )( 0x01C41078 )
        #define PSC_MDSTAT_BASE     ( 0x01C41800 )
        #define PSC_MDCTL_BASE      ( 0x01C41A00 )
        #define PSC_MDSTAT_DSP      *( unsigned int* )( PSC_MDSTAT_BASE + 4 * 39 )
        #define PSC_MDCTL_DSP       *( unsigned int* )( PSC_MDCTL_BASE  + 4 * 39 )
        #define PSC_MDSTAT_IMCOP    *( unsigned int* )( PSC_MDSTAT_BASE + 4 * 40 )
        #define PSC_MDCTL_IMCOP     *( unsigned int* )( PSC_MDCTL_BASE  + 4 * 40 )
       
        GEL_TextOut( "Taking DSP out of reset\n" );

        if ( ( PSC_MDSTAT_DSP & 0x001F ) != 0x0003 )
        {
            GEL_TextOut( "Wait for state transtion to finish...\n" );
            while( ( PSC_PTSTAT & domainbit ) != 0 );
           
            GEL_TextOut( "Turn ON power domain...\n" );
            PSC_PDCTL1 |= 0x0001;
           
            GEL_TextOut( "Set DSP module state to enable...\n" );
            PSC_MDCTL_DSP |= 0x0003;                
           
            GEL_TextOut( "Set IMCOP module state to enable...\n" );
            PSC_MDCTL_IMCOP |= 0x003;                 
           
            GEL_TextOut( "Start state transition...\n" );
            PSC_PTCMD = domainbit;                     
           
            GEL_TextOut( "Wait for external power request...\n" );
            while( ( PSC_EPCPR & domainbit ) == 0 );
           
            GEL_TextOut( "Turn ON external power...\n" );
            PSC_PDCTL1 |= 0x0100;                     
           
            GEL_TextOut( "Wait for state transtion to finish...\n" );
            while( ( PSC_PTSTAT & domainbit ) != 0 );
        }

        GEL_TextOut( "DSP is On\n" );
    }

  • This is odd, I am curious if you are using the same boot mode settings as I am, I have my switches set like the image below and I can connect to the ARM as long as I do it quickly after powering on the board. If you have an odd boot mode when you connect it may be impacting your ability to access the processors properly.

     

  • For some reason all of your images have dissapeared:

    My DIP switches are:

    Cout 0: 1

    Cout 1: 0

    Cout 2: 1

    Cout 3: 1

    Yout 4: 1

    Yout 5: 1

    Yout 6: 1

    Yout 7: 1

    Where 1 = ON which is the position nearest the writing 'Cout' or 'Yout' on the PCB.

    Enum 0 and 1 are both in the H position.

     

    Which is...erm wrong....isnt it 'bangs head against wall'

    Sorry, couldnt see the wood for the trees.


    Im still unsure why I couldnt connect to the DSP. If self booting, shouldnt I be able to connect without setting any registers as its essentially free running.

     

     

     

     

  • Bob said:
    For some reason all of your images have dissapeared:

    For some reason they are not showing up immediately in the post and I have to edit them in after, I can see them now on the forum but not in the email that goes out. I made a post in the moderator forum about this, hopefully it is something that the IT folks can fix.

    As to the dip switch settings if you still cannot see the image in the above post they are starting with COUT1 "0000111110", how much this impacts I am not sure without digging into the settings, but for a quick test it should be easy to set the switches like mine.

  • Dear TI engineers ,

           I am using a Spectrum Digital Jacinto EVM , I met the following problems.

           When I connect the EVM to CCS, ARM can be connected and run , however the DSP can not .

          The error message is like this :

    Error connecting to the target:

    Error 0x80000244/-1137

    Fatal Error during: Register, Initialization, OCS,

     

    It appears that the target is being held in reset.  This may be

    due to Wait-In-Reset (WIR) configuration set by the EMU0=0

    and EMU1=1 pin settings.  If this is the case, DISCONNECT

    all CONNECTED devices including icepick and then select

    RETRY to clear the WIR configuration.

     

    If this is a multi-core system, the master CPU may not be

    releasing the DSP/MCU from reset.  Please check your

    configuration in CC_setup and/or your GEL file to ensure that

    nothing is blocking the DSP/MCU from being released from reset

     

     

    Sequence ID: 0

    Error Code: -1137

    Error Class: 0x80000244

     

    Board Name: DM6446_SDXDS560R

    Cpu Name: C6400PLUS_0

     

    Abort:              Close Code Composer Studio.

    Retry:               Try to connect to the target again.

    Cancel:             Remain disconnected from the target

    Diagnostic:        Run diagnostic utility.

    will you please tell me what 's the problem ?

    Thanks a lot and hope for your reply .