Skip to content

Commit

Permalink
V4.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
felias-fogg committed Jan 18, 2025
1 parent bca790c commit 0dfc335
Show file tree
Hide file tree
Showing 9 changed files with 508 additions and 255 deletions.
20 changes: 19 additions & 1 deletion docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,24 @@
# Changelog for dw-link

## Version 4.0.4
## Version 4.1.0
- Change: New state ISPCONN\_STATE. Former CONN\_STATE becomes DWCONN_STATE
- Change: autoDW is now sensed by checking the logic level of the DW line in the beginning. It should be low at the start and high after we powered up the board. If this is not the case, autoDW is cleared.
- Change: Two connnection routines / two disconnect routines
- Change: Giving error message when requesting anything if not DWCONN\_STATE
- Change: Giving error message when trying to change any fuses in not
AutoDW mode, when DW is active
- Change: requesting power-cycle in "monitor dw +" with timeout
- Added: New signal SIGTERM, which is raised when in ISPCONN_STATE and
any debugger actions should be done
- Added new ctx-field protectdw. This is initially true, will be set
by monitor dw + and cleared by monitor dw -. If !ctx.autodw &&
ctx.protectdw, then targetStop will not clear DW mode. This became
necessary because it can be the case that on terminating a debug
session the gdbStopConnection can be called more then once :-(, and then the simple automata model does not work anymore.
- Added `debug.cortex-debug.custom.preLaunchCommands.0=monitor dwire
+` in platform.txt (so that the user does not have to bother to switch on DW-mode).

## Version 4.0.4 (16-Jan-2025)
- Changes in platform.ini files
- Change: Giving a more informative error message when the stuck-at-1
error is diagnosed because of capacitive load on the reset line
Expand Down
271 changes: 199 additions & 72 deletions docs/manual.md

Large diffs are not rendered by default.

Binary file added docs/pics/remove-c8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/quickstart-AVR-GDB.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ The easiest way to get hold of avr-gdb is probably to download the avr-gcc toolc

## Step 5: Hardware setup

This description is for debugging an ATtiny85. However, almost any other classic ATtiny or ATmegaX8 would do. Just be aware that when trying to debug an Arduino UNO board, you need to alter the board physically (cut a solder bridge). How to set up a UNO as a target board is described in Section 4.5.2 of the [dw-link manual](https://github.com/felias-fogg/dw-link/blob/master/docs/manual.md).
This description is for debugging an ATtiny85. However, almost any other classic ATtiny or ATmegaX8 would do. Just be aware that when trying to debug an Arduino UNO board, you need to alter the board physically (cut a solder bridge). How to set up a UNO as a target board is described in Section 4.2.2 of the [dw-link manual](https://github.com/felias-fogg/dw-link/blob/master/docs/manual.md).

When you are the proud owner of a [dw-link probe](https://www.tindie.com/products/31798/), and you have a development board for the ATtiny that has an ISP connector, the setup is as easy as plugging in an ISP cable, as shown below.

Expand Down
2 changes: 1 addition & 1 deletion docs/quickstart-Arduino-IDE2.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ In order to install the firmware,

## Step 4: Hardware setup

This description is for debugging an ATtiny85. However, almost any other classic ATtiny or ATmegaX8 would do. Just be aware that when trying to debug an Arduino UNO board, you need to alter the board physically (cut a solder bridge). How to set up a UNO as a target board is described in Section 4.5.2 of the [dw-link manual](https://github.com/felias-fogg/dw-link/blob/master/docs/manual.md).
This description is for debugging an ATtiny85. However, almost any other classic ATtiny or ATmegaX8 would do. Just be aware that when trying to debug an Arduino UNO board, you need to alter the board physically (cut a solder bridge). How to set up a UNO as a target board is described in Section 4.2.2 of the [dw-link manual](https://github.com/felias-fogg/dw-link/blob/master/docs/manual.md).

When you are the proud owner of a [dw-link probe](https://www.tindie.com/products/31798/), and you have a development board for the ATtiny with an ISP connector, the setup is as easy as plugging in an ISP cable, as shown below.

Expand Down
2 changes: 1 addition & 1 deletion docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ In order to install the firmware,

## Step 4: Hardware setup

This description is for debugging an ATtiny85. However, almost any other classic ATtiny or ATmegaX8 would do. Just be aware that when trying to debug an Arduino UNO board, you need to alter the board physically (cut a solder bridge). How to set up a UNO as a target board is described in Section 4.5.2 of the [dw-link manual](https://github.com/felias-fogg/dw-link/blob/master/docs/manual.md).
This description is for debugging an ATtiny85. However, almost any other classic ATtiny or ATmegaX8 would do. Just be aware that when trying to debug an Arduino UNO board, you need to alter the board physically (cut a solder bridge). How to set up a UNO as a target board is described in Section 4.2.2 of the [dw-link manual](https://github.com/felias-fogg/dw-link/blob/master/docs/manual.md).

When you are the proud owner of a [dw-link probe](https://www.tindie.com/products/31798/), and you have a development board for the ATtiny with an ISP connector, the setup is as easy as plugging in an ISP cable, as shown below.

Expand Down
23 changes: 23 additions & 0 deletions docs/wishlist.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,5 +82,28 @@



**New control regime for entering/leaving DW**

**AutoDW**: Entering and leaving DW mode is something the user can be ignorant about. Works only if the target system is powered by the debugger.

**Non-AutoDW**: At some points, the user is asked to power-cycle the system. After debugging, the user has to restore the original state.

Possible states are: **N**ormal, **T**ransitional, **D**ebugWIRE

- `target remote ...` gdbStartConnect
- AutoDW: N|T|D -> D
- Non-AutoDW: D -> D, N|T -> T

- `quit` gdbStopConnect
- AutoDW: D|T|N -> N
- Non-AutoDW: D -> D, T|N -> N

- `monitor dwire +` gdbConnectDW
- AutoDW: N|T|D -> D
- Non-AutoDW: N|T -> PC -> D, D -> D

- `monitor dwire -` gdbDisconnectDW
- AutoDW: D|T|N -> N
- Non-AutoDW: D -> T, T -> T, N -> N

In the end, I noticed that quit did not work as expected, because sometimes the quit is called more than once! So, I added extra control-variables to take of that.
Loading

0 comments on commit 0dfc335

Please sign in to comment.