Replies: 7 comments 13 replies
-
I agree! I will need some time to recover before I look into this, though. It seems that UPDI is not as secret as debugWIRE. However, Microchip relies apparently on translating UPDI to EDBG, which then can be interfaced to GDB RSP using, e.g., pyAVRdbg. Here is an almost successful attempt to integrate it into PlatformIO: https://community.platformio.org/t/debug-an-avr-4809-with-microupdi/19926 |
Beta Was this translation helpful? Give feedback.
-
I suspect reverse engineering the D of UPDI would be considerably easier, The KEY to enable it has been published - though they later pulled it from the datasheets :-P It almost certainly builds on the UPDI programming protocol, my guess would be that it just grants access to a few registers and an instruction or two for single stepping... but with the PHY layer publicly documented, and the way commands are sent and received understood, I think it would be just filling in a few blanks to know what UPDI requires to be sent for debugging, then the drudgery of connecting that to a debugging tool..... |
Beta Was this translation helpful? Give feedback.
-
I'm sure there are. It was in like, the old versions of the tinyAVR 0/1-series datasheets, the same round that was missing some of the pin mapping options and shit like that. I don't seem to have a copy handy though... |
Beta Was this translation helpful? Give feedback.
-
is not something here? https://www.avrfreaks.net/forum/solved-standalone-medbg-updi-programmer-and-issues-avrdude |
Beta Was this translation helpful? Give feedback.
-
Requested exporting of elvis and tools submenu to select from -Os, -O3 and -Og have been added to ATTinyCore. |
Beta Was this translation helpful? Give feedback.
-
I notice a linker error with the Arduino-IDE built-in "Serial event" example sketch. When I compile with the "-O3" flag it throws a linker error
|
Beta Was this translation helpful? Give feedback.
-
I suspect the compiler is doing something moronic to the the inline assembly. (not suspect, really, that is absolutely without a doubt what it's doing - my guess is it's unrolling a loop with a big block of inline assembly in it, which is then failing to link because after it duplicates the code many times over, there are now many copies of assembly and hence many copies of the labels. Arguably that's a compiler bug.... In any event, thanks for reminding me to remove serial event to match my other cores (I don't know to what extent we ever even HAD Serial Event on ATTinyCore, I'll have to check. But I pounded a stake into it's heart on DxCore and megaTinyCore and nobody even noticed. So out it goes. It was a horrible idea and a godawful misfeature. |
Beta Was this translation helpful? Give feedback.
-
hi, just today I found this cool thing for debugWire parts... would be nice to have it also for UPDI ;-)
https://hinterm-ziel.de/index.php/2021/12/31/dw-link-a-new-hardware-debugger-for-attinys-and-small-atmegas/
(series here)
https://www.codeproject.com/Articles/5321801/Debugging-an-Arduino-project-with-GDB-on-Classic-A?msg=5856462#xx5856462xx
(bigger article)
Beta Was this translation helpful? Give feedback.
All reactions