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.

XINTF initialization

I have a C28335 DSP with Sys/Bios. I am porting from RAM to FLASH.

In the past, with DSP/Bios 2 we set up external RAM in main().

With Sys/Bios, main() seems too late, I would think Sys/Bios needs to access SRAM prior to calling main().

Where do I set up the XINTF configuration to allow Sys/Bios to run?

There don't seem to be any GUI prompts for it in the .cfg file.

Thanks,

Jan

 

  • Hi Jan,

    There is a BIOS-specific .gel file for the 28335 that enables XINTF before your image is loaded onto the target.  The .gel file accompanies most recent CCSv4 releases and can be found at [CCSINSTALLDIR]\emulation\gel\f28335dspbios.gel.

    You try out this .gel file by going to Tools->GEL, removing any existing .gel files and loading f28335dspbios.gel.    Alternatively, you can configure your target configuration to always use this .gel file.

    Regards,

    Shreyas

  • If you want to boot from FLASH and use the external RAM, then you need to init the XINTF bit so that external memory is visible to the 28x device.

    I suggest you use the Reset module and set it to call your reset function.

    The reset functions are called at the very beginning of the boot sequence.  Right after the stack pointer is initialized, but _before_ C initialization of the C data structures.  So, your reset function needs to be careful to not reference any global data since this data will not have been initialized yet.

    Add the following to your .cfg file:

    var Reset = xdc.useModule('xdc.runtime.Reset');
    Reset.fxns[Reset.fxns.length++] = '&myReset';


    -Karl-

  • Using the Reset functions fixed my XINTF Init problem!

    I had to initialize XINITF registers and the GPIO associated with the XINTF Data, address, and control bus' and enable PCLKCR3 flags.

    Thanks all,

    Jan