platform-atmelavr
platform-atmelavr copied to clipboard
Debug probe support for atmel-ice / dragon and atmega328p processor
As the title states I am looking for debug probe support for the atmel-ice / and or dragon debug probes. I specifically need support for the atmega328p processor which I am using in a custom application.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi @warrenwoolseyiii ! Thanks for your request!
We don't have required hardware, so it would be great if you could help us implement initial support for debugging in atmelavr
platform.
First steps:
Install the development version of atmelavr
:
pio platform uninstall atmelavr
pio platform install https://github.com/platformio/platform-atmelavr.git
Then create a new project and modify platformio.ini
to fit your needs, e.g.:
[env:uno]
platform = atmelavr
framework = arduino
board = uno
debug_port = :4242
debug_tool = custom
debug_init_cmds =
target remote $DEBUG_PORT
file "$PROG_PATH"
load
debug_server =
/path/to/avarice
--edbg
--debugwire
--ignore-intr
:4242
Now you can start debugging session from terminal using pio debug --interface gdb -x .pioinit
Some of above commands might not work, especially load
(in this case you will need to upload debug version of firmware manually using avrdude
)
valerii this is awesome thank you so much for getting me started. I will keep you updated with progress.
On Tue, Jun 20, 2017 at 5:14 AM, Valerii Koval [email protected] wrote:
Hi @warrenwoolseyiii https://github.com/warrenwoolseyiii ! Thanks for your request! We don't have required hardware, so it would be great if you could help us implement initial support for debugging in atmelavr platform. First steps: Install the development version of atmelavr:
pio platform uninstall atmelavr pio platform install https://github.com/platformio/platform-atmelavr.git
Then create a new project and modify platformio.ini to fit your needs, e.g.:
[env:uno]platform = atmelavrframework = arduinoboard = unodebug_port = :4242debug_tool = customdebug_init_cmds = target remote $DEBUG_PORT file "$PROG_PATH" load tb maindebug_server = /path/to/avarice --edbg --debugwire --ignore-intr :4242
Now you can start debugging session from terminal using pio debug --interface gdb Some of above commands might now work, especially load (in this case you will need to upload debug version of firmware manually using avrdude)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/platformio/platform-atmelavr/issues/53#issuecomment-309734508, or mute the thread https://github.com/notifications/unsubscribe-auth/AF0ZGieEa6Y7OCXg32q_uMYeLgdEGNXHks5sF7eMgaJpZM4N-kdg .
-- Warren Woolsey [email protected] 805 602 0458
How's the progress @warrenwoolseyiii, did you manage to get it working? 😄
I tried this and got:
$ pio debug --interface gdb -x .pioinit
PlatformIO Plus (https://pioplus.com) v0.14.1
Error: Traceback (most recent call last):
File "main.py", line 128, in main.main
File "/home/kaspar/.local/lib/python2.7/site-packages/click/core.py", line 700, in __call__
return self.main(*args, **kwargs)
File "/home/kaspar/.local/lib/python2.7/site-packages/click/core.py", line 680, in main
rv = self.invoke(ctx)
File "/home/kaspar/.local/lib/python2.7/site-packages/click/core.py", line 1027, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/kaspar/.local/lib/python2.7/site-packages/click/core.py", line 873, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/kaspar/.local/lib/python2.7/site-packages/click/core.py", line 508, in invoke
return callback(*args, **kwargs)
File "/home/kaspar/.local/lib/python2.7/site-packages/click/decorators.py", line 16, in new_func
return f(get_current_context(), *args, **kwargs)
File "cmd_debug.py", line 61, in cmd_debug.cli
File "cmd_debug.py", line 66, in cmd_debug.cli
File "cmd_debug.py", line 235, in cmd_debug.validate_debug_options
TypeError: argument of type 'NoneType' is not iterable
============================================================
An unexpected error occurred. Further steps:
* Verify that you have the latest version of PlatformIO using
`pip install -U platformio` command
* Try to find answer in FAQ Troubleshooting section
http://docs.platformio.org/page/faq.html
* Report this problem to [email protected]
============================================================
$ pio --version
PlatformIO, version 3.5.2rc2
$ pio update
...
Platform Atmel AVR
--------
Updating atmelavr @ 5d08019 [Up-to-date]
Updating toolchain-atmelavr @ 1.40902.0 [Up-to-date]
Updating framework-arduinoavr @ 1.10620.2 [Up-to-date]
...
With PlatformIO 3.5.1 I get:
$ pio debug --interface gdb -x .pioinit
************************************************************************************
Obsolete PIO Core v3.5.1 is used (previous was 3.5.2rc2)
Please remove multiple PIO Cores from a system:
http://docs.platformio.org/page/faq.html#multiple-pio-cores-in-a-system
************************************************************************************
PlatformIO Plus (https://pioplus.com) v0.14.1
Error: Traceback (most recent call last):
File "main.py", line 128, in main.main
File "/tmp/venv/local/lib/python2.7/site-packages/click/core.py", line 700, in __call__
return self.main(*args, **kwargs)
File "/tmp/venv/local/lib/python2.7/site-packages/click/core.py", line 680, in main
rv = self.invoke(ctx)
File "/tmp/venv/local/lib/python2.7/site-packages/click/core.py", line 1027, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/tmp/venv/local/lib/python2.7/site-packages/click/core.py", line 873, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/tmp/venv/local/lib/python2.7/site-packages/click/core.py", line 508, in invoke
return callback(*args, **kwargs)
File "/tmp/venv/local/lib/python2.7/site-packages/click/decorators.py", line 16, in new_func
return f(get_current_context(), *args, **kwargs)
File "cmd_debug.py", line 61, in cmd_debug.cli
File "cmd_debug.py", line 66, in cmd_debug.cli
File "cmd_debug.py", line 233, in cmd_debug.validate_debug_options
AttributeError: 'PlatformBoardConfig' object has no attribute 'get_debug_tool_name'
...
Any updates on this?
Considering its now 2020 and the popularity of the 328/Arduino, I'm quite surprised debugging isn't supported yet. Is this being considered or not?
Since Black Magic probe is supported, I think it may be possible to hack this firmware to make it pio friendly with AVR ... any other idea?
Hello, I have PICKIT4. I want debugging . Arduino leonardo is also trying to make mistakes. But it didn't work out. How should I proceed? I have Win10, Visual Studio Code( 1.64.2), PlatformIO (v2.4.2)