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.

Using the Console on CCSv4

Other Parts Discussed in Thread: TMS320C5505

Hi,

I'm using

- CCSv4.2.3,

- TMDSEMU100V2U-14T (XDS100v2 Jtag),

- Stand alone target with TMS320C5505.

The problem is that during a debug session the functions like "printf" and "scanf" does not send the messages to the Console.

When I use the same Jtag emulator, the same software (.out file) and the same Target configuration file, with an other target board (a usbstick VC5505 with jtag pins off the board) the messages does appear.

Has anyone had this problem? Is there any difference between TMS320C5505 and the VC5505 on this issue?

Regards,

Alex

 

 

  • Hi,

     

    There are some changes between C5505 vs. VC5505. The first thing to check is PLL setting different.

    How do you set PLL in your code?

    Regards,

    Hyun

  • Hi Hyun,

    I use this:

    void InitSystem(void)

    {

    Uint16 i;

    // PLL set up from RTC

        // bypass PLL

        CONFIG_MSW = 0x0;

     

    #if (PLL_100M ==1)

        PLL_CNTL2 = 0x8000;

        PLL_CNTL4 = 0x0000;

        PLL_CNTL3 = 0x0806;

        PLL_CNTL1 = 0x82FA;

    #endif

     

        while ((PLL_CNTL3 & 0x0008) == 0);

        // Switch to PLL clk

        CONFIG_MSW = 0x1;

     

    // clock gating

    // enable all clocks

        IDLE_PCGCR = 0x0;

        IDLE_PCGCR_MSW = 0xFF84;

     

    // reset peripherals

        PER_RSTCOUNT = 0x02;

        PER_RESET = 0x00fb;    

        for (i=0; i< 0xFFF; i++);

    }

     

    Is this correct?

    Regards,

    Alex

  • Hi,

    Your PLL settings are for VC5505. Use the below

    PLL_CNTL2 = 0x8000;

    PLL_CNTL4 = 0x0000;

    PLL_CNTL3 = 0x0806;

    PLL_CNTL1 = 0x8BE8;

    Refer to the GEL file in the c55xx low power CSL for the PLL configurations of C5505

    Pratap.

  • Hi,

    I removed the PLL config from de the code, so the PLL config is done by the .gel file.

    The .gel I'm using is the one that came with the usbstick (that uses VC5505), but my target is a C5505.

    The .gel file is attached: 

    /********************************************************************/
    /* usbstk5505.gel                                                   */
    /* Version 1.02                                                     */
    /*                                                                  */
    /* This GEL file is to be used with the TMS320C25505 DSP USB STICK. */
    /* Changes may be required to support specific hardware designs.    */
    /*                                                                  */
    /* Code Composer Studio supports six reserved GEL functions that    */
    /* automatically get executed if they are defined. They are:        */
    /*                                                                  */
    /* StartUp()              - Executed whenever CCS is invoked        */
    /* OnReset()              - Executed after Debug->Reset CPU         */
    /* OnRestart()            - Executed after Debug->Restart           */
    /* OnPreFileLoaded()      - Executed before File->Load Program      */
    /* OnFileLoaded()         - Executed after File->Load Program       */
    /* OnTargetConnect()      - Executed after Debug->Connect           */
    /*                                                                  */
    /*   Version History                                                */
    /*     v1.01        Added peripheral reset                          */
    /*     v1.02        Added Interrupt Vector Pointer                  */
    /********************************************************************/
    StartUp()
    {
        C5505_MapInit();
    }
    
    /*--------------------------------------------------------------*/
    /* OnTargetConnect() -- this function is called after a target  */
    /* connect.                                                     */
    /*--------------------------------------------------------------*/
    OnTargetConnect()
    {
        GEL_Reset();
        Peripheral_Reset();
        ProgramPLL_100MHz();
        GEL_TextOut("Target Connection Complete.\n"); 
    }
    
    /*--------------------------------------------------------------*/
    /* OnPreFileLoaded()                                            */
    /* This function is called automatically when the 'Load Program'*/
    /* Menu item is selected.                                       */
    /*--------------------------------------------------------------*/
    OnPreFileLoaded()
    {
        /* Reset the CPU to clean up state */
        //GEL_Reset();
    }
    
    /*--------------------------------------------------------------*/
    /* OnRestart()                                                  */
    /* This function is executed before a file is restarted. Disable*/
    /* interrupts and DMA from the current program so pending       */
    /* events and transfers don't interfere with the new program.   */
    /*--------------------------------------------------------------*/
    OnRestart()
    {
        /* Disable interrupts */
        *(int*)0x0003 = *(int*)0x0003 | 0x0800; // Set INTM
        *(int*)0x0000 = 0;      // Clear IER0
        *(int*)0x0000 = 0;      // Clear IER1
    }
    
    /*--------------------------------------------------------------*/
    /* OnReset()                                                    */
    /* This function is called by CCS when you do Debug->Resest.    */
    /* The goal is to put the C55xx into a known good state with    */
    /* respect to cache, dma and interrupts.                        */
    /*--------------------------------------------------------------*/
    OnReset( int nErrorCode )
    {
    }
    
    /*--------------------------------------------------------------*/
    /* OnFileLoaded()                                               */
    /* This function is called by CCS when you do File->Load Program*/
    /* The goal is to do in post file loaded configuration that may */
    /* be needed.                                                   */
    /*--------------------------------------------------------------*/
    OnFileLoaded()
    {
    }
    
    #define ESCR     0x1c33
    
    #define SDTIMR1  0x1020 
    #define SDTIMR2  0x1021 
    #define SDCR1    0x1008 
    #define SDCR2    0x1009
    #define SDSRETR  0x103C
    #define SDRCR    0x100C
    
    #define PRCR     0x1C05 
    #define PCGCR1   0x1c02
    #define PCGCR2   0x1c03
    #define PSRCR    0x1c04 
    
    #define CCR2     0x1c1f
    #define CGCR1    0x1c20
    #define CGCR2    0x1c21
    #define CGCR3    0x1c22
    #define CGCR4    0x1c23
    #define CCSSR    0x1c24
    #define IVPD     0x0049
    
    
    // ***************************************************************************
    
    /* Memory map based on MP/MC value (assume MP/MC = 0).    */
    C5505_MapInit() {
        GEL_MapOn();
        GEL_MapReset();
    
        /*Program Space*/
    
        /* DARAM */
        GEL_MapAdd(0x0000C0,0,0x001F40,1,1);    /* DARAM0 */
        GEL_MapAdd(0x002000,0,0x002000,1,1);    /* DARAM1 */
        GEL_MapAdd(0x004000,0,0x002000,1,1);    /* DARAM2 */
        GEL_MapAdd(0x006000,0,0x002000,1,1);    /* DARAM3 */
        GEL_MapAdd(0x008000,0,0x002000,1,1);    /* DARAM4 */
        GEL_MapAdd(0x00A000,0,0x002000,1,1);    /* DARAM5 */
        GEL_MapAdd(0x00C000,0,0x002000,1,1);    /* DARAM6 */
        GEL_MapAdd(0x00E000,0,0x002000,1,1);    /* DARAM7 */
    
        /* SARAM */
        GEL_MapAdd(0x010000,0,0x002000,1,1);    /* SARAM0 */
        GEL_MapAdd(0x012000,0,0x002000,1,1);    /* SARAM1 */
        GEL_MapAdd(0x014000,0,0x002000,1,1);    /* SARAM2 */
        GEL_MapAdd(0x016000,0,0x002000,1,1);    /* SARAM3 */
        GEL_MapAdd(0x018000,0,0x002000,1,1);    /* SARAM4 */
        GEL_MapAdd(0x01A000,0,0x002000,1,1);    /* SARAM5 */
        GEL_MapAdd(0x01C000,0,0x002000,1,1);    /* SARAM6 */
        GEL_MapAdd(0x01E000,0,0x002000,1,1);    /* SARAM7 */
        GEL_MapAdd(0x020000,0,0x002000,1,1);    /* SARAM8 */
        GEL_MapAdd(0x022000,0,0x002000,1,1);    /* SARAM9 */
        GEL_MapAdd(0x024000,0,0x002000,1,1);    /* SARAM10 */
        GEL_MapAdd(0x026000,0,0x002000,1,1);    /* SARAM11 */
        GEL_MapAdd(0x028000,0,0x002000,1,1);    /* SARAM12 */
        GEL_MapAdd(0x02A000,0,0x002000,1,1);    /* SARAM13 */
        GEL_MapAdd(0x02C000,0,0x002000,1,1);    /* SARAM14 */
        GEL_MapAdd(0x02E000,0,0x002000,1,1);    /* SARAM15 */
        GEL_MapAdd(0x030000,0,0x002000,1,1);    /* SARAM16 */
        GEL_MapAdd(0x032000,0,0x002000,1,1);    /* SARAM17 */
        GEL_MapAdd(0x034000,0,0x002000,1,1);    /* SARAM18 */
        GEL_MapAdd(0x036000,0,0x002000,1,1);    /* SARAM19 */
        GEL_MapAdd(0x038000,0,0x002000,1,1);    /* SARAM20 */
        GEL_MapAdd(0x03A000,0,0x002000,1,1);    /* SARAM21 */
        GEL_MapAdd(0x03C000,0,0x002000,1,1);    /* SARAM22 */
        GEL_MapAdd(0x03E000,0,0x002000,1,1);    /* SARAM23 */
        GEL_MapAdd(0x040000,0,0x002000,1,1);    /* SARAM24 */
        GEL_MapAdd(0x042000,0,0x002000,1,1);    /* SARAM25 */
        GEL_MapAdd(0x044000,0,0x002000,1,1);    /* SARAM26 */
        GEL_MapAdd(0x046000,0,0x002000,1,1);    /* SARAM27 */
        GEL_MapAdd(0x048000,0,0x002000,1,1);    /* SARAM28 */
        GEL_MapAdd(0x04A000,0,0x002000,1,1);    /* SARAM29 */
        GEL_MapAdd(0x04C000,0,0x002000,1,1);    /* SARAM30 */
        GEL_MapAdd(0x04E000,0,0x002000,1,1);    /* SARAM31 */
    
        /* External-Memory */
        GEL_MapAdd(0x050000,0,0x7B0000,1,1);    /* External-SDRAM */
        GEL_MapAdd(0x800000,0,0x400000,1,1);    /* External-Async */
        GEL_MapAdd(0xC00000,0,0x200000,1,1);    /* External-Async */
        GEL_MapAdd(0xE00000,0,0x100000,1,1);    /* External-Async */
        GEL_MapAdd(0xF00000,0,0x0E0000,1,1);    /* External-Async */
    
        /* ROM */
        GEL_MapAdd(0xFE0000,0,0x008000,1,0);    /* SAROM0 */
        GEL_MapAdd(0xFE8000,0,0x008000,1,0);    /* SAROM1 */
        GEL_MapAdd(0xFF0000,0,0x008000,1,0);    /* SAROM2 */
        GEL_MapAdd(0xFF8000,0,0x008000,1,0);    /* SAROM3 */
    
        /* Data Space */
    
        /* DARAM */
        GEL_MapAdd(0x000000,1,0x000060,1,1);    /* MMRs */
        GEL_MapAdd(0x000060,1,0x000FA0,1,1);    /* DARAM0 */
        GEL_MapAdd(0x001000,1,0x001000,1,1);    /* DARAM1 */
        GEL_MapAdd(0x002000,1,0x001000,1,1);    /* DARAM2 */
        GEL_MapAdd(0x003000,1,0x001000,1,1);    /* DARAM3 */
        GEL_MapAdd(0x004000,1,0x001000,1,1);    /* DARAM4 */
        GEL_MapAdd(0x005000,1,0x001000,1,1);    /* DARAM5 */
        GEL_MapAdd(0x006000,1,0x001000,1,1);    /* DARAM6 */
        GEL_MapAdd(0x007000,1,0x001000,1,1);    /* DARAM7 */
    
        /* SARAM */
        GEL_MapAdd(0x008000,1,0x001000,1,1);    /* SARAM0 */
        GEL_MapAdd(0x009000,1,0x001000,1,1);    /* SARAM1 */
        GEL_MapAdd(0x00A000,1,0x001000,1,1);    /* SARAM2 */
        GEL_MapAdd(0x00B000,1,0x001000,1,1);    /* SARAM3 */
        GEL_MapAdd(0x00C000,1,0x001000,1,1);    /* SARAM4 */
        GEL_MapAdd(0x00D000,1,0x001000,1,1);    /* SARAM5 */
        GEL_MapAdd(0x00E000,1,0x001000,1,1);    /* SARAM6 */
        GEL_MapAdd(0x00F000,1,0x001000,1,1);    /* SARAM7 */
        GEL_MapAdd(0x010000,1,0x001000,1,1);    /* SARAM8 */
        GEL_MapAdd(0x011000,1,0x001000,1,1);    /* SARAM9 */
        GEL_MapAdd(0x012000,1,0x001000,1,1);    /* SARAM10 */
        GEL_MapAdd(0x013000,1,0x001000,1,1);    /* SARAM11 */
        GEL_MapAdd(0x014000,1,0x001000,1,1);    /* SARAM12 */
        GEL_MapAdd(0x015000,1,0x001000,1,1);    /* SARAM13 */
        GEL_MapAdd(0x016000,1,0x001000,1,1);    /* SARAM14 */
        GEL_MapAdd(0x017000,1,0x001000,1,1);    /* SARAM15 */
        GEL_MapAdd(0x018000,1,0x001000,1,1);    /* SARAM16 */
        GEL_MapAdd(0x019000,1,0x001000,1,1);    /* SARAM17 */
        GEL_MapAdd(0x01A000,1,0x001000,1,1);    /* SARAM18 */
        GEL_MapAdd(0x01B000,1,0x001000,1,1);    /* SARAM19 */
        GEL_MapAdd(0x01C000,1,0x001000,1,1);    /* SARAM20 */
        GEL_MapAdd(0x01D000,1,0x001000,1,1);    /* SARAM21 */
        GEL_MapAdd(0x01E000,1,0x001000,1,1);    /* SARAM22 */
        GEL_MapAdd(0x01F000,1,0x001000,1,1);    /* SARAM23 */
        GEL_MapAdd(0x020000,1,0x001000,1,1);    /* SARAM24 */
        GEL_MapAdd(0x021000,1,0x001000,1,1);    /* SARAM25 */
        GEL_MapAdd(0x022000,1,0x001000,1,1);    /* SARAM26 */
        GEL_MapAdd(0x023000,1,0x001000,1,1);    /* SARAM27 */
        GEL_MapAdd(0x024000,1,0x001000,1,1);    /* SARAM28 */
        GEL_MapAdd(0x025000,1,0x001000,1,1);    /* SARAM29 */
        GEL_MapAdd(0x026000,1,0x001000,1,1);    /* SARAM30 */
        GEL_MapAdd(0x027000,1,0x001000,1,1);    /* SARAM31 */
    
        /* External-Memory */
        GEL_MapAdd(0x028000,1,0x3D8000,1,1);    /* External-SDRAM */
        GEL_MapAdd(0x400000,1,0x200000,1,1);    /* External-Async */
        GEL_MapAdd(0x600000,1,0x100000,1,1);    /* External-Async */
        GEL_MapAdd(0x700000,1,0x080000,1,1);    /* External-Async */
        GEL_MapAdd(0x780000,1,0x070000,1,1);    /* External-Async */
    
        /* ROM */
        GEL_MapAdd(0x7F0000,1,0x004000,1,0);    /* SAROM0 */
        GEL_MapAdd(0x7F4000,1,0x004000,1,0);    /* SAROM1 */
        GEL_MapAdd(0x7F8000,1,0x004000,1,0);    /* SAROM2 */
        GEL_MapAdd(0x7FC000,1,0x004000,1,0);    /* SAROM3 */
    
        /* IO Space */
        GEL_MapAdd(0x0000,2,0xFFFF,1,1);        /* XPORT */
    }
    
    Peripheral_Reset()
    {
        int i;
    
        *(short *)PSRCR@IO = 0x0020;
        *(short *)PRCR@IO  = 0x00BB;
    
        for(i=0;i<0xff;i++);
        *(short *)IVPD@data = 0x027F; // Load interrupt vector pointer
        GEL_TextOut("Reset Peripherals is complete.\n");
    }
    
    ProgramPLL_100MHz() {
        int i;
    
        GEL_TextOut("Configuring PLL (100.00 MHz).\n");
        /* Enable clocks to all peripherals */
        *(short *)PCGCR1@IO = 0x0;
        *(short *)PCGCR2@IO = 0x0;
    
        /* Bypass PLL */
        *(short *)CCR2@IO = 0x0;
    
        /* Set CLR_CNTL = 0 */
        *(short *)CGCR1@IO = *(short *)CGCR1@IO & 0x7FFF;
    
        *(short *)CGCR2@IO = 0x8000;
        *(short *)CGCR4@IO = 0x0000;
        *(short *)CGCR3@IO = 0x0806;
        *(short *)CGCR1@IO = 0x82fa; 
    
        /* Wait for PLL lock */
        for(i=0;i<0x7fff;i++);
    
        /* Switch to PLL clk */ 
        *(short *)CCR2@IO = 0x1;
    
        GEL_TextOut("PLL Init Done.");
        
    }
    

    In this .gel the PLL is configured with:

    *(short *)CGCR1@IO = 0x82fa;

    This doesn't match with the expected for the VC5505 (0x82F4) nor for the C5505 (0x8BE8).

    When I use 0x82FA or 0x82F4 I'm able to run my code (blinking led with RTC alarm), but the console doesn't work for the "printf" commands.

    When I use 0x8BE8 I have the following errors:

     

    C55xx: GEL Output: Reset Peripherals is complete.

    C55xx: GEL Output: Configuring PLL (100.00 MHz).

    C55xx: GEL Output: PLL Init Done.C55xx: GEL Output: Target Connection Complete.

    C55xx: Trouble Reading Register AR3: (Error -1146 @ 0xA) Device ID is not recognized or is not supported by driver. Confirm device and emulator configuration is correct, or update device driver. (Release 5.0.333.0) 

    C55xx: Trouble Reading Memory Block at 0xff6adc on Page 0 of Length 0x381: (Error -1146 @ 0xFF6B14) Device ID is not recognized or is not supported by driver. Confirm device and emulator configuration is correct, or update device driver. (Release 5.0.333.0) 

     

    I only need the console in order to load my code with the texas Bootloader (wich prompts for the file name at the console).

    Are there any other changes to make in this .gel file in order to use it with C5505?

    Regards,

    Alex

  • Alex,

    When you changed the gel file, did you reinitialize CCS?

    If it still does not work, use this file

    /********************************************************************/
    /* usbstk5515.gel                                                   */
    /* Version 0.10                                                     */
    /*                                                                  */
    /* This GEL file is to be used with the 5515 eZDSP USB STICK.       */
    /* Changes may be required to support specific hardware designs.    */
    /*                                                                  */
    /* Code Composer Studio supports six reserved GEL functions that    */
    /* automatically get executed if they are defined. They are:        */
    /*                                                                  */
    /* StartUp()              - Executed whenever CCS is invoked        */
    /* OnReset()              - Executed after Debug->Reset CPU         */
    /* OnRestart()            - Executed after Debug->Restart           */
    /* OnPreFileLoaded()      - Executed before File->Load Program      */
    /* OnFileLoaded()         - Executed after File->Load Program       */
    /* OnTargetConnect()      - Executed after Debug->Connect           */
    /*                                                                  */
    /*   Version History                                                */
    /*     v0.01        Initial Release                                 */
    /********************************************************************/
    StartUp()
    {
        c5515_MapInit();
    }
    
    /*--------------------------------------------------------------*/
    /* OnTargetConnect() -- this function is called after a target  */
    /* connect.                                                     */
    /*--------------------------------------------------------------*/
    OnTargetConnect()
    {
        GEL_Reset();
        Peripheral_Reset();
        ProgramPLL_100MHz();
    //    SDRAM_INIT();
        GEL_TextOut("Target Connection Complete.\n"); 
    }
    
    /*--------------------------------------------------------------*/
    /* OnPreFileLoaded()                                            */
    /* This function is called automatically when the 'Load Program'*/
    /* Menu item is selected.                                       */
    /*--------------------------------------------------------------*/
    OnPreFileLoaded()
    {
        /* Reset the CPU to clean up state */
        //GEL_Reset();
    }
    
    /*--------------------------------------------------------------*/
    /* OnRestart()                                                  */
    /* This function is executed before a file is restarted. Disable*/
    /* interrupts and DMA from the current program so pending       */
    /* events and transfers don't interfere with the new program.   */
    /*--------------------------------------------------------------*/
    OnRestart()
    {
        /* Disable interrupts */
        *(int*)0x0003 = *(int*)0x0003 | 0x0800; // Set INTM
        *(int*)0x0000 = 0;      // Clear IER0
        *(int*)0x0000 = 0;      // Clear IER1
    }
    
    /*--------------------------------------------------------------*/
    /* OnReset()                                                    */
    /* This function is called by CCS when you do Debug->Resest.    */
    /* The goal is to put the C55xx into a known good state with    */
    /* respect to cache, dma and interrupts.                        */
    /*--------------------------------------------------------------*/
    OnReset( int nErrorCode )
    {
    }
    
    /*--------------------------------------------------------------*/
    /* OnFileLoaded()                                               */
    /* This function is called by CCS when you do File->Load Program*/
    /* The goal is to do in post file loaded configuration that may */
    /* be needed.                                                   */
    /*--------------------------------------------------------------*/
    OnFileLoaded()
    {
    }
    
    #define ESCR     0x1c33
    
    #define SDTIMR1  0x1020 
    #define SDTIMR2  0x1021 
    #define SDCR1    0x1008 
    #define SDCR2    0x1009
    #define SDSRETR  0x103C
    #define SDRCR    0x100C
    
    #define PRCR     0x1C05 
    #define PCGCR1   0x1c02
    #define PCGCR2   0x1c03
    #define PSRCR    0x1c04 
    
    #define CLKCFGL  0x1c1e
    #define CCR2     0x1c1f
    #define CGCR1    0x1c20
    #define CGCR2    0x1c21
    #define CGCR3    0x1c22
    #define CGCR4    0x1c23
    #define CCSSR    0x1c24
    #define IVPD     0x0049
    
    
    // ***************************************************************************
    
    /* Memory map based on MP/MC value (assume MP/MC = 0).    */
    c5515_MapInit() {
        GEL_MapOn();
        GEL_MapReset();
    
        /*Program Space*/
    
        /* DARAM */
        GEL_MapAdd(0x0000C0,0,0x001F40,1,1);    /* DARAM0 */
        GEL_MapAdd(0x002000,0,0x002000,1,1);    /* DARAM1 */
        GEL_MapAdd(0x004000,0,0x002000,1,1);    /* DARAM2 */
        GEL_MapAdd(0x006000,0,0x002000,1,1);    /* DARAM3 */
        GEL_MapAdd(0x008000,0,0x002000,1,1);    /* DARAM4 */
        GEL_MapAdd(0x00A000,0,0x002000,1,1);    /* DARAM5 */
        GEL_MapAdd(0x00C000,0,0x002000,1,1);    /* DARAM6 */
        GEL_MapAdd(0x00E000,0,0x002000,1,1);    /* DARAM7 */
    
        /* SARAM */
        GEL_MapAdd(0x010000,0,0x002000,1,1);    /* SARAM0 */
        GEL_MapAdd(0x012000,0,0x002000,1,1);    /* SARAM1 */
        GEL_MapAdd(0x014000,0,0x002000,1,1);    /* SARAM2 */
        GEL_MapAdd(0x016000,0,0x002000,1,1);    /* SARAM3 */
        GEL_MapAdd(0x018000,0,0x002000,1,1);    /* SARAM4 */
        GEL_MapAdd(0x01A000,0,0x002000,1,1);    /* SARAM5 */
        GEL_MapAdd(0x01C000,0,0x002000,1,1);    /* SARAM6 */
        GEL_MapAdd(0x01E000,0,0x002000,1,1);    /* SARAM7 */
        GEL_MapAdd(0x020000,0,0x002000,1,1);    /* SARAM8 */
        GEL_MapAdd(0x022000,0,0x002000,1,1);    /* SARAM9 */
        GEL_MapAdd(0x024000,0,0x002000,1,1);    /* SARAM10 */
        GEL_MapAdd(0x026000,0,0x002000,1,1);    /* SARAM11 */
        GEL_MapAdd(0x028000,0,0x002000,1,1);    /* SARAM12 */
        GEL_MapAdd(0x02A000,0,0x002000,1,1);    /* SARAM13 */
        GEL_MapAdd(0x02C000,0,0x002000,1,1);    /* SARAM14 */
        GEL_MapAdd(0x02E000,0,0x002000,1,1);    /* SARAM15 */
        GEL_MapAdd(0x030000,0,0x002000,1,1);    /* SARAM16 */
        GEL_MapAdd(0x032000,0,0x002000,1,1);    /* SARAM17 */
        GEL_MapAdd(0x034000,0,0x002000,1,1);    /* SARAM18 */
        GEL_MapAdd(0x036000,0,0x002000,1,1);    /* SARAM19 */
        GEL_MapAdd(0x038000,0,0x002000,1,1);    /* SARAM20 */
        GEL_MapAdd(0x03A000,0,0x002000,1,1);    /* SARAM21 */
        GEL_MapAdd(0x03C000,0,0x002000,1,1);    /* SARAM22 */
        GEL_MapAdd(0x03E000,0,0x002000,1,1);    /* SARAM23 */
        GEL_MapAdd(0x040000,0,0x002000,1,1);    /* SARAM24 */
        GEL_MapAdd(0x042000,0,0x002000,1,1);    /* SARAM25 */
        GEL_MapAdd(0x044000,0,0x002000,1,1);    /* SARAM26 */
        GEL_MapAdd(0x046000,0,0x002000,1,1);    /* SARAM27 */
        GEL_MapAdd(0x048000,0,0x002000,1,1);    /* SARAM28 */
        GEL_MapAdd(0x04A000,0,0x002000,1,1);    /* SARAM29 */
        GEL_MapAdd(0x04C000,0,0x002000,1,1);    /* SARAM30 */
        GEL_MapAdd(0x04E000,0,0x002000,1,1);    /* SARAM31 */
    
        /* External-Memory */
        GEL_MapAdd(0x050000,0,0x7B0000,1,1);    /* External-SDRAM */
        GEL_MapAdd(0x800000,0,0x400000,1,1);    /* External-Async */
        GEL_MapAdd(0xC00000,0,0x200000,1,1);    /* External-Async */
        GEL_MapAdd(0xE00000,0,0x100000,1,1);    /* External-Async */
        GEL_MapAdd(0xF00000,0,0x0E0000,1,1);    /* External-Async */
    
        /* ROM */
        GEL_MapAdd(0xFE0000,0,0x008000,1,0);    /* SAROM0 */
        GEL_MapAdd(0xFE8000,0,0x008000,1,0);    /* SAROM1 */
        GEL_MapAdd(0xFF0000,0,0x008000,1,0);    /* SAROM2 */
        GEL_MapAdd(0xFF8000,0,0x008000,1,0);    /* SAROM3 */
    
        /* Data Space */
    
        /* DARAM */
        GEL_MapAdd(0x000000,1,0x000060,1,1);    /* MMRs */
        GEL_MapAdd(0x000060,1,0x000FA0,1,1);    /* DARAM0 */
        GEL_MapAdd(0x001000,1,0x001000,1,1);    /* DARAM1 */
        GEL_MapAdd(0x002000,1,0x001000,1,1);    /* DARAM2 */
        GEL_MapAdd(0x003000,1,0x001000,1,1);    /* DARAM3 */
        GEL_MapAdd(0x004000,1,0x001000,1,1);    /* DARAM4 */
        GEL_MapAdd(0x005000,1,0x001000,1,1);    /* DARAM5 */
        GEL_MapAdd(0x006000,1,0x001000,1,1);    /* DARAM6 */
        GEL_MapAdd(0x007000,1,0x001000,1,1);    /* DARAM7 */
    
        /* SARAM */
        GEL_MapAdd(0x008000,1,0x001000,1,1);    /* SARAM0 */
        GEL_MapAdd(0x009000,1,0x001000,1,1);    /* SARAM1 */
        GEL_MapAdd(0x00A000,1,0x001000,1,1);    /* SARAM2 */
        GEL_MapAdd(0x00B000,1,0x001000,1,1);    /* SARAM3 */
        GEL_MapAdd(0x00C000,1,0x001000,1,1);    /* SARAM4 */
        GEL_MapAdd(0x00D000,1,0x001000,1,1);    /* SARAM5 */
        GEL_MapAdd(0x00E000,1,0x001000,1,1);    /* SARAM6 */
        GEL_MapAdd(0x00F000,1,0x001000,1,1);    /* SARAM7 */
        GEL_MapAdd(0x010000,1,0x001000,1,1);    /* SARAM8 */
        GEL_MapAdd(0x011000,1,0x001000,1,1);    /* SARAM9 */
        GEL_MapAdd(0x012000,1,0x001000,1,1);    /* SARAM10 */
        GEL_MapAdd(0x013000,1,0x001000,1,1);    /* SARAM11 */
        GEL_MapAdd(0x014000,1,0x001000,1,1);    /* SARAM12 */
        GEL_MapAdd(0x015000,1,0x001000,1,1);    /* SARAM13 */
        GEL_MapAdd(0x016000,1,0x001000,1,1);    /* SARAM14 */
        GEL_MapAdd(0x017000,1,0x001000,1,1);    /* SARAM15 */
        GEL_MapAdd(0x018000,1,0x001000,1,1);    /* SARAM16 */
        GEL_MapAdd(0x019000,1,0x001000,1,1);    /* SARAM17 */
        GEL_MapAdd(0x01A000,1,0x001000,1,1);    /* SARAM18 */
        GEL_MapAdd(0x01B000,1,0x001000,1,1);    /* SARAM19 */
        GEL_MapAdd(0x01C000,1,0x001000,1,1);    /* SARAM20 */
        GEL_MapAdd(0x01D000,1,0x001000,1,1);    /* SARAM21 */
        GEL_MapAdd(0x01E000,1,0x001000,1,1);    /* SARAM22 */
        GEL_MapAdd(0x01F000,1,0x001000,1,1);    /* SARAM23 */
        GEL_MapAdd(0x020000,1,0x001000,1,1);    /* SARAM24 */
        GEL_MapAdd(0x021000,1,0x001000,1,1);    /* SARAM25 */
        GEL_MapAdd(0x022000,1,0x001000,1,1);    /* SARAM26 */
        GEL_MapAdd(0x023000,1,0x001000,1,1);    /* SARAM27 */
        GEL_MapAdd(0x024000,1,0x001000,1,1);    /* SARAM28 */
        GEL_MapAdd(0x025000,1,0x001000,1,1);    /* SARAM29 */
        GEL_MapAdd(0x026000,1,0x001000,1,1);    /* SARAM30 */
        GEL_MapAdd(0x027000,1,0x001000,1,1);    /* SARAM31 */
    
        /* External-Memory */
        GEL_MapAdd(0x028000,1,0x3D8000,1,1);    /* External-SDRAM */
        GEL_MapAdd(0x400000,1,0x200000,1,1);    /* External-Async */
        GEL_MapAdd(0x600000,1,0x100000,1,1);    /* External-Async */
        GEL_MapAdd(0x700000,1,0x080000,1,1);    /* External-Async */
        GEL_MapAdd(0x780000,1,0x070000,1,1);    /* External-Async */
    
        /* ROM */
        GEL_MapAdd(0x7F0000,1,0x004000,1,0);    /* SAROM0 */
        GEL_MapAdd(0x7F4000,1,0x004000,1,0);    /* SAROM1 */
        GEL_MapAdd(0x7F8000,1,0x004000,1,0);    /* SAROM2 */
        GEL_MapAdd(0x7FC000,1,0x004000,1,0);    /* SAROM3 */
    
        /* IO Space */
        GEL_MapAdd(0x0000,2,0xFFFF,1,1);        /* XPORT */
    }
    
    Peripheral_Reset()
    {
        int i;
    
        *(short *)PSRCR@IO = 0x0020;
        *(short *)PRCR@IO  = 0x00BB;
    
        for(i=0;i<0xff;i++);
        *(short *)IVPD@data = 0x027F; // Load interrupt vector pointer
        GEL_TextOut("Reset Peripherals is complete.\n");
    }
    
    ProgramPLL_100MHz() {
        int i;
    
        GEL_TextOut("Configuring PLL (100.00 MHz).\n");
        /* Enable clocks to all peripherals */
        *(short *)PCGCR1@IO = 0x0;
        *(short *)PCGCR2@IO = 0x0;
    
        /* Bypass PLL */
        *(short *)CCR2@IO = 0x0;
    
        /* Set CLR_CNTL = 0 */
        *(short *)CGCR1@IO = *(short *)CGCR1@IO & 0x7FFF;
    
        *(short *)CGCR1@IO =  0x8BE8;
        *(short *)CGCR2@IO =  0x8000;
        *(short *)CGCR3@IO =  0x0806;
        *(short *)CGCR4@IO =  0x0000; 
    
        /* Wait for PLL lock */
        for(i=0;i<0x7fff;i++);
    
        /* Switch to PLL clk */ 
        *(short *)CCR2@IO = 0x1;
    
        GEL_TextOut("PLL Init Done.");
        
    }
    

    The C5505 eZdsp uses the same gel file as the C5515.

    Sorry for the delay in the response

  • Juliana,

     

    still not working. This is the error when connecting:

     

    C55xx: GEL Output: Reset Peripherals is complete.

    C55xx: GEL Output: Configuring PLL (100.00 MHz).

    C55xx: GEL Output: PLL Init Done.C55xx: GEL Output: Target Connection Complete.

    C55xx: Trouble Writing Memory Block at 0x10000 on Page 0 of Length 0x264a: (Error -1146 @ 0x10000) Device ID is not recognized or is not supported by driver. Confirm device and emulator configuration is correct, or update device driver. (Release 5.0.333.0) 

    Cannot write to target

    C55xx: Trouble Reading Memory Block at 0xff6adc on Page 0 of Length 0x5c1: (Error -1146 @ 0xFF6B14) Device ID is not recognized or is not supported by driver. Confirm device and emulator configuration is correct, or update device driver. (Release 5.0.333.0) 

    C55xx: Trouble Reading Memory Block at 0xff6adc on Page 0 of Length 0x1c1: (Error -1146 @ 0xFF6B14) Device ID is not recognized or is not supported by driver. Confirm device and emulator configuration is correct, or update device driver. (Release 5.0.333.0)

    Regards,
    Alex

  • Hi Juliana,

    yes I did look into it. All Jtag problems were solved in this post: http://e2e.ti.com/support/dsp/tms320c5000_power-efficient_dsps/f/109/p/114944/416835.aspx#416835

    As I said in previous posts, I'm able to connect and load my code using a "wrong" PLL configuration, but the Console doesn't work.

    Using the configuration you sent I can't connect to target.

    Regards,

    Alex

  • Hi Juliana,

    I've tested my software on the new Kit (rev.D, with C5505) and it works.

    There is a problem on my custom board. I will have to check the hardware.

    Thanks for your help.

    Alex