Sign in

username:

password:



Not a member?

Search c55x



Search tips

Subscribe to c55x



c55x by Keywords

AIC23 | C5509 | CCS | CSL | EMIF | EVM | GEL | GPIO | HPI | Interfacing | JTAG | McBSP | OMAP | Omap15 | OMAP59 | RTDX | SDRAM | TMS320VC5509 | USB | XDS5

Discussion Groups

Discussion Groups | TMS320C55x | Re: C5510 Application doesn't work after FlashBurn with .cinit allocated in SDRAM

Technical discussions about the TI C55x DSPs (including the c5501, c5502, c5503, c5507, c5509, c5510 and OMAP5910).

  

Post a new Thread

Re: C5510 Application doesn't work after FlashBurn with .cinit allocated in SDRAM - Jeff Brower - Feb 7 16:59:56 2008



Xiyu Shi-

> I am using a Spectrum Digital TMS320VC5510 DSK board to develop an
> application. The application, after FlashBurn to the onboard FlashROM,
> runs OK if I allocate the Data Initialization Section (.cinit) in the
> SARAM(or SARAM_A/_B) via the GUI BIOS/DSP Config interface. However
> if I allocate the .cinit section in SDRAM and FlashBurn to the
> FlashROM, it does not work (or boot).
> 
> My application has to use the SDRAM for .cinit allocation. Did I
> miss something or something in my linker and hex55 option is wrong?

Where/when is your SDRAM initialized?  Functions in the .cinit section (for example,
auto_init) must run early -- before any C code runs, including DSP/BIOS -- so that
means you would need some type of asm code at the _cint00 (entry point) vector to
initialize SDRAM (i.e. correctly set 55x onchip EMIF registers).

My guess is that SDRAM is not correctly initialized when auto_init() (and probably
also BIOS_init) runs, therefore your C code fails because variables declared as const
and static are not initialized correctly.

> In the Linker option, I have
> tried both the Run-Time Autoinitialization (-c) and the Load-Time
> Initialization (-cr); the results are same.

Load-time initialization would mean your Atmel code is handling C code variable
initialization, which requires information in the COFF (.out) file which I think is
not carried forward by hex55.exe.  Such host code is fairly complex and requires a
thorough understanding of the COFF format and specific TI enhancements to it --
doesn't sound to me like you're doing that.

To find out more about what .cinit does at run-time, search TI's site for
auto-initialization.

-Jeff

> I have used the following Hex55 options in the convert command file:
> 
> myApplication.out
> -m2
> -boot
> -map myApplicationHex.map
> -parallel16
> -v5510:2
> -o myAPplication.hex
> 
> ROMS {
> PAGE 0 : ROM : o=0x400000 , l = 0x80000
> }
> 
> Thanks for you help.
> 
> Regards,
> 
> Xiyu Shi
Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution
for Commercial & Consumer End Equipment: www.ti.com/dm6467



(You need to be a member of c55x -- send a blank email to c55x-subscribe@yahoogroups.com )