Hi
I have been working for a while on a task to migrate our old code from codecomposer 3.1 to codecomposer 6.
This has been a bit of a challange, but now I have managed to create a SYSBIOS cfg file, compile the code, link the output, load it to a JTAG debugger and get the code to run to main - so far so good.
One of the first functions is main is to initialize the external memory interface, but unfortunately this fails, and the code hangs forever in a while loop waiting for WLEVEL bit to become 0.
/********************************************************************** * Function: main() * * Description: Main function. **********************************************************************/ void main(void) { int i; uint16 x = 0; /*** Initialization ***/ // Initialize the CPU (FILE: DSP281x_SysCtrl.c) InitSysCtrl(); // Initialize the external memory interface (FILE: Xintf.c) InitXintf();
/**********************************************************************
* Function: InitXintf()
*
* Description: Initializes the external memory interface on the F2812.
**********************************************************************/
void InitXintf(void)
{
/*** XINTCNF2 Register ***/
XintfRegs.XINTCNF2.bit.XTIMCLK = 1; // XTIMCLK=SYSCLKOUT/2
XintfRegs.XINTCNF2.bit.CLKOFF = 0; // XCLKOUT is enabled
XintfRegs.XINTCNF2.bit.CLKMODE = 0; // XCLKOUT = XTIMCLK
// Make sure write buffer is empty before configuring buffering depth
while(XintfRegs.XINTCNF2.bit.WLEVEL != 0); // poll the WLEVEL bit
XintfRegs.XINTCNF2.bit.WRBUFF = 0; // No write buffering
So the question is if the external memoryinteface has to be initialized in a different way under SYSBIOS that it should under the old DSPBIOS?
I have attached the CCS6 project that I am using
more info on my setup
Custom HW platform (do not know if it is based on an eval board, but most likely it is)
bios_6_46_00_23
\compiler\ti-cgt-c2000_15.12.1.LTS
This thread is is continuation of this thread
Thanks
Jens