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.

TMS470MF06607-memory initialize problem

Other Parts Discussed in Thread: TMS470MF06607

environment:TMS470MF06607

project:TMS470M Safety MCU Demo

code:_main() add task about memory initialize

... 

SYSTEM1->MINITGCR  = 0xA; /*Enable MINI*/

SYSTEM1->MSINENA = 0x3F; /*select all ram channel*/

while((SYSTEM1->MINISTAT & 0x3F) != 0x3F);/*wait initialize complet*/

SYSTEM1->MINITGCR = 0x5;/*disable MINI*/

problem:

initialize cannot complete ,that is SYSTEM1->MINISTAT  != 0x3F .  Are there something that i don't configuration?

  • Hi,

    The flow looks correct.  I can think of only below two reasons.

    1) Make sure that MSTGENA is not enabled before setting MINITGENA
    2) one of the Memory might be faulty, so check what is the MINISTAT register value. This will give idea of which momory has completed and which one is not.

    Thanks!!!
    Prathap

  • Hi,Prathap

    to problem 1: I Make sure that MSTGENA is not enabled before setting MINITGENA

    to problem 2:   I enable all ram channel,check the MINISTAT register,only spi1 and api2 channel bit are not 1.  In order to prevent physical mistake,using two board test,the problem is still exist.

    Thanks!

    WWSONG

  • Hi Wwsong

    SPI1 and SPI2 are MIBSPI RAM's. These RAM's are autoinitialized at the Module level. That is the moment you enable the Modules( MIBSPI mode ) it goes through auto initialization, user has to wait till the BUFINITACTIVE flag clears to 0.

    So inorder to check the Memory initialization using the method you follwed, following has to be done before setting MSTGENA.

    1) Bring MIBSPI out of RESET ( SPIGCR0 register)
    2) Enable Multi buffer mode ( Set MSPIENA)
    3) wait till the BUFINITACTIVE flag clears to 0.

    Do the normal memory initializations...

    For MIBSPI RAM it is not necessary to do Memory initialization, since it is done automatically.

    Thanks!!
    Prathap