cancel
Showing results for 
Search instead for 
Did you mean: 

SMT32F7XX Memory Mapped Quad Spi corruption

marcusdufrane
Associate III
Posted on April 26, 2016 at 22:51

Hello all,

I have been unable to root cause a memory mapped quad spi access error.

The error was found by accessing an array of function pointers stored in spi flash that would cause a hard_fault.

It appears to have something to do with the access to flash as speeding up the peripheral to its maximums causes the failure to occur more readily. When the flash chip is operating well within it's bounds it can take hours to crash.

Examining the array after startup but before the failure shows that the addresses are correct. After the ''glitch'' the data(address) appears to shifted by a byte. i.e. an address of 0x0805060C stored at 0x90001000 appears correctly at first, after an indeterminate time or number of accesses the same address will access as 0xXX0805060C where XX is actually the value of the next byte in memory.

Has anyone seen or heard of anything similar. The board I'm working off of was modeled after the F7 discovery board and the bsp for quad spi access is similar.

1 REPLY 1
marcusdufrane
Associate III
Posted on April 27, 2016 at 16:10

After some more though last night I realize that the problem could easily be with the flash chip, or the hardware interface. I did monitor the spi lines with an ultra low capacitance probe and the signals look pretty clean. I will attempt to narrow down the fault and build a test application that repeats the problem if it indeed still seems to be on the uC side.