Part Number: TMS320C5505
I tried to boot to external memory CS3 SRAM, I configured it in cmd file as below, it can boot to external memory, but can't run up, after connect JTAG without gel, PC value is 0xff6xx, set PC with _c_int00 value, it can run OK, so I suppose the boot process is OK, but bootloader did no jump to application.
-boot
-v5505
-serial8
-reg_config 0x1c02,0x0000
-reg_config 0x1c03,0x0000
-reg_config 0x1c05,0x0002
-delay 0xff
-reg_config 0x1c33,0x0000
-reg_config 0x1c60,0x0000
-reg_config 0x1014,0x4125
-reg_config 0x1015,0x0824
-delay 0xff
-b
-o xf.bin
C550xXFLEDtestRaw.out
below is the simple test code. only allocate blink_led() to external memory. I insert a dead loop just at the beginning of main, it also did not reach there.
void main()
{
unsigned short i, j, k;
while (1);
(IOPORT_REGISTER(0x1C02)) = 0;
(IOPORT_REGISTER(0x1C03)) = 0;
for(i=0; i<0x100; i++);
while(1)
{
blink_led();
// for(j=0; j<0xffff; j++)
{
for(i=0; i<0xa; i++)
{
for (k=0; k<0xffff; k++);
}
}
}
}
#pragma CODE_SECTION(blink_led, "blink_section")
void blink_led()
{
static int toggle=0;
if (0 == toggle)
{
LED_ON;
toggle = 1;
}
else
{
LED_OFF;
toggle = 0;
}
}
If I remove some -reg configure of the command, then it can boot and run to the dead loop. but the external memory value is wrong, so if I remove the dead loop, it will run to mess. observe the EMIF register 0x1014, 0x1015, value is right as configured. so I think the bootloader jump to application process is OK, but the external memory is not right configured, so the value in it is wrong.
-boot
-v5505
-serial8
-reg_config 0x1c02,0x0000
-reg_config 0x1c03,0x0000
-reg_config 0x1c60,0x0000
-reg_config 0x1014,0x4125
-reg_config 0x1015,0x0824
-delay 0xff
-b
-o xf.bin
C550xXFLEDtestRaw.out
Seems there is some trick in the command file configuration, please guide me.



