2016-04-26 01:51 PM
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.2016-04-27 07:10 AM
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.