Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

CCS/TMS320C6418: C6418 second bootloader _c_int00

$
0
0

Part Number:TMS320C6418

Tool/software: Code Composer Studio

Hello,

I develped a second bootloader for a  custom board. Target C6418, CCS5.2 and the application is a NON bios application. It is not fully working. I stored the binary file into the flash, cs1, 8 bit. I see that the first 1k of the image is correctly  copied at boot and then I was able to confirm that the boot.asm routine correctly copies the application image from the external flash into the onchip ram (in order to debug this I added an infinite loop at the end of the boot.asm code and loaded the symbols with the debugger and finally with the memory viewer I was able to see at ram 0x400 the app image bytes correctly copied). The problem seem to be at the _c_int00 call, infact once the .asm routine is ended and the c_int00 is called nothing else happen. What I don't understand is that I see the app correctly working if I:

1) connect the target with the emulator;
2) Reset the cpu with the code composer menu Run-> ResetCpu

3) Let the application run (F8)

Why if I am connected with the emulator and I simply perform a Cpu reset command followed by run command I see the app correctly loaded from the flash and executed but if I turn on the board (without the emulator) it doesn't work? Is it something related with the linker configuration? I made sure that no hardware bug is showing at board startup. I even added to the boot.asm routine a long delay (30sec) in order to be sure that something related with startup clud affect the bootloader.

I see that the _c_int00 for my target (C6418) is managed by the rst6400.lib and looking at the map file I see it placed at address 0x1864. I linked the rts6400 library on the project properties at "Runtime Support library" filed on "General" project properties.

I used this commands:

MyApp.out

-b

--image

--map MyApp.map

--entrypoint _c_int00

--zero

ROMS

{

 ROM1: org = 0x000000000, len = 0x001C00, romwidth=8,memwidth=8
 
 files={MyApp.bin}

}

Do you have any suggestion about how to understand this?

Is "Load Symbol" actually the best way to debug what is happening at boot time?

Since I see it working in one I connect the target with the emulator (load symbols), what is the difference on this setup compared to the typical boot sequence?

Thank you

Regards


Viewing all articles
Browse latest Browse all 262198


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>