[Hackrf-dev] SPIFI boot

Michael Ossmann mike at ossmann.com
Mon May 21 19:11:47 EDT 2012


Jared,

I started setting up a gcc dev environment and got to the point where I
can compile some code:

https://github.com/mossmann/hackrf/tree/master/firmware

I compiled blinky and loaded it onto the SPI flash with a GoodFET, set
the BOOT0 jumper high and the others low, and powered it on, but I don't
get blinky LEDs.

So now I'm starting the process of figuring out what is wrong and
thought you might have some insight since you've actually run code on
the thing and I haven't. :-)

Have you booted from SPIFI? Any idea if I'm linking properly?

"The boot ROM copies the image to internal SRAM at location 0x1000 0000
and jumps to that location (it sets ARM's shadow pointer to 0x1000 0000)
after image verification. Hence the images for LPC43xx should be
compiled with entry point at 0x0000 0000."

However, the flowchart and some later text seem to indicate that there
is no copying in the case of SPIFI boot (without AES header), and that
the shadow pointer is set to the SPIFI address (0x80000000). Either
way, it seems that I should be able to link my image with a 0x00000000
entry point.

A possible source of error is that I copied as much as possible from the
Ubertooth firmware source rather than building from scratch or using the
linker script example from the new toolchain. Considering the strong
similarity between the M3 and M4, I thought that would be the quickest
way to get up and running.

My next step will be to try out this scope's logic analyzer function and
see what is happening on the SPIFI bus. A quick check indicates that
there is some activity at boot time (and there is no activity when the
boot jumpers are set differently).

Do you have a .hex file I could load onto my SPI flash to test?


More information about the HackRF-dev mailing list