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.

TMS320VC5502: Troubleshooting C5502 Hardware Initialization: Seeking Expert Guidance on Persistent Memory Reading Issues

Part Number: TMS320VC5502

Tool/software:

I am encountering an issue with initializing the C5502 hardware.
When I try to execute the main.c code, CCS continuously shows 'Trouble Reading Memory' and jumps to the location in SYS_INI.asm where PLL initialization is attempted, but none of the contents in SYS_INI.asm are executed.
I have tried checking the GEL file, the VC5502.cmd file, and performing a test connection, but I can't identify any issues.
Therefore, I would like to ask for advice from all the experts:
What other approaches can I take to debug this issue?
If there are other files or details you need me to provide, please let me know!
This problem has been troubling me for weeks, and I'm very grateful for your help!

Console log:

C55xx: GEL Output: OnReset.
C55xx: GEL Output: C5502_Init Complete.
C55xx: Trouble Reading Memory Block at 0x4ed1 on Page 1 of Length 0x1: (Error -1143 @ 0x4ED0) Device core was hung. The debugger has forced the device to a ready state and recovered debug control, but your application's state is now corrupt. You should have limited access to memory and registers, but you may need to reset the device to debug further. (Emulation package 9.12.0.00150)

main.c:

#include "main.h"

/**
* main.c
*/
int main(void)
{
hardware_init();
asm(" rsbx XF"); // LED light on

UART_Send("RTI start running\r\n",19);
while(1) //main loop
{
//this is an example of how pcm get and put from McBSP(DMA)
if(PCM.Rx_flag == 1)
{
memcpy(&PCM.Rx_pcm[0], &PcmRx[PCM.Rx_indx][0], PCM_CHANNEL);
PCM.Rx_flag = 0;
}
if(PCM.Tx_flag == 1)
{
memcpy(&PcmTx[PCM.Tx_indx][0], &PCM.Tx_pcm[0], PCM_CHANNEL);
PCM.Tx_flag = 0;
}

//timer for LED blink
if(Tmr.Tmr_1s_flag == 1)
{
Run_LED();
Tmr.Tmr_1s_flag = 0;
}
UART_Recv();
}
}

void hardware_init()
{
_disable_interrupts();

SYS_INI();
UART_init(); //8-N-1,115200bps
Timer_par_init();
McBSP_DMA_init(0); //PCM

_enable_interrupts();
}

void Run_LED()
{
static short LED_state = 1;

if(LED_state == 1)
{
asm(" ssbx XF"); // LED light off
LED_state = 0;
}
else
{
asm(" rsbx XF"); // LED light on
LED_state = 1;
}
}

void Delay(unsigned long i)
{
while(i--)
{
if(i <= 0)
break;
}
return;
}

SYS_INI.asm:


.include "SYS_INI.inc"
.def _SYS_INI
.text

_SYS_INI:
psh dbl(AC0)
psh mmap(AC0G)
psh dbl(AC1)
psh mmap(AC1G)
psh T0
pshboth XAR2
pshboth XAR3
psh mmap(RPTC)
psh mmap(BRC0)
psh mmap(RSA0L)
psh mmap(RSA0H)
psh mmap(REA0L)
psh mmap(REA0H)


;==Interrupt==
bset INTM ;disable global interrupt
mov #0ffffh,mmap(IFR0) ;write 1 to clear all inturrept flag
mov #0ffffh,mmap(IFR1) ;write 1 to clear all inturrept flag

mov #00000h,mmap(IER0) ;disable all interrupt
mov #00000h,mmap(IER1) ;disable all interrupt

mov #00001h,mmap(IVPD) ;VECS start addr:xx00h,IVPD=xxh
mov #00001h,mmap(IVPH) ;IVPD=IVPH, all interrupt in same page


;==PLL (SubSystem clock group)==
mov #1h,port(#CLKMD) ;clock input=1, point A=CLKIN=24.576MHz //19.6608MHz
and #1111111111111110b,port(#PLLCSR) ;PLLEN=0, bypass mode(Point C=Point A)
or #0008h,port(#PLLCSR) ;PLLRST=1, Reset mode
; mov #000fh,port(#PLLM) ;PLL倍數=15, PLLOUT=PLLREFx15
mov #000ch,port(#PLLM) ;PLL倍數=12, PLLOUT=PLLREFx12
mov #8000h,port(#PLLDIV0) ;D0EN=1, enable D0; DIV0倍數=0, PLLREF=Point A/1
rpt #30000 ;wait 1us
nop
and #1111111111110111b,port(#PLLCSR) ;PLLRST=0, Release mode

Wait_LOCK: ;set a LOCK interrupt, wait for LOCK=1
mov port(#PLLCSR),T0
and #0020h,T0
;bcc Wait_LOCK,T0==#0 //0710 sandy建議註釋

or #0001h,port(#PLLCSR) ;PLLEN=1, PLL mode(Point C=PLLOUT)
rpt #30000
nop
;SYSCLK1 to DMA, HPI, Timer
mov #8001h,port(#PLLDIV1) ;D1EN=1, D1 enable; DIV1倍數=1, SYSCLK1=Point C/2
rpt #30000
nop
;SYSCLK2 to McBSP,I2C,UART
mov #8001h,port(#PLLDIV2) ;D2EN=1, D2 enable; DIV2倍數=1, SYSCLK2=Point C/2
rpt #30000
nop
;SYSCLK3 to EMIF
mov #8003h,port(#PLLDIV3) ;D3EN=1, D3 enable; DIV3倍數=3, SYSCLK3=Point C/4
rpt #30000
nop

mov #000bh,port(#CK3SEL) ;CK3SEL=1011b, Core Clock=Point C
mov #0005h,port(#CLKOUTSR) ;CLKOUTDIS=1, CLKOUT disable; CLKOSEL=2, CLKOUT=SYSCLK2

........

 

  • Hi Jun-ting,

    What C5502 board are you using (custom board or C5502 EVM)? What CCS target configuration were you using (C5502 or C5502 EVM)? What GEL file are you using? What is your boot mode?

    Best regards,

    Ming

  • Hi Ming-Wei,

    1. I am using a custom C5502 board.

    2. My boot mode is no boot, with BOOTM2, BOOTM1, and BOOTM0 set to 0 0 0. I use external DIP switches to control them.

    Additionally, I encounter trouble reading memory at address 0x4ED1, where the variable LED_state is stored. This address should be defined in DRAM within the GEL file, so I believe it should not be out of the permissible range.

    target configuration

    c5502.gel:
    /*************************************************/
    /* EMIF REGISTERS                                */
    /*************************************************/
        #define EMIF_GCTL1  0x800
        #define EMIF_GCTL2  0x801
        #define EMIF_CE11   0x802
        #define EMIF_CE12   0x803
        #define EMIF_CE01   0x804
        #define EMIF_CE02   0x805
        #define EMIF_CE21   0x808
        #define EMIF_CE22   0x809
        #define EMIF_CE31   0x80A
        #define EMIF_CE32   0x80B
        #define EMIF_SDCNT1 0x80C
        #define EMIF_SDCNT2 0x80D
        #define EMIF_SDREF1 0x80E
        #define EMIF_SDREF2 0x80F
        #define EMIF_SDEXT1 0x810
        #define EMIF_SDEXT2 0x811
        #define EMIF_CE1SECCTL1 0x822
        #define EMIF_CE1SECCTL2 0x823
        #define EMIF_CE0SECCTL1 0x824
        #define EMIF_CE0SECCTL2 0x825
        #define EMIF_CE2SECCTL1 0x828
        #define EMIF_CE2SECCTL2 0x829
        #define EMIF_CE3SECCTL1 0x82A
        #define EMIF_CE3SECCTL2 0x82B
        #define EMIF_CECTL1 0x840
        #define EMIF_CECTL2 0x841
    /*************************************************/
    /* PLL REGISTERS                                 */
    /*************************************************/
        #define PLLCSR  0x1C80
        #define CK3SEL  0x1C82
        #define PLLM    0x1C88
        #define PLLDIV0 0x1C8A
        #define PLLDIV1 0x1C8C
        #define PLLDIV2 0x1C8E
        #define PLLDIV3 0x1C90
        #define OSCDIV1 0x1C92
        #define WAKEUP  0x1C98
    /*************************************************/
    /* CHIP REGISTERS                                 */
    /*************************************************/
        #define XBSR    0x6c00
    /*************************************************/
    
    
    /* The Startup() function is executed when the GEL file is loaded. */
    
    StartUp()
    {
    }
    
    OnTargetConnect()
    {
        C5502_Init(); 
        
        //Init_EMIF_SDRAM();
    }
    
    OnReset()
    {
        GEL_TextOut("OnReset.\n");
    }
    
    menuitem "C5502_Configuration";
    hotmenu CPU_Reset()
    {
        /*GEL_Reset();*/
    
        GEL_TextOut("CPU Reset Complete.\n");
    }
    
    hotmenu Init_EMIF_SDRAM()
    {
        GEL_TextOut("Init_EMIF_SDRAM\n");
    
        GEL_MemoryFill(EMIF_GCTL1, 2, 1, 0x06A0);   // 0x0800
        GEL_MemoryFill(EMIF_GCTL2, 2, 1, 0x0002);   // 0x0801   
        
        /* SDRAM */
        GEL_MemoryFill(EMIF_CE21, 2, 1, 0x0010);    // 0x0808
        GEL_MemoryFill(EMIF_CE22, 2, 1, 0x0000);    // 0x0809
    
        GEL_MemoryFill(EMIF_CECTL1, 2, 1, 0x0000);
    }
    
    /* Memory map based on MP/MC value=1 (BOOTM[2:0]=0).    */
    
    hotmenu C5502_Init()
    {
        GEL_Reset();
    
        GEL_MapOn();
        GEL_MapReset();
        
        /* Program Space */
        GEL_MapAdd(0x0000C0u,0,0x00FF40u,1,1);      /* DARAM */
        GEL_MapAdd(0x800000u,0,0x03E800u,1,1);      /* CE2 - SDRAM */
    
    
        /* Data Space */
        GEL_MapAdd(0x000000u,1,0x000050u,1,1);  /* MMRs */
        GEL_MapAdd(0x000060u,1,0x007FA0u,1,1);  /* DARAM */
        GEL_MapAdd(0x08000u,1,0x1D8000u,1,1);   /* External CE0 */
        GEL_MapAdd(0x200000u,1,0x200000u,1,1);  /* External CE1 */
        GEL_MapAdd(0x400000u,1,0x200000u,1,1);  /* External CE2 */
        /* For MP/MC=1 (BOOTM[2:0] = 0) */
        GEL_MapAdd(0x600000u,1,0x200000u,1,1);  /* External CE3 */
        /* For MP/MC=0 (BOOTM[2:0] != 0)*/
        /*GEL_MapAdd(0x600000u,1,0x1FC000u,1,1);    /* External CE3 */
        /*GEL_MapAdd(0x7FC000u,1,0x004000u,1,0);    /* PDROM */
        
        /* IO Space */
        /* Removed certain I/O locations due to emulation access problems */
    /*  GEL_MapAdd(0x0000u,2,0x0012u,1,1); */   /* RHEA 1KW */
        GEL_MapAdd(0x0400u,2,0x0300u,1,1);  /* EMULATION */
        GEL_MapAdd(0x0800u,2,0x0042u,1,1);  /* EMIF 1KW */
    /*  GEL_MapAdd(0x0C00u,2,0x00B0u,1,1); */   /* DMA 1KW */
        GEL_MapAdd(0x1000u,2,0x0014u,1,1);  /* TIMER#0 1KW */
        GEL_MapAdd(0x1C80u,2,0x0019u,1,1);  /* PLL Control */
        GEL_MapAdd(0x2400u,2,0x0014u,1,1);  /* TIMER#1 1KW */
        GEL_MapAdd(0x1400u,2,0x0004u,1,1);  /* ICACHE 1KW */
        GEL_MapAdd(0x1C00u,2,0x0400u,1,1);  /* CLKGEN 1KW */
        GEL_MapAdd(0x2000u,2,0x0055u,1,1);  /* TRACE FIFO 1KW */
    /*  GEL_MapAdd(0x2800u,2,0x0020u,1,1); */   /* SERIAL PORT#0 1KW */
    /*  GEL_MapAdd(0x2C00u,2,0x0020u,1,1); */   /* SERIAL PORT#1 1KW */
    /*  GEL_MapAdd(0x3000u,2,0x0020u,1,1); */   /* SERIAL PORT#2 1KW */
        GEL_MapAdd(0x3400u,2,0x0002u,1,1);  /* GPIO 1KW */
        GEL_MapAdd(0x3800u,2,0x0008u,1,1);  /* ID 1KW */
        GEL_MapAdd(0x3C00u,2,0x000Fu,1,1);  /* I2C 1KW */
        GEL_MapAdd(0x4000u,2,0x0014u,1,1);  /* TIMER#2 1KW */
        GEL_MapAdd(0x4400u,2,0x0009u,1,1);  /* PGPIO 1KW */
        GEL_MapAdd(0x6C00u,2,0x0002u,1,1);  /* XBSR 1KW */
        GEL_MapAdd(0x7800u,2,0x0010u,1,1);  /* BIOS Timer 1KW */
        GEL_MapAdd(0x8000u,2,0x0002u,1,1);  /* Timer Signal Selector 1KW */
        GEL_MapAdd(0x8400u,2,0x0002u,1,1);  /* CLKOUT selector 1KW */
        GEL_MapAdd(0x8800u,2,0x0400u,1,1);  /* IOMACRO 1KW */
        GEL_MapAdd(0x8c00u,2,0x0002u,1,1);  /* CLKMOD0 1KW */
        GEL_MapAdd(0x9000u,2,0x0400u,1,1);  /* Peri data Mux 1KW */
    /*  GEL_MapAdd(0x9400u,2,0x0004u,1,1); */   /* IDLE 1KW */
        GEL_MapAdd(0x9C00u,2,0x000Du,1,1);  /* UART 1KW */
        GEL_MapAdd(0xA000u,2,0x0028u,1,1);  /* UHPI 1KW */
    
        /*emif_init();*/
    
        GEL_TextOut("C5502_Init Complete.\n");
    }
    
    
    emif_init()
    {
        *(short *)XBSR@IO |= 0x0001;    /* Enable EMIF bus. */
    
        /* EMIF REGISTER values     */
        GEL_MemoryFill(EMIF_GCTL1 ,2,1,0x0060);
        GEL_MemoryFill(EMIF_GCTL2 ,2,1,0x0009);
        GEL_MemoryFill(EMIF_CE01 ,2,1,0xFF03);
    }
    
    hotmenu Init_CE0_Async()
    {
        *(short *)XBSR@IO |= 0x0001;    /* Enable EMIF bus. */
    
        GEL_MemoryFill(EMIF_CE01 ,2,1,0xFF23);  /* 32-bit async in CE0 space. */
        GEL_MapAdd(0x010000u,0,0x3B0000u,1,1);  /* External CE0 */
        GEL_MapAdd(0x08000u,1,0x1D8000u,1,1);   /* External CE0 */
    }
    
    hotmenu Init_CE0_Async_Fast()
    {
        *(short *)XBSR@IO |= 0x0001;    /* Enable EMIF bus. */
    
        GEL_MemoryFill(EMIF_CE01 ,2,1,0x0121);  /* 32-bit async in CE0 space. */
        GEL_MemoryFill(EMIF_CE02 ,2,1,0x1051);  /* 32-bit async in CE0 space. */
    /*  GEL_MemoryFill(EMIF_CE02 ,2,1,0x0000); */  /* 32-bit async in CE0 space. */    
        GEL_MapAdd(0x010000u,0,0x3B0000u,1,1);  /* External CE0 - program space  */
        GEL_MapAdd(0x08000u,1,0x1D8000u,1,1);   /* External CE0 - data space     */
    }
    
    hotmenu Init_CE1_Async_32()
    {
        *(short *)XBSR@IO |= 0x0001;    /* Enable EMIF bus. */
    
        GEL_MemoryFill(EMIF_CE11 ,2,1,0xFF23);  /* 32-bit async in CE1 space. */
        GEL_MapAdd(0x400000u,0,0x400000u,1,1);  /* External CE1 */
        GEL_MapAdd(0x200000u,1,0x200000u,1,1);  /* External CE1 */
    }
    
    hotmenu Init_CE1_Async_16()
    {
        *(short *)XBSR@IO |= 0x0001;    /* Enable EMIF bus. */
    
        GEL_MemoryFill(EMIF_CE11 ,2,1,0xFF13);  /* 16-bit async in CE1 space. */
        GEL_MapAdd(0x400000u,0,0x400000u,1,1);  /* External CE1 */
        GEL_MapAdd(0x200000u,1,0x200000u,1,1);  /* External CE1 */
    }
    
    hotmenu Init_CE0_SDRAM_5502CPUBoard() /* For MT48LC2M32B2 Micron Memory use. (C5502 CPU Board) */
    {   
        *(short *)XBSR@IO |= 0x0001;    /* Enable EMIF bus. */
    
        GEL_MemoryFill(EMIF_CE01 ,2,1,0xFF33);  /* 32-bit SDRAM in CE0 space. */
        GEL_MemoryFill(EMIF_SDCNT1 ,2,1,0xF000);/* ?5000*/
        GEL_MemoryFill(EMIF_SDCNT2 ,2,1,0x4748);/* ?4711*/
        GEL_MemoryFill(EMIF_SDREF1 ,2,1,0x0001);
        GEL_MemoryFill(EMIF_SDREF2 ,2,1,0x0000);    
        GEL_MapAdd(0x010000u,0,0x3B0000u,1,1);  /* External CE0 - program space */
        GEL_MapAdd(0x08000u,1,0x1D8000u,1,1);   /* External CE0 - data space    */
    }
    
    hotmenu Init_CE1_SDRAM() /* For MT48LC2M32B2 Micron Memory use. */
    {   
        *(short *)XBSR@IO |= 0x0001;    /* Enable EMIF bus. */
    
        GEL_MemoryFill(EMIF_CE11 ,2,1,0xFF33);  /* 32-bit SDRAM in CE0 space. */
        GEL_MemoryFill(EMIF_SDCNT1 ,2,1,0xF000);/* ?5000*/
        GEL_MemoryFill(EMIF_SDCNT2 ,2,1,0x4748);/* ?4711*/
        GEL_MemoryFill(EMIF_SDREF1 ,2,1,0x0001);
        GEL_MemoryFill(EMIF_SDREF2 ,2,1,0x0000);    
        GEL_MapAdd(0x400000u,0,0x400000u,1,1);  /* External CE1 - program space */
        GEL_MapAdd(0x200000u,1,0x200000u,1,1);  /* External CE1 - data space    */
    }
    
    hotmenu Init_CE1_SBSRAM_5502CPUBoard() /* For MT58L25632PS Micron Memory use. (C5502 CPU Board) */
    {   
        *(short *)XBSR@IO |= 0x0001;    /* Enable EMIF bus. */
    
        GEL_MemoryFill(EMIF_CE11 ,2,1,0xFF43);  /* 32-bit SBSRAM in CE1 space. */
        GEL_MemoryFill(EMIF_CE1SECCTL1 ,2,1,0x0002);  
    
        GEL_MapAdd(0x0400000u,0,0x3FFFFFu,1,1); /* External CE1 - program space */
        GEL_MapAdd(0x0200000u,1,0x1FFFFFu,1,1); /* External CE1 - data space    */
    }
    
    
    hotmenu Init_PLL_by15()
    {
        GEL_MemoryFill(PLLCSR, 2, 1,0x0001);    /* PLL enabled */
        GEL_MemoryFill(PLLM, 2, 1,0x000E);      /* PLL X15 */
    }
    
    hotmenu Init_PLL_by16()
    {
        GEL_MemoryFill(PLLCSR, 2, 1,0x0001);    /* PLL enabled */
        GEL_MemoryFill(PLLM, 2, 1,0x000F);      /* PLL X16 */
    }
    


    Best regards,

    Jun Ting

  • Hi Jun Ting, 

    Can you access to this memory area using the CCS memory browser after connecting to the target, but before the program loading?

    Best regards,

    Ming

  • Hi Ming-Wei,

    Are you referring to before or after pressing "debug"?
    If it's before pressing "debug," I can open the memory browser, but it doesn't display anything.
    If it's after pressing "debug," I have set a breakpoint at the first line of main.c, and I am able to modify the values in the memory browser,
    even after encountering the "Trouble Reading memory" issue. I can still modify specific address values through the memory browser.

    Best regards,
     
    Jun Ting

  • Hi Jun Ting,

    With the same setting, can you try to load and run one of the C5502 example programs, like C:\ti\C55xxCSL\examples\c5502\csl\gpt\gpt1?

    Best regards,

    Ming 

  • Hi Ming-Wei,

    I tried to find similar files, but couldn't locate them in any version of the folders. I also searched through all the examples directories and opened each one, but didn't see any files related to the c5502. Could it be that I missed a step in the download process?
    C:ti folder

    Additionally, I tried running the Hello.c sample code from CCS, which contains just a printf("hello world") statement. When I executed it, "hello world" was displayed correctly in the console.

    Best regards,

    Jun Ting

     

  • Hi Jun Ting,

    You can download the C55x CSL 1.0.0 from https://dr-download.ti.com/software-development/driver-or-library/MD-0MVQS9HBZ7/01.00.00.00/sprc133.zip

    C5502 Examples are at C:\ti\C55xxCSL\examples\c5502\csl.

    Best regards,

    Ming

  • Hi Ming-Wei,

    I attempted to use the C55xCSL you provided, but it might be because the versions of CCS I am using (V7.4 and V12.4) are too new, and they cannot import .pjt files. Therefore, I tried to adjust the Project Properties according to the .pjt file settings. Currently, I am encountering an issue (as shown in the image), where even though I have set the General to C5502, it still displays "Chip not defined".

    I also tried downloading a new version of CXL-Lowpower (03.08.01.00), but it seems that the examples included do not support the C5502. Do you have any suggestions?

    Best regards,

    Jun Ting
    no_chip_defined
    Properties_setting

  • Hi Jun Ting,

    Since the C55XXCSL uses the CCS 3.3 project format, please import the CCS project from "Import Legacy CCSv3.3 Project". I have tested it, it works.

    Best regards,

    Ming

  • Hi Ming-Wei,

    I attempted to import the "Import Legacy CCSv3.3 Project" using CCS versions 7.4 and 12.4. However, after importing, I discovered that the project requires the installation of "XDAIS 1.0". The oldest version available on the official website is V6.23.

    I tried to find a solution on forums, and it seems that the last person who encountered this issue resolved it by deselecting "XDAIS 1.0". I attempted the same, but it led to a series of errors (as shown in the attached image). I have been trying to resolve this for a few days but seem unable to circumvent the need for "XDAIS 1.0".

    Additionally, there were errors during the import which generated a log file, which I have also attached for your reference. My operating system is Windows 11, and I typically use CCS versions 7.4 and 12.4. Do you have any suggestions?

    Best regards,

    Jun Ting


    !CONFIGURATION: 'com.ti.ccstudio.buildDefinitions.C5500.Debug.55837461' [Mon Jul 22 17:36:41 CST 2024]
    
    	!TOOL: 'com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug.257671754'
    
    		!ERROR: org.eclipse.cdt.managedbuilder.core.BuildException: Unexpected value 'p' for option 'Debugging model'! Applicable values are: [, Full symbolic debug (--symdebug:dwarf, -g), Symbolic debug for program analysis (default) (--symdebug:skeletal), Full symbolic debug (COFF, deprecated) (--symdebug:coff), Function profile debug (COFF, deprecated) (--symdebug:profile_coff), Suppress all symbolic debug generation (--symdebug:none)].
    			at com.ti.common.project.core.util.CTIProjectCoreUtils.setBuildOption(CTIProjectCoreUtils.java:871)
    			at com.ti.common.project.core.util.CTIProjectCoreUtils.setBuildOption(CTIProjectCoreUtils.java:806)
    			at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.setOptionSettings(LegacyProjectImporter.java:1333)
    			at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.processToolOptionSettings(LegacyProjectImporter.java:885)
    			at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.processBuildConfigurationSettings(LegacyProjectImporter.java:827)
    			at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.createManagedMakeProject(LegacyProjectImporter.java:458)
    			at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.doRun(LegacyProjectImporter.java:263)
    			at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.access$0(LegacyProjectImporter.java:224)
    			at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter$1.run(LegacyProjectImporter.java:207)
    			at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
    			at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2262)
    			at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.run(LegacyProjectImporter.java:205)
    			at com.ti.ccstudio.project.ui.internal.wizards.importlegacy.ImportLegacyProjectWizard$2.run(ImportLegacyProjectWizard.java:144)
    			at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
    		
    
    		!WARNING: Unresolved option: com.ti.ccstudio.buildDefinitions.C5500_4.4.exe.compilerDebug.257671754::!--symdebug:dwarf
    
    

  • Hi Jun-ting,

    The main build errors are not due to the missing XDAIS. It is due to missing csl5502.lib. You may need to check the library include paths and names in you CCS project settings and the environment variables.

    If you absolutely need XDAIS, please download and install XDAIS 7.24.00.04 and hope it will work backward compatible with your CCS project.

    Best regards,

    Ming

  • Hi Ming-Wei,

    I've attempted to correctly link all the include folders as shown in the attached image, and I have also downloaded the XDAIS version 7.24.00.04 that you mentioned. However, it seems that CCS is unable to recognize the newer version of XDAIS and continues to prompt me for XDAIS 1.0.0.

    Could there be an issue with my CCS settings? How should I modify the settings in CCS versions 7.4 and 12.4?

    Thank you for your assistance!

    Best regards,

    Jun Ting



  • Hi Jun-ting,

    Can you deselect the XDAIS 1.0.0 to try again?

    Best regards,

    Ming

  • Hi Ming-Wei,

    Thank you for your suggestion. I did come across similar advice on the forums. Unfortunately, implementing it on my device resulted in a series of C/C++ problems, which included 21 errors and 5 warnings, as depicted in the attached image.

    Best regards,

    Jun Ting

  • Hi Jun-ting,

    As I mentioned in previous post, the build errors are not due to the missing XDAIS. It is due to missing csl5502.lib. You may need to check the library include paths and names in you CCS project settings and the environment variables to make sure the csl5502.lib is actually linked to the CCS project.

    Best regards,

    Ming

  • Hi Ming-Wei,

    Thank you for your guidance. I have attempted to connect most of the folders and files, and I have resolved all problems except for three remaining errors. One of these errors, Error code 16019, does not seem to have a clear solution according to my research on the internet. It appears that the remaining two issues may be caused by this as well. Do you have any suggestions on how I might address this situation?

    Best regards,

    Jun Ting

  • Hi Jun-ting,

    First of all, I can import and build the gpt3 example for c5502 with CCS 10.40.00 and XDAIS 7.40.00:

    I do have to change a few things:

    I do have CCS 10.40, xdais_7_24_00_04 and C55xxCSL installed at c:\ti (TI default installation folder) and the following settings for CCS --> Window --> Preferences --> Products:

    Best regards,

    Ming

  • Hi Ming-Wei,

    After several days of attempts, I have done two things:

    1. I tried to run various examples (gpt/mcbsp, etc.) in CCS version 10.4, and I also couldn't clean/rebuild the project. During the import, I received an error log, which is as follows:
      !ERROR: java.lang.NullPointerException
      	at com.ti.ccstudio.project.core.internal.initializer.CCSConfigurationInitializer.doInitializeConfiguration(CCSConfigurationInitializer.java:215)
      	at com.ti.common.project.core.internal.initializer.AConfigurationInitializer.internalInitializeConfiguration(AConfigurationInitializer.java:357)
      	at com.ti.common.project.core.internal.initializer.AConfigurationInitializer.initialize(AConfigurationInitializer.java:155)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.initializeBuildConfigurations(LegacyProjectImporter.java:535)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.createManagedMakeProject(LegacyProjectImporter.java:454)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.doRun(LegacyProjectImporter.java:263)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.access$0(LegacyProjectImporter.java:224)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter$1.run(LegacyProjectImporter.java:207)
      	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
      	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2312)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.run(LegacyProjectImporter.java:205)
      	at com.ti.ccstudio.project.ui.internal.wizards.importlegacy.ImportLegacyProjectWizard$2.run(ImportLegacyProjectWizard.java:144)
      	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
      
      
      !ERROR: java.lang.NullPointerException
      	at org.eclipse.cdt.managedbuilder.internal.core.Configuration.getEditableBuilder(Configuration.java:2398)
      	at org.eclipse.cdt.managedbuilder.internal.core.Configuration.getBuildData(Configuration.java:2391)
      	at org.eclipse.cdt.managedbuilder.internal.dataprovider.BuildConfigurationData.getBuildData(BuildConfigurationData.java:148)
      	at org.eclipse.cdt.internal.core.settings.model.CConfigurationDescription$1.getChildren(CConfigurationDescription.java:309)
      	at org.eclipse.cdt.internal.core.settings.model.ProxyProvider.fillCache(ProxyProvider.java:63)
      	at org.eclipse.cdt.internal.core.settings.model.ProxyProvider.getProxy(ProxyProvider.java:87)
      	at org.eclipse.cdt.internal.core.settings.model.CConfigurationDescription.getTargetPlatformSetting(CConfigurationDescription.java:544)
      	at org.eclipse.cdt.internal.core.settings.model.CConfigurationSpecSettings.getReferenceDelta(CConfigurationSpecSettings.java:939)
      	at org.eclipse.cdt.internal.core.settings.model.CConfigurationSpecSettings.checkReconsile(CConfigurationSpecSettings.java:632)
      	at org.eclipse.cdt.internal.core.settings.model.CConfigurationSpecSettings.reconcileExtensionSettings(CConfigurationSpecSettings.java:680)
      	at org.eclipse.cdt.internal.core.settings.model.CConfigurationSpecSettings.copyExtensionInfo(CConfigurationSpecSettings.java:895)
      	at org.eclipse.cdt.internal.core.settings.model.CConfigurationSpecSettings.<init>(CConfigurationSpecSettings.java:204)
      	at org.eclipse.cdt.internal.core.settings.model.CConfigurationDescriptionCache.<init>(CConfigurationDescriptionCache.java:169)
      	at org.eclipse.cdt.internal.core.settings.model.CProjectDescription.<init>(CProjectDescription.java:318)
      	at org.eclipse.cdt.internal.core.settings.model.SetCProjectDescriptionOperation.executeOperation(SetCProjectDescriptionOperation.java:98)
      	at org.eclipse.cdt.internal.core.model.CModelOperation.execute(CModelOperation.java:346)
      	at org.eclipse.cdt.internal.core.model.CModelOperation.run(CModelOperation.java:613)
      	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
      	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
      	at org.eclipse.cdt.internal.core.model.CModelOperation.runOperation(CModelOperation.java:644)
      	at org.eclipse.cdt.internal.core.settings.model.AbstractCProjectDescriptionStorage.setProjectDescription(AbstractCProjectDescriptionStorage.java:208)
      	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionStorageManager.setProjectDescription(CProjectDescriptionStorageManager.java:153)
      	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.setProjectDescription(CProjectDescriptionManager.java:866)
      	at org.eclipse.cdt.managedbuilder.internal.core.BuildSettingsUtil.checkApplyDescription(BuildSettingsUtil.java:210)
      	at org.eclipse.cdt.managedbuilder.internal.core.BuildSettingsUtil.checkApplyDescription(BuildSettingsUtil.java:196)
      	at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager.updateBuildInfo(ManagedBuildManager.java:1355)
      	at org.eclipse.cdt.managedbuilder.core.ManagedBuildManager.saveBuildInfo(ManagedBuildManager.java:1314)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.processDependencies(LegacyProjectImporter.java:549)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.createManagedMakeProject(LegacyProjectImporter.java:456)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.doRun(LegacyProjectImporter.java:263)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.access$0(LegacyProjectImporter.java:224)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter$1.run(LegacyProjectImporter.java:207)
      	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
      	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2312)
      	at com.ti.ccstudio.project.core.internal.legacy.LegacyProjectImporter.run(LegacyProjectImporter.java:205)
      	at com.ti.ccstudio.project.ui.internal.wizards.importlegacy.ImportLegacyProjectWizard$2.run(ImportLegacyProjectWizard.java:144)
      	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
      
      
      

    2. I attempted to resolve the issue mentioned above in CCS versions 7.4 and 12.4. Following the instructions from your reply and the images, I tried to correctly link each file, particularly the csl5502.lib and various "include" folders. However, the problem seems unresolved. I have tried reinstalling different versions of CCS, but to no avail. Attached are the relevant configuration images. Is there anything else I could try to resolve this issue?








    Best regards,

    Jun Ting

  • Hi Jun-Ting,

    Here are my settings for the gpt3 under CCS 10.4.0:

    I noticed that your "include library file or command file as input" is incorrect. Only the library names here, No path names.

    I was able to import /build (CCS 3.3) the mcbsp1 with the following changes:

    Best regards,

    Ming

  • Hi Ming-Wei,

    I apologize for the confusion; I couldn't quite discern the differences between the two sets of images you provided. Could you please share your variable settings? I'm having trouble finding a "library" folder and files in the XDAIS_7_24_00_04 directory, so I tried adding the folder containing csl5502.lib to the variable fields based on the error messages, but it seems to have no effect.


    Additionally, I'd like to report something else. I found that if I do not specify the C5502 and USB2xx debug probe, and instead use a Custom C5500 Device, the Error I mentioned does not occur, but Warnings appear instead. 

    Thank you for your assistance!



    Best regards,


    Jun Ting

  • Hi Jun-Ting,

    1. The first set of images are for the gpt3 project build. The second set of images are for the mcbsp1 project. I am not sure what variable settings you were asking for

    2. the warnings are fine. It basically saying there those sections are not specified in the inker command file, so the linker will assign them to the default memory locations.

    Best regards,

    Ming

  • Hi Ming-Wei,

    Following your suggestion, I attempted to modify the paths in the Include options and File search paths, but I am unsure if these specific paths align with yours. I believe I need the paths for the following variables:

    • COM_TI_XDAIS_CG_ROOT
    • COM_TI_XDAIS_CG_INCLUDE_PATH
    • COM_TI_XDAIS_LIBRARIES
    • COM_TI_XDAIS_LIBRARY_PATH

    Here are my path variables:





    Thank you for your guidance!

    Best regards,

    Jun Ting

  • Hi Jun-Ting,

    There are two changes needed (both showed in my above screen captures):

    1. From ${C5500_CSL_CG_ROOT}/include to C:\ti\C55xxCSL\include (for compiler)

    2. From ${C5500_CSL_CG_ROOT}/lib to C:\ti\C55xxCSL\lib  (for Linker)

    Assuming your CSL is installed at C:\ti\C55xxCSL

    Best regards,

    Ming

  • Hi Ming-Wei,

    Thank you for your guidance. I deleted all projects and re-imported mcbsp1, making only the two path changes you suggested. I am pleased to inform you that I was able to build successfully.

    However, I am now encountering two types of errors when I press "debug" in CCS:

    1. An error while executing [please attach the screenshot here], followed by a "Trouble reading memory" issue when I press "continue".
    2. An "Error -1143" appears right after establishing a debug session.

    Could you please provide your insight on these issues?

    Best regards,

    Jun Ting

  • Hi Jun-Ting,

    The error message above is the GEL file c5502.gel line 202 which is part of the Init_CE0_SDRAM_5502CPUBoard() for EMIF initialization. Do you have external memory connected to the EMIF? If not, you can comment out the following lines from OnTargetConnect and OnReset:

    Init_CE1_SBSRAM_5502CPUBoard();
    Init_CE0_SDRAM_5502CPUBoard();

    Best regards,

    Ming

  • Hi Ming-Wei,

    I have finally discussed the issue with the hardware provider. The main reason for the "Trouble Reading/Write memory problem" is that the "Watchdog Timer" on the customized board performed a hardware initialization on the DSP board.
    Thank you for your assistance!

    Best regards,

    Jun Ting