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.

[C6745] Booting from EMIFA NOR flash

Expert 1215 points

Hi,

On our C6745 based custom board, we are having some problems with booting from NOR flash on EMIFA. This is what I did and what I see.

  1. The bootloader program (size < 0x4000, with NOR config word 0x00000F00 at 0x11800000) is first loaded in the L2RAM. 
  2. It checks a version number of the program that resides on flash. If differs from own version number, it will write itself (add=0x11800000,len=0x4000) in the flash.
  3. I was expecting, after power cycle the board, to see the content of flash being copied to L2RAM. More specifically, 0x00000F00 at 0x11800000. But apperantly, L2RAM contains garbage.
  4. After initializing EMIFA using GEL, I can see the content on flash (0x60000000) is correct.

One questions is that how does the ROM bootloader setup EMIFA?  How does it know things like write strobe? In my code, I have AEMIF_A1CR = 0x08a4432C, but I bet the ROM bootloader doesn't know this.

I am pretty confident that the boot pins have been set up properly.

Thanks

  • Hi Yan,

    I found the answer to this problem.  Boot3 and Boot0 had bad levels because their internal pull up/downs were the opposite of the required state for NOR boot.  20K external pullup/downs weren't strong enough to give the required level so the 6745 wasn't actually trying to boot from NOR.

    A friendly reminder to everyone to beware of the internal pullups and pulldowns on boot mode pins!  I measured them to be approximately 28K.  External pullup/downs of 1K give good logic levels.

     

    Dave

  • A clarification - Yan is working on a board that I designed, so the boot mode pins having bad levels is my fault! :)

    Dave