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.

DLPC3478: Flash update commands

Part Number: DLPC3478
Other Parts Discussed in Thread: DLPC3470, DLPA2000, DLP3010LC,

I have a special build of the firmware that does not drive the LEDs. DLPC3478_DLPA2000_DLP3010LC_noLED_8.1.1.img.  Everything works fine using the internal patterns I created with the eval kit.  What I'm trying to do now is change the patterns in flash by using i2c to write a new .bin file that I created with the evk.  I think I am following the directions in paragraph 3.7 of the DLPC3470 and DLPC3478 Software Programmer's Guide DLPU075A–October 2018–Revised April 2019, but it doesn't seem to be working. Are there issues with this version of the firmware?  Also, due to some limitations of my i2c controller I can only write in 128 byte blocks.

Any help would be appreciated

  • I read the flash contents out to a file and discovered that apparently the first 128 bytes were written correctly but then "FF" was filled in from there to the end of the flash memory.

  • Hello Mike,

    How are you currently writing 128 bytes at a time to the flash? You should be doing the following:

    • Write flash data type
    • Write flash data length (128 bytes or less depending on your MCU limitation, but still a multiple of 4 bytes)
    • Write flash data start
    • Write flash data length (128 bytes or less depending on your MCU limitation, but still a multiple of 4 bytes)
    • Write flash data continue
    • Repeat as needed

    Best,

    Maximus

  • That is the procedure I am using.  The read flash update precheck passes so I know the .bin file is the correct size.  I can monitor the i2c bus with a logic analyzer and see all the data being transferred.  It just isn't being written to the flash chip.  Also, as I mentioned, too much of the flash is being cleared when I issue the write erase flash data command (E0h)

  • Hi Mike,

    Are you saying that you see your front end MCU writing the data appropriately? Are you able to monitor the SPI lines to the flash chip as well to confirm what is being written to it and what isn't? I didn't catch what your procedure was relating to the Write Flash Erase command, could you clarify? 

    Best,

    Maximus

  • I can set up to monitor the SPI lines tomorrow. What I meant about the Write Flash Erase command is that it seems to be erasing more than just the pattern data. The memory from the pattern data location all the way to the end of the flash memory is being erased.

  • Hello Mike,

    Can you provide more detail what commands your MCU is sending and in what order? Did you use the EVM GUI to create the pattern .bin?

    Best,

    Maximus

  • Hello,

    Are you still having this issue? if so please respond or open up another thread, for now I will close it.

    Best,

    Maximus