All Projects → iliasam → MCUCapture

iliasam / MCUCapture

Licence: other
Utility for plotting array data from MCU RAM

Programming Languages

c
50402 projects - #5 most used programming language
C#
18002 projects

Projects that are alternatives of or similar to MCUCapture

Nf Interpreter
⚙️ nanoFramework Interpreter, CLR, HAL, PAL and reference target boards
Stars: ✭ 168 (+663.64%)
Mutual labels:  stm32, mcu
CoreLibrary
📦 nanoFramework Base Class Library
Stars: ✭ 32 (+45.45%)
Mutual labels:  stm32, mcu
Graphical Debugging
GraphicalDebugging extension for Visual Studio
Stars: ✭ 88 (+300%)
Mutual labels:  array, plot
Various mcu debugger diy
各种LInk大合集
Stars: ✭ 402 (+1727.27%)
Mutual labels:  stm32, mcu
pikascript
Ultralightweight Python engine that can run with 4KB of RAM and 32KB of Flash (such as STM32G030C8 and STM32F103C8), and is very easy to deploy and expand.
Stars: ✭ 855 (+3786.36%)
Mutual labels:  stm32, mcu
Stm32 Bootloader
Customizable Bootloader for STM32 microcontrollers. This example demonstrates how to perform in-application-programming of a firmware located on an external SD card with FAT32 file system.
Stars: ✭ 541 (+2359.09%)
Mutual labels:  stm32, mcu
nf-Visual-Studio-extension
🧰 Visual Studio extension for .NET nanoFramework
Stars: ✭ 42 (+90.91%)
Mutual labels:  stm32, mcu
Pyocd
Open source Python library for programming and debugging Arm Cortex-M microcontrollers
Stars: ✭ 550 (+2400%)
Mutual labels:  debug, mcu
php-helpers
An extensive set of PHP helper functions and classes.
Stars: ✭ 27 (+22.73%)
Mutual labels:  array, debug
versaloon
JTAG Versaloon firmware for the STM32 Bluepill board
Stars: ✭ 95 (+331.82%)
Mutual labels:  stm32, openocd
Home
🏠 The landing page for nanoFramework repositories.
Stars: ✭ 315 (+1331.82%)
Mutual labels:  stm32, mcu
OpenOCD
STMicroelectronics customized version of OpenOCD supporting STM32 MCUs and MPUs
Stars: ✭ 34 (+54.55%)
Mutual labels:  stm32, openocd
stm32DevelopmentBoards
Development boards and software templates for STM32 MCU
Stars: ✭ 41 (+86.36%)
Mutual labels:  stm32, mcu
Stm32 Dma Uart
Efficient DMA timeout mechanism for peripheral DMA configured in circular mode demonstrated on a STM32 microcontroller.
Stars: ✭ 111 (+404.55%)
Mutual labels:  stm32, mcu
Daplink
Stars: ✭ 1,162 (+5181.82%)
Mutual labels:  debug, mcu
arm-hard-fault-handler
What to do when Hard fault hits? Debugger and error reporter solution for ARM Cortex M3 and M4.
Stars: ✭ 32 (+45.45%)
Mutual labels:  stm32, debug
RailLink
Compact isolated version of J-Link v9.
Stars: ✭ 69 (+213.64%)
Mutual labels:  stm32, debug
stm32-rustup
A guide to rust your stm32 microcontroller
Stars: ✭ 25 (+13.64%)
Mutual labels:  stm32, mcu
IOsonata
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards
Stars: ✭ 40 (+81.82%)
Mutual labels:  stm32, mcu
O7
Oberon → ARMv{6,7E}-M compiler
Stars: ✭ 27 (+22.73%)
Mutual labels:  stm32

MCUCapture

This Windows utility plot array data from MCU RAM. Instead of utilities like "STM Studio", this utility is working with single RAM array. It could be useful for displaying data captured by ADC, and so on. Supported saving captured array data to file.
Also this utility could be used for capturing B/W screnshots from MCU framebuffer.

Utility screenshot: Alt text

This utility is using OpenOCD connection to the MCU. Connection to the OpenOCD is made by Telnet at 4444 port.
I made a special patched version of OpenOCD to get value watchpoint support for Cortex-M. This is needed for "Capture Trigger" functionality. You can download it here: https://yadi.sk/d/tDvl2aGxWSdeHg
Example of starting OpenOCD for STM32F4: "openocd -d2 -f interface/stlink.cfg -f target/stm32f4x.cfg"

Utility usage:

Getting plot data:

  1. Enter array address and its length to "Start address" and "Array size, bytes" fields.
  2. Press "Manual Read" button to capture data from MCU. There is no auto halt function and the readout is slow, so there is no synchronization during data readout.
    Pressing "Wait End WP" button will set write watchpoint to the the last byte of the array. When watchpoint event happens, the MCU will enter to halt mode, and utility will automatically read data from RAM. After completion of that process watchpoint will be removed.
    This mode is not working when data is written to the RAM by DMA.
    Pressing "Wait Trigger" button will set value watchpoint to the address entered to "Variable address" field. This mode is similar to previous mode, but a certain variable could be used as a "trigger".

You can set data structure by "Data Structure" group. It is useful when data is captured by ADC from several channels.

Array and trigger value addresses could be taken from *.elf, *.out, *.afx files:
Alt text

Select "Data Saving" tab for saving captured data to file. Data capture is started as previously described.

Capturing framebuffer:

Now this is supported for B/W displays like OLED with SDD1306 or LCD with ST7565R (single byte contains 8 vertical pixels, data is organized horizontally).
Alt text
You can get cursor position by pressing to the image.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].