All,
We are using the pspdrivers_01_30_01 EDMA Uart driver in an application on a C6745. When this application is loaded over JTAG, with the following in the GEL file (no hardware initialisation):
OnTargetConnect( ) { GEL_TextOut( "\nc6747 DSP Startup Sequence\n\n" ); /* Hardware initialisation disabled as application takes care of itself. Setup_System_Config( ); // Setup Pin Mux and other system module registers Setup_PLL(); // Setup PLL0 (300MHz DSP, 133MHz EMIFs) Setup_Psc_All_On( ); // Setup All Power Domains Setup_EMIFA(); // Async EMIF Setup_EMIFB(); // Setup SDRAM */ GEL_TextOut( "\nStartup Complete.\n\n" ); }
then the UART works perfectly. When the application is loaded from SPI flash by the AIS bootloader then the GIO objects are created successfully but GIO_write calls don't return.
If I connect with the debugger to the application after it has booted from flash I note that the PWREMU_MGMT register reads 0x00000002 (i.e. the UART is in reset), when loading from JTAG it is set to 0x00006002 (the UART is running). This register is explicitly set to 0x00006000 by the psp driver.
What could be causing this register write to fail? The PSC register (PSC 1 LPSC 13) indicates it is not in reset and the clock is running.
Thanks,
Stephen English