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.

programming flash memory through the HPI - double 16bit writes breaks bus operations (command sequence)



The HPI writes are setup as 32 bits, and the DSP is interpreting them as writing two 16 bit 'halfwords' to the flash memory (while toggling the LSB of the address). This is a problem when trying to setup the flash memory codes.

Do you know if there is some mode in the HPI or the DSP that can set up the HPI writes through the DSP memory controller ("EMIF") as 16 bit instead of the 32 bit default?

  • Which device are you using? Can you elaborate more on your system setup?

    --Christina

     

  • Christina,

    I am using a different account name but it's the same problem. I have a 6713 DSP and a flash memory, Numonyx M29W256. The DSP /CE1 drives the memory CE, and the address lines are connected with EA2 of the DSP EA connected to the A0 of the flash memory, and so on. The flash is implemented as a 16 bit device.

    I am writing 32 bit values through the HPI and the DSP is taking that to be 2 consecutive 16 bit writes to the flash, it writes the lower 16 bits with the EA2 line low and the upper 16 bits with the EA2 line high. This is a problem when I try to write and erase the flash as I cannot give the flash the correct sequence of writes.
    A version of this design had been implemented with a 6701 and worked fine.

    So, how do I use the HPI and get only a single 16 bit write to the flash?

    The setup for the device configuration pins is HD14,12,8,4 pull up and HD3 pull down

    thanks

    George

  • Based on my interpretation of Table 1 in the HPI user guide, http://focus.ti.com/lit/ug/spru578c/spru578c.pdf, the C6713 does not support single halfword access, but C620x/C670x does. 

    --Christina