I’ve been doing a lot of debugging of SPI Flash while working on the upcoming iMX RT 1011 Metro. These microcontrollers are somewhat unique among those we support because it stores the code to execute on external flash. (ESP32S2 does this too.) We were having trouble getting it working, so I broke out my Saleae Logic Pro 16 to monitor the SPI Flash. That way I can see both what code the microcontroller is loading and the CIRCUITPY transactions that CircuitPython does.
Saleae has a new alpha version of software they are calling Logic 2. It’s very easy to use and it was also easy to extend. I’ve created a “High Level Analyzer” that takes the lower level SPI data and interprets it into the common flash commands. The source for the extension is here: https://github.com/adafruit/Logic2-SPIFlash There is a Saleae forum thread about it here.
To install in Logic 2, click extensions on the right hand side. Under the three dot, more menu, click “Check for Updates” then install the “SPI Flash” extension.
To use:
Click the analyzers tab.
Add a SPI analyzer and configure it for your capture.
Add a SPI Flash analyzer.
Set the SPI analyzer as the Input Analyzer.
Min Address, Max Address and Decode Level are optional.
Change Address Bytes to match
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey