DSPRelated.com
Forums

Re: Where to find instructions on EMIF configuration in GEL file

Started by William C Bonner February 9, 2008
Here's the code I used. Assuming that the boot bios on my hardware that
passes control to my program has set up the hardware correctly, what are
the chances that I could use the output I get here for entry in my gel
files?
#if (EMIF_SUPPORT)
EMIF_Config emifCfg;
EMIF_getConfig(&emifCfg);
fprintf(UART_A_tx,"emifCfg.gblctl:\t%08X\n",emifCfg.gblctl);
fprintf(UART_A_tx,"emifCfg.cectl0:\t%08X\n",emifCfg.cectl0);
fprintf(UART_A_tx,"emifCfg.cectl1:\t%08X\n",emifCfg.cectl1);
fprintf(UART_A_tx,"emifCfg.cectl2:\t%08X\n",emifCfg.cectl2);
fprintf(UART_A_tx,"emifCfg.cectl3:\t%08X\n",emifCfg.cectl3);
fprintf(UART_A_tx,"emifCfg.sdctl:\t%08X\n" ,emifCfg.sdctl);
fprintf(UART_A_tx,"emifCfg.sdtim:\t%08X\n" ,emifCfg.sdtim);
#if (C11_SUPPORT)
fprintf(UART_A_tx,"emifCfg.sdext:\t%08X\n" ,emifCfg.sdext);
#endif
/*
Old Hardware output:
emifCfg.gblctl: 00003F78
emifCfg.cectl0: 11514511
emifCfg.cectl1: 21624502
emifCfg.cectl2: 10914202
emifCfg.cectl3: 10414110
emifCfg.sdctl: 0248F000
emifCfg.sdtim: 000A65DC
emifCfg.sdext: 0017DF3F

New Hardware output:
emifCfg.gblctl: 00003778
emifCfg.cectl0: 00000090
emifCfg.cectl1: 21624502
emifCfg.cectl2: 10914202
emifCfg.cectl3: 10414110
emifCfg.sdctl: 62116000
emifCfg.sdtim: 000645DC
emifCfg.sdext: 0004B428
*/
#endif

William C Bonner wrote:
> Thanks for the information. Yes this is all related to a 6713 based
> system (TMS320C6713) and I normally try to include that information in
> my posts so that when I'm web searching for things a year from now
> I'll be more likely to find relevant information.
>
> See my other response to the list for the information about what my
> underlying problem really was. I may be initializing the EMIF
> slightly wrong, but the bigger problem has to do with the hardware
> watchdog rebooting my board in the middle of my uploading software
> over the JTAG.
>
> I wrote some code using the functions that requested the
> config from a running program, and then prints the output to the
> serial port in hex. I'm on a plane right now, and I forget to get the
> latest version of code transferred to my laptop so I can't include the
> exact code. Assuming that the EMIF gets set correctly by the original
> process that starts my board during power up, should I be able to
> retrieve all of the correct settings for my gell file in this
> fashion? I wasn't sure if some of the bits may be in a different
> state at runtime than they should be initialized to when starting the
> board?
>
> I still have intermittent problems debugging the board using CCS and
> the JTAG connection. Sometimes when I've been running fine in the
> debugger and have halted the system at a break point, realizing what
> the problem is I fix the code, rebuild and push the code into the
> device, and then start running, but for some reason the board doesn't
> respond to interrupts. (Sorry for the run on sentence.) Halting the
> processor followed by recompiling and pushing the code generally makes
> it work. I've got CCS configured to push the code over the JTAG
> automatically after a successful build, as it makes my dev process
> seem much faster in general.
> If you think these symptoms may be related to incorrect parameters, or
> even function calls or sequences in my GEL file, I'll post that
> question with the results of querying any of the registers in my
> running system that may give useful information.
> Thanks for all the input. Wim.
> Adolf Klemenz wrote:
>> William,
>>
>> the SDRAM parameters look reasonable. SDRAM requires a clock, which
>> is typically connected to the DSP ECLKOUT pin.
>>
>> Please verify this clock is configured correctly (I assume you are
>> using a 6713 board):
>>
>> - if ECLKOUT is derived from the on-chip PLL:
>> DEVCFG register, bit 4 must be cleared,
>> PLL divider DIV3 must be programmed to generate the required clock
>> (typically 100 MHz)
>> - if ECLKOUT is driven by an external oscillator connected to ECLKIN:
>> DEVCFG, bit 4 must be set
>>
>> Also, a DSP reset in CCS will reset the EMIF configuration. You may
>> call the EMIF initialization in the GEL OnReset() function.
>>
>> Best Regards,
>> Adolf Klemenz, D.SignT
>> At 05:13 06.02.2008 -0800, William C Bonner wrote:
>>
>>
>>> I have two very similar boards that I need to work with in my debugger
>>> with Spectrum Digital 510USB jtag device and CCS 3.1.
>>>
>>> The primary difference is that the V1 board uses a Samsung
>>> K6X8016T3B-TF55 chip providing 1MB of SRAM, and the V2 board uses a
>>> Samsung K4S561632E-TI75 chip providing 32MB of SDRAM.
>>>
>>> When I was given the V1 board, someone else set up my CCS environment
>>> for me. Now I've been given the V2 board, and I'm trying to adjust for
>>> the new environment.
>>>
>>>
>>>
Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467