Analyzer for low level debugging of the QSPI Protocol, for use with Saleae and Kingst Logic Analyzers.
| SDK | Windows x86 | Windows x64 | Windows arm64 | Linux x64 | Linux arm64 | Mac x64 | Mac arm64 |
|---|---|---|---|---|---|---|---|
| Saleae | – | ✓ | ⚠ | ⚠ | ⚠ | ⚠ | ⚠ |
| Kingst | ⚠ | ✓ | – | ⚠ | – | ⚠ | – |
✓ Supported • ⚠ Not tested • – Not supported
- Command, Address, Dummy and Data blocks.
- Supports SIO, DIO, and QIO for Command, Address, and data. Dummy is SIO.
- Endianess, CPOL/CPHA, CS Idle State, Extra CS Pre and Post cycles
- All settings simulated.
- Octal IO
- Operation without chip select
- DDR
- Download and install Saleae Logic 1 or Saleae Logic 2
- Custom Analyzer Install Instructions
- Add "QSPI" to Analyzer list
- Set the channels and settings to match your QSPI master device.
- Capture data from Logic Analyzer or press play without device connected to simulate data.
- Download and install Kingst Virtual Instruments Studio
- Place
QSpiAnalyzer.dllinto your\KingstVIS\Analyzerfolder. (Default C:\Program Files\KingstVIS\Analyzer) - Open KingstVIS and add "QSPI" to Analyzer list
- Set the channels and settings to match your QSPI master device.
- Capture data from Logic Analyzer or press play without device connected to simulate data.
Note: Saleae users must also run git submodule update --init --recursive to download the Saleae Analyzer SDK.
- Open Project in Visual Studio with Administrative rights *1
- Select a configuration that is relative to your software (Logic1, Logic2, or KingstVIS)
- Confirm debugger, and build event paths are correct.
- Hit Play, and your software will launch with a debugger attached.
*1 Build event requires running VS with administrative rights, to copy the DLL to your analyzers folder.
Debugger Path and Post Build Event:
The commands will manually copy the DLL to your analyzers folder, and start your software, before attaching a debugger when you hit Start Debugging or F5.
The following steps are required if any of the following are true
- Your software was not installed to default location
- Your system is 32 bit
- You are using Logic 2 (Logic 2 does not have a default folder for custom analyzers)
- Edit Project
Properties->Debugging->Commandto target your software's executable - Edit Project
Properties->Build Events->Post-Build Event->Command Lineto make sure the copy target is your software's Analyzers folder.
Note: Logic 1 may throw an exception when debugger is auto-attached. If this happens, use Debug->Start without debugging or Ctrl+F5. You may be able to attach the debugger after using Debug->Attach To Process... or Ctrl+Alt+P. Note2: Attach a debugger is not reliable, may only work when using Attach To Process, and that also has a possibility to fail.
Untested on MacOS, please report any issues.
Run build.py, and it will guide you through selecting the SDK, platform, architecture, and build type automatically.
python build.pyThe wizard also supports invoking with arguments to skip prompts. Pass --help for more info.
Open Visual Studio → Continue Without Code → File → Open → CMake → select CMakeLists.txt. Then choose configuration (Debug/Release, x64) and build.
Targeting an SDK:
Use -DTARGET_SDK=[saleae|kingst] option when configuring CMake.
Will default to saleae if not included.
Example:
- Windows
cmake -G "Visual Studio 18 2026" -A x64 -DTARGET_SDK=saleae ..
cmake --build . --config Release- Linux
mkdir build && cd build
cmake -DTARGET_SDK=saleae -DCMAKE_BUILD_TYPE=Release ..
cmake --build .- macOS
mkdir build && cd build
cmake -DTARGET_SDK=saleae -DCMAKE_BUILD_TYPE=Release ..
cmake --build .After building: Copy the generated plugin to your analyzer’s plugin directory:
Windows: QSPI_Analyzer.dll Linux: libQSPI_Analyzer.so macOS: libQSPI_Analyzer.dylib
- Author : Addio
- Website : www.Addio.io



