All Projects → walmis → blackmagic-espidf

walmis / blackmagic-espidf

Licence: other
Blackmagic Wireless SWD Debug probe hosted on esp-idf SDK (for ESP8266) with UART on Telnet port and HTTP using xterm.js

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
HTML
75241 projects
CSS
56736 projects
Makefile
30231 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to blackmagic-espidf

esp8266-wifi-cmsis-dap
WIRELESS CMSIS-DAP USB/IP-SWD/JTAG HID adapter firmware for ESP8266 boards
Stars: ✭ 69 (-58.18%)
Mutual labels:  wifi, wireless, swd
Django Netjsonconfig
Configuration manager for embedded devices, implemented as a reusable django-app
Stars: ✭ 213 (+29.09%)
Mutual labels:  wifi, wireless
Wifi Txpower Unlocker
Stars: ✭ 173 (+4.85%)
Mutual labels:  wifi, wireless
Pedalino
Smart wireless MIDI foot controller for guitarists and more.
Stars: ✭ 105 (-36.36%)
Mutual labels:  wifi, wireless
Kickthemout
💤 Kick devices off your network by performing an ARP Spoof attack.
Stars: ✭ 2,005 (+1115.15%)
Mutual labels:  wifi, wireless
Probequest
Toolkit for Playing with Wi-Fi Probe Requests
Stars: ✭ 167 (+1.21%)
Mutual labels:  wifi, wireless
Wireless Rc Adapter
🎮 Arduino USB-Joystick adapter for RC receivers with PWM and PPM modulations up to 8 channels.
Stars: ✭ 62 (-62.42%)
Mutual labels:  adapter, wireless
Wled Wemos Shield
Wemos D1 Mini (ESP8266) or Wemos ESP32 D1 Mini (ESP32) based shield for WLED firmware
Stars: ✭ 105 (-36.36%)
Mutual labels:  wifi, wireless
ioBroker.zwave2
Z-Wave for ioBroker. Better. Faster. Stronger.
Stars: ✭ 22 (-86.67%)
Mutual labels:  adapter, wireless
ethernally
Your scrcpy companion for Android wireless screen mirroring
Stars: ✭ 33 (-80%)
Mutual labels:  wifi, wireless
RoverController
LoRa/WiFi remote controller for driving my rover
Stars: ✭ 87 (-47.27%)
Mutual labels:  wifi, esp-idf
Wifi Passview
An open source batch script based WiFi Passview for Windows!
Stars: ✭ 157 (-4.85%)
Mutual labels:  wifi, wireless
Ansible Openwisp2 Imagegenerator
Automatically build several openwisp2 firmware images for different organizations while keeping track of their differences
Stars: ✭ 122 (-26.06%)
Mutual labels:  wifi, wireless
Netjson
NetJSON is a data interchange format for encoding the basic building blocks of networks.
Stars: ✭ 171 (+3.64%)
Mutual labels:  wifi, wireless
Mitmap
📡 A python program to create a fake AP and sniff data.
Stars: ✭ 1,526 (+824.85%)
Mutual labels:  wifi, wireless
Mininet Wifi
Emulator for Software-Defined Wireless Networks
Stars: ✭ 249 (+50.91%)
Mutual labels:  wifi, wireless
ansible-openwrt
Ansible collection to configure your OpenWrt devices more quickly and automatically (without Python)
Stars: ✭ 34 (-79.39%)
Mutual labels:  wifi, wireless
Hostapd
Script for compiling, patching and packing hostapd from sources
Stars: ✭ 36 (-78.18%)
Mutual labels:  wifi, wireless
Rtl88x2bu wifi linux v5.2.4.4 26334.20180126 coex20171012 5044
rtl88x2bu driver updated for modern kernels.
Stars: ✭ 55 (-66.67%)
Mutual labels:  wifi, wireless
ESP32 Thing Plus
ESP32 Thing-compatible board using the WROOM module and a QWIIC connector.
Stars: ✭ 18 (-89.09%)
Mutual labels:  wifi, wireless

Introduction

blackmagic-espidf is a project which aims to support debugging SWD and JTAG targets over wifi by integrating blackmagic probe firmware to the espressif IDF platform for esp8266.

Features

  • NEW Automatic Attach to target on connect to GDB server
  • NEW Live Expressions support in STM32CubeIDE
  • NEW Non-Stop GDB protocol and multiple GDB connections (beta)
  • All the debug features and supported targets of the blackmagic firmware:
    • Targets ARM Cortex-M and Cortex-A based microcontrollers.
    • Connects to the target processor using the JTAG or Serial Wire Debug (SWD) interface.
    • Provides full debugging functionality, including: watchpoints, flash memory breakpoints, memory and register examination, flash memory programming, etc.
    • Load your application into the target Flash memory or RAM.
    • Single step through your program.
    • Run your program in real-time and halt on demand.
    • Examine and modify CPU registers and memory.
    • Obtain a call stack backtrace.
    • Set up to 6 hardware assisted breakpoints.
    • Set up to 4 hardware assisted read, write or access watchpoints.
    • Set unlimited software breakpoints when executing your application from RAM.
  • Implements the GDB extended remote debugging protocol for seamless integration with the GNU debugger and other GNU development tools.
  • GDB server on TCP port 2022
  • Serial port server on TCP port 23
  • Serial port over websocket on embedded http server (powered by xterm.js) @ http://192.168.4.1
  • OTA updates over tftp
  • Platform/BMP debug messages terminal over http://192.168.4.1/debug.html

web

Live Expressions in STMCubeIDE

web

STMCubeIDE settings

web

gdb connection

Supported Targets:


Requirements

esp8266 module with >= 2MB flash. Default configuration is set for 4MB flash for OTA updates. It's possible to configure for other flash sizes. see make menuconfig

By disabling OTA it should work on 1MB devices.

GPIO defaults for esp8266

GPIO0 - SWDIO

GPIO2 - SWCLK

TX0 - UART TXD

RX0 - UART RXD

Serial terminal

Connecting to serial terminal can be done using socat:

socat tcp:192.168.4.1:23,crlf -,echo=0,raw,crlf

Building

Grab the toolchain from https://github.com/espressif/ESP8266_RTOS_SDK#developing-with-the-esp8266_rtos_sdk and add it to $PATH.

git clone --recursive https://github.com/walmis/blackmagic-espidf.git
cd blackmagic-espidf
make menuconfig # optional, if you want to change some settings
make
make flash # this will flash using esptool.py over serial connection

Station Mode Configuration

To use the ESP8266 in Station mode, in the Blackmagic configuration section:

  • Configure Station mode
  • Specify the SSID and password you wish to connect to. NOTE: The SSID is case sensitive
  • (optional) Specify a hostname to make it easier to connect to the probe.

Development/Debug Configuration

When working on blackmagic-espidf it is frequently desirable to continue to use the ESP8266 UART for debugging. To achieve this you can disable Monitor target UART in the Blackmagic configuration section.

In this mode you will be unable to use the ESP UART to monitor the target and connecting the ESP UART to the target may result in undefined behavior since the debug messages will be sent to the target.

OTA Flashing

If the firmware is already on the esp8266 device, it is possible to flash using tftp. Make sure you have tftp-hpa package installed then run:

make tftpflash

Buy me a coffee

If you find this project useful, consider buying me a coffee :-)

paypal

Don't forget to support Blackmagic developers !

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].