AnsweredAssumed Answered

Boot from Dataflash

Question asked by Torben Luedeking on Oct 6, 2014
Latest reply on Oct 15, 2014 by Torben Luedeking

Hello Everyone

 

I'm trying to start an Application from the Dataflash we attached to the QuadSPI.

 

At first i download all necessary Files via Serial Downloader to the OCRAM.

Followed by an Application which contains it's own IVT. The task of this App is to init QSPI and write the other

Files to the Dataflash. This works perfectly fine.

The files are written to the following locations:

 

0x20000000(Page 0 offset 0) QuadSPI Conf. param including LUT

0x20000400(Page 1 offset 0) IVT and DCD (points to the ADDR of the IMAGE)

0x20000800(Page 2 offset 0) Image

 

Note: Size of a Page is 528 byte by default or can be set to 512 byte. So the offset of the image is 528 bytes and not as expected 1kb.

 

I'm pretty sure that my IVT and DCD are correct, it's created in the same way like the IVT for the App which writes the files to the Dataflash.

Of course with changed ADDRs. If it is correct that the QuadSPI conf. parameters +LUT are req. in Little Endian this should be also correct.

 

I guess there could be a Problem with the CPU to read from the Dataflash. Our Dataflash requires ADDRs in the following Format 2 Dummy Bits 12 Page Bits(which Page on the Flash to read) 10 Bits offset (start ADDR inside the Page). If the CPU expects the ADDRs to be continously this could cause Problems while reading. The Read-CMD in the LUT should still work fine if the Boot ROM doesn't calculate ADDRs by itself and just reads the whole Image at once from 0x20000400 into the OCRAM. But if it reads just pieces and calculates then a new ADDR this could be the problem (possible to generate invalid ADDRs).

 

So what i need to know is what does exactly happen when the Boot ROM reads Data from QSPI, does it read all at once or piece by piece ?

 

Best regards,

Torben

Outcomes