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.

DLPC3439: How to update the SPI Flash image by DLPC3439

Part Number: DLPC3439

We got an external CPU connected with DLPC3439 by I2C bus, and need to on-line update the image in the SPI FLASH chip that attached on DLPC3439 with external CPU program.

The CPU program sent order to DLPC3439 by I2C bus, and then the DLPC3439 read/write/erase the SPI FLASH chip.

We could read and erase the SPI flash successfully, while encountered problem when write the SPI FLASH chip.

Following is the step:

1. Command "0xDE" set flash type,we choose "Entire Flash"

2. Command "0xDD" , pre check

3. Command "0xDF" ,set flash data length

4. Command "0xE1" , write start

5. Command "0xDF", set flash data length

6. Command "0xE2", write continue

Then repeat step 5 and step 6.

We found command 0xE1 could write the data in flash successfully, but command 0xE2 failed,the data in flash is still  0xFF after writing.

Is there anyone can help on this? Thanks.

  • Hello Mars,

    Here is the (slightly different) I2C commands we send when writing to the flash. Note the write chunk size is 1024 bytes. Please try the new commands and let me know if you have success.

    1. 0xDE Set Flash Type to “Enter Flash”
    2. 0xE0 Erase Flash to erase the entire flash
    3. 0xDF Write Flash Data Length (set to 1024 bytes)
    4. 0xE1 Start Write the first 1024 bytes of data
    5. 0xE2 Continue Write the next 1024 bytes of data
    6. Repeat step #5 until completed


    Thanks,
    Kyle