18 lines
1.2 KiB
Plaintext
18 lines
1.2 KiB
Plaintext
SWD-LINK 1.0
|
|
------------
|
|
|
|
SWD-LINK is an implementation of ARM's "Serial Wire Debugging" (SWD) protocol with an AVR ATMEGA8.
|
|
|
|
SWD needs only 2 wires (clock and data) and gives you full read/write access to all registers and memories and peripherals of an ARM Cortex M microcontroller.
|
|
|
|
Low-level bitbanging is performed by an AVR ATMEGA8, which acts as a postman for SWD-packets. The AVR receives the packets (header plus data) from the PC and passes them on via SWD data line to an ARM Cortex M microcontroller. The AVR will then read the response (ACK plus data) from the target and pass it back to the PC.
|
|
|
|
A sample Java application is provided which will flash the 4 user LED's on an STM32F4-Discovery board in a SWD debugging session. The Cortex M4 is then reset by writing the address of the reset handler into register 15 (which is the program counter).
|
|
|
|
The source code for SWD adapter and Java application are basically a hands-on introduction into SWD-packet-programming.
|
|
The sources are on https://github.com/GerhardPaulus/SWD-LINK
|
|
|
|
Thanks to Seb and John from Dresden hackerspace C3D2.de for the introduction into STM32F4 development, which made this project possible.
|
|
|
|
Gerhard
|