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.

DM6446 NOR replacement on Custom hardware

Hi all:

I'm working on a project with a custom piece of hardware based on DM6446 processor. For different reasons, we are using NOR instead of NAND but I haven't been able to flash anything (I'm trying first the bootloader obviously), I tried the same procedure on a DM6446 EVM and worked. I'm using Serial Flasher Tool 2.0 and erasing the chip seems to work, the CFI query of the chip passes but during writing I get a "Buffered write failed" message.

Is there any restriction on the NOR replacement I can use? I'm using a M29EW 32MB,128KB sector size NOR chip from Numonyx.

My EVM board has a AM29LV256M 32MB, 64KB sector size chip.

I'm attaching the log from the serial flashing tool (erase and then writing), not very helpful though.

Any help is much appreciated.

************************************************************** ERASE PROCESS ************************************************************************

-----------------------------------------------------
   TI Serial Flasher Host Program for DM644x
   (C) 2010, Texas Instruments, Inc.
   Ver. 1.67
-----------------------------------------------------


Platform is Unix/Linux.
Globally erasing the NOR flash device on the DM6446

Attempting to connect to device /dev/ttyS0...
Press any key to end this program at any time.


Waiting for the DM644x...
BOOTME commmand received. Returning ACK and header...
ACK command sent. Waiting for BEGIN command...
        Target:   BEGIN
BEGIN commmand received. Sending CRC table...
 100% [ ████████████████████████████████████████████████████████████ ]
                           CRC table sent.                           

Waiting for DONE...
DONE received.  Sending the UBL...
 100% [ ████████████████████████████████████████████████████████████ ]
                              UBL sent.                              

DONE received.  UBL was accepted.

Waiting for SFT on the DM644x...
        Target: BOOTUBL
BOOTUBL commmand received. Returning CMD and command...
CMD value sent.  Waiting for DONE...
        Target:    DONE
DONE received. Command was accepted.
        Target: CFI Query...passed.
        Target: NOR Initialization:
        Target:         Command Set: AMD
        Target:         Manufacturer: INTEL
        Target:         Size: 0x00000020 MB
        Target:    SIZE
        Target: 02000000
        Target: Erasing the NOR Flash
        Target: Erased through 0x02020000
        Target: Erase Completed
        Target: SENDING
        Target: Erasing the NOR Flash
        Target: Erased through 0x02040000
        Target: Erase Completed

and continues....

 

*********************************************************************** WRITE PROCESS **********************************************************************

-----------------------------------------------------
   TI Serial Flasher Host Program for DM644x
   (C) 2010, Texas Instruments, Inc.
   Ver. 1.67
-----------------------------------------------------


Platform is Unix/Linux.
Flashing single boot image: bootloader.norbin.dchaverri.release. the NOR flash device on the DM6446

Attempting to connect to device /dev/ttyS0...
Press any key to end this program at any time.


Waiting for the DM644x...
BOOTME commmand received. Returning ACK and header...
ACK command sent. Waiting for BEGIN command...
        Target:   BEGIN
BEGIN commmand received. Sending CRC table...
 100% [ ████████████████████████████████████████████████████████████ ]
                           CRC table sent.                           

Waiting for DONE...
DONE received.  Sending the UBL...
 100% [ ████████████████████████████████████████████████████████████ ]
                              UBL sent.                              

DONE received.  UBL was accepted.

Waiting for SFT on the DM644x...
        Target: BOOTUBL
BOOTUBL commmand received. Returning CMD and command...
CMD value sent.  Waiting for DONE...
        Target:    DONE
DONE received. Command was accepted.
Sending the Application image
Waiting for SENDIMG sequence...
ACK command sent. Waiting for BEGIN command...
BEGIN commmand received.
 100% [ ████████████████████████████████████████████████████████████ ]
                  Image data transmitted over UART.                  

Waiting for DONE...
DONE received.  All bytes of image data received...
        Target: Erasing the NOR Flash
        Target: Erased through 0x02020000
        Target: Erased through 0x02040000
        Target: Erased through 0x02060000
        Target: Erased through 0x02080000
        Target: Erased through 0x020A0000
        Target: Erased through 0x020C0000
        Target: Erased through 0x020E0000
        Target: Erased through 0x02100000
        Target: Erased through 0x02120000
        Target: Erased through 0x02140000
        Target: Erased through 0x02160000
        Target: Erased through 0x02180000
        Target: Erased through 0x021A0000
        Target: Erased through 0x021C0000
        Target: Erase Completed
        Target: Writing the NOR Flash
        Target: Data verify failed.
        Target: Buffered write failed. Trying normal write

and then the serial flasher tool gets stuck

**************************************************************************************************************************************************************************************

 

Thanks

Diego Chaverri

 

  • Every effort was made to make the NOR driver in the serial flash tools as generic as possible, but testing was limited to the few different NOR flash devices available on EVMs (notably the AMD one and an Intel Strataflsh).  I've never seen a NOR flash use the AMD command set but report being an Intel manufactured part. 

    In any case, try using the -v option to see if you can get further output from the tool.  If that doesn't work, you may need to examine the source code and the data sheet and see if there is some kind of mismatch between the two. In particular, I would expect an Intel manufactured part to use the Intel command set. Being a newer device, there may be some additional commands that are required to put the NOR flash into a writable state.

    Regards, Daniel