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.

RM48 EMIF nWE Signal 3 'nd

Other Parts Discussed in Thread: HALCOGEN

Hi TI Sir:

I used HALCoGen: 04.05.02 - Released 02.Mar.2016

RM48L952DZWTT

CS4 Address 0x68000000,

The same problem , nWE signal 3'nd

On sys_starup.c 

I add

void _c_int00(void)
{

/* USER CODE BEGIN (5) */
/* USER CODE END */

/* Initialize Core Registers to avoid CCM Error */
_coreInitRegisters_();

/* Initialize Stack Pointers */
_coreInitStackPointer_();

/* USER CODE BEGIN (6) */

/* USER CODE END */
   _mpuInit_();
   _mpuEnable_();

/* USER CODE BEGIN (7) */
/* USER CODE END */

/* Work Around for Errata DEVICE#140: ( Only on Rev A silicon)
*
* Errata Description:
* The Core Compare Module(CCM-R4) may cause nERROR to be asserted after a cold power-on
* Workaround:
* Clear ESM Group2 Channel 2 error in ESMSR2 and Compare error in CCMSR register */
if (DEVICE_ID_REV == 0x802AAD05U)
{
_esmCcmErrorsClear_();
}

It can't write data to SRAM ( I write 0x1234 , become 0xaaaa , and system can't run)

Please solved it

Best Redards

By Ken Lin

  • Did you enable the EMIF driver in HALCoGen? Did you call emif_ASYNC3Init() before trying to access the EMIF? What hardware are you using, is it an HDK from TI or your own custom board?
  • Hi Bob:

    Yes ! All my code from HALCoGen , Then Compile on Keil C V4.23
    I have call emif_ASYNC3Init() ,
    My project used RM48L952DZWTT , not used HDK

    My code as Below:

    uint16 *FPGA_Address_CS4;

    emif_ASYNC3Init( ); //CS4, FPGA

    // FPGA test


    while(1)
    {
    FPGA_Address_CS4 = (uint16 *) 0x68000000U;
    FPGA_Address_CS4[0] = 0x2345U;
    FPGA_Address_CS4[1] = *(uint16 *) 0x68000000U; //read from 0x68000000, write to 0x68000002
    FPGA_Address_CS4[2] = *(uint16 *) 0x68000000U; //read from 0x68000000, write to 0x68000002


    for(i=0; i<delay; i++)
    {

    LED_Run_ON();

    }

    for(i=0; i<delay; i++)
    {

    LED_Run_OFF();

    }
    }



    and
    _mpuInit_();
    _mpuEnable_();

    on void _c_int00(void)

    Where need to modify?

    Best Regards

    By Ken Lin
  • Hi Bob:
    I used HALCoGen and compile on Keil C 4.23
    I used RM48L952DZWTT to design , not usd HDK
    I have emif_ASYNC3Init() :
    code as below:

    emif_ASYNC1Init( ); //CS2, MRAM
    emif_ASYNC2Init( ); //CS3, NRAM
    emif_ASYNC3Init( ); //CS4, FPGA
    /---------------------------------------------

    #if 1
    //MRAM & FPGA test


    while(1)
    {
    FPGA_Address_CS4 = (uint16 *) 0x68000000U;
    FPGA_Address_CS4[0] = 0x1234U;
    FPGA_Address_CS4[1] = *(uint16 *) 0x68000000U; //read from 0x68000000, write to 0x68000002
    FPGA_Address_CS4[2] = *(uint16 *) 0x68000000U; //read from 0x68000000, write to 0x68000002


    for(i=0; i<delay; i++)
    {

    LED_Run_ON();

    }

    for(i=0; i<delay; i++)
    {

    LED_Run_OFF();

    }
    }

    Best Regards

    Ken Lin