Using curiosity nano nEDBG for other AVRs

Go To Last Post
55 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The curiosity nano nEDBG debugger appears to be fixed on its controller.

Is there a way to change that to use the severed debugger for other AVRs?

This topic has a solution.
Last Edited: Thu. Dec 2, 2021 - 09:09 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There is and there was a post in the last week that linked to the original thread where someone gave step by step instructions on the modifications you have to make to the board to allow this. Not sure how you will find it though.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Tools/Options/Tools

:: Morten

 

(yes, I work for Microchip, yes, I do this in my spare time, now stop sending PMs)

 

The postings on this site are my own and do not represent Microchip’s positions, strategies, or opinions.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
There is and there was a post in the last week that linked to the original thread where someone gave step by step instructions on the modifications you have to make to the board to allow this

That was probably me - I think this is the original thread: https://www.avrfreaks.net/forum/low-cost-debugger-xplained-kits

 

EDIT

 

Here: https://www.avrfreaks.net/commen... - and that was the one I linked to

 

Another: https://www.avrfreaks.net/forum/externalize-medbg-signals-breadboard-328p

 

I searched "medbg external target"

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Tue. Nov 30, 2021 - 11:03 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:

That was probably me - I think this is the original thread: https://www.avrfreaks.net/forum/low-cost-debugger-xplained-kits

 

Perfect, thanks, I will study it.

So far I have found out that the Device Programming Tool can be used if the controller name is edited there by hand.

Only debugging fails.

 

awneil wrote:
"medbg external target"

 

Should be something other than nEDBG?

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:
Should be something other than nEDBG?

I'd have thought the same would apply for any *EDBG - you could try the search(es) ...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
I'd have thought the same would apply for any *EDBG - you could try the search(es) ...

 

nEDBG works with UPDI, Curiosity nano Boards completely different from Xplained Mini...

 

clawson wrote:
There is and there was a post in the last week that linked to the original thread where someone gave step by step instructions on the modifications you have to make to the board to allow this. Not sure how you will find it though.

 

My request has a certain justification after all !?

It's all about debugging. This is the error message:

 

 

Last Edited: Tue. Nov 30, 2021 - 11:34 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:
nEDBG works with UPDI, Curiosity nano Boards completely different from Xplained Mini...

the principle remains the same

 

EDIT

 

Some other Xplained boards with other debug interfaces (including UPDI): https://www.avrfreaks.net/commen...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Tue. Nov 30, 2021 - 11:40 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:
This is the error message:

 

You'll need to explain what, exactly, you did to reach that point.

 

I don't think the suggested threads do a "custom programming tool" - they just remove the single-chip restriction?

 

gripennn wrote:
Start Atmel studio, connect Xplained board to USB and you should see it in View->Available Atmel Tools. Click it by right mouse button and select Device Programming (another way is Tools->Device programming). Picture tutorial have been created for "hack" Xnano module to TPI programmer (more about this later), but setup for Xplained is the same so do not stop over that "tiny104" and "TPI". Now you can select only one device - mega328/168 (depends which kit you have). At website of Jay Carlson i've read that limitation is only software block in Atmel studio. Lets remove it. Click at icon "gear" (options). Select Tools->Tool Setting and change Hide Unsupported devices to False. Close and open window again and now you have acces to all Atmels. 

https://www.avrfreaks.net/forum/low-cost-debugger-xplained-kits

 

EDIT

 

Also mentioned in that thread is that the mEDBG seems to require that the Target be clocked from the mEDBG - so might be another thing to look into ...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Tue. Nov 30, 2021 - 11:46 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OP is asking about nEDBG.

 

At your own risk, you can use pydebuggerconfig: https://pypi.org/project/pydebug...

 

With this tool you can customise your sawed-off Nano, for example:

 

pydebuggerconfig replace -r DEVNAME=AVR128DA28
Writing AVR128DA28 into register DEVNAME...

You might need a power toggle of both IDE and Nano to clear caches afterwards.

Of course nEDBG only really does UPDI, so it can't support older AVRs.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
You'll need to explain what, exactly, you did to reach that point.

 

The message appears when you want to start debugging. Followed by the message:

 

awneil wrote:
I don't think the suggested threads do a "custom programming tool" - they just remove the single-chip restriction?

 

Yes. And there is no real restriction in 'Device Programming Tool'. You can even edit the controller name by hand. With the tools settings, only all possible options are displayed.

Last Edited: Tue. Nov 30, 2021 - 11:58 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mraardvark wrote:
With this tool you can customise your sawed-off Nano

 

Interesting tool. Which setting specifically makes the above error messages disappear? The mere change of DEVNAME?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That should be enough - it's what Studio reads out to fill in that drop-down box.

Edit: Start with "pydebuggerconfig read" to see what you have...

Last Edited: Tue. Nov 30, 2021 - 04:52 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mraardvark wrote:

Start with "pydebuggerconfig read" to see what you have...

 

It should be an AVR128DB48. 

I really only need 20 pins less ;-(

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mraardvark wrote:
At your own risk, you can use pydebuggerconfig

 

Obviously a full-fledged Linux PC is required for this?

I can't access the debugger under Win10 / Linux-Ubuntu Bash,

a Raspi (4) OS doesn't support the program indecision

 

My little nEDBG Programmer.

Debugging for the moment only for AVR128DB48 frown

 

Last Edited: Wed. Dec 1, 2021 - 10:21 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

if you can run python 3, then you can run pydebuggerconfig.

(all usual python application caveats apply - like is the python scripts folder in your path?)

I can't remember if i have used it on a rPi, but I don't see why it should not work - want to share what happens?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mraardvark wrote:
I can't remember if i have used it on a rPi, but I don't see why it should not work - want to share what happens?

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ah - could it be that you are using py39?

Argh - we are a bit behind on 3.9 qualification on some packages :/

Either:

- try py3.8 if available

- try install (beta) from test.pypi (pip install -i https://test.pypi.org/simple/ pydebuggerconfig)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mraardvark wrote:
Argh - we are a bit behind on 3.9 qualification on some packages :/

 

Well, in the meantime I've installed Linux Mint Mate and everything I need on a notebook and I'm stuck here:

 

 

Exactly the same problem occurred yesterday under Win10-Ubuntu...

Last Edited: Wed. Dec 1, 2021 - 11:52 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

 

AVR128DB48 Curiosity Nano

 

A promise is a promise.

 

The truth is more important than the facts.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:
Exactly the same problem occurred yesterday under Win10-Ubuntu...

Hmmm - I suspect something fishy with hidapi / usb layer here.

Unfortunately some [other]'work' is calling right now... it could be worth trying the connection example for pyedbglib and putting logging up to max to figure it out.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"works for me" on both my Ubuntu box and Raspbian - did you remember to setup your udev rules according to https://pypi.org/project/pyedbglib/ ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mraardvark wrote:

"works for me" on both my Ubuntu box and Raspbian - did you remember to setup your udev rules according to https://pypi.org/project/pyedbglib/ ?

 

I have not installed "pyedbglib"... 

Sorry, I thought installing pyedbglib would be done.

I'll test this again tomorrow, thank you very much.

It's everything new for me.

Last Edited: Wed. Dec 1, 2021 - 05:57 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:
I have not installed "pyedbglib"... 

Well, you did install it automatically as a dependency of pydebuggerconfig.

pyedbglib is the transport/protocol library for the xEDBG tools, and it has to be setup to use your xEDBG devices in those udev rules.

Once this is done, you should be able to use pymcuprog/pydebuggerupgrade/pydebuggerconfig etc.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mraardvark wrote:
it has to be setup to use your xEDBG devices in those udev rules.

 

That means I have to write only

 

# PKOB nano (nEDBG) - debugger on Curiosity Nano SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2175", MODE="0666"

 

in a file called rules.d in /etc/udev/ ?

Ok I will do this...

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There will probably be other stuff in there already, just make a new file (can't remember the details why, but mine is 99-microchip.rules) .

I also see I have the DFU bootloader in there (which is not mentioned in pypi) - this is probably wise to add as well:

 

# PKOB nano (nEDBG) in DFU mode - bootloader of debugger on Curiosity Nano

SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fc0", MODE="0666"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Remember that you are also going to need to use sudo to edit or create files in a "system area" like /etc/udev

This reply has been marked as the solution. 
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

poftamunk wrote:
A promise is a promise.

 

The promise is kept. I would like to resolve the problem at this point.

 

Firstly mraardvark , the tool works perfectly after the changes described. Many thanks for that at this point.

However, it has been found that no changes to the debugger are necessary. It also works with the "wrong" DEVNAME.

At least that applies to a change from an AVR128DB48 to a DB28. I haven't tried other controllers yet.

 

How did the above error messages come about?

I would like to express my displeasure with the many misleading error messages, also in the build process, by the way.

Thing missing in the project properties was the debug tool only- the corresponding error message should just read the same!

 

The good news is that the sawn off nEDBG is a cheap, small, full-fledged debugger with USB connection

that can easily be added to any UPDI AVR circuit.

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:

Firstly mraardvark , the tool works perfectly after the changes described. Many thanks for that at this point.

However, it has been found that no changes to the debugger are necessary. It also works with the "wrong" DEVNAME.

At least that applies to a change from an AVR128DB48 to a DB28. I haven't tried other controllers yet.

Good to hear it!

(I may be wrong, but perhaps MPLABX is more particular to that DEVNAME field than Studio is...)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:
I would like to resolve the problem at this point.

Good to hear.

 

yes

 

which solution did you actually go for - the  pydebugger, or the Studio setting of #20 ?

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
which solution did you actually go for - the  pydebugger, or the Studio setting of #20 ?

 

This is Microchip Studio 7.0.2542 connected with Curiosity nano AVR128DB48 nEDBG debugger yes

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

but is it using  pydebugger, or just the settings shown in #20?

 

or both?

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
but is it using  pydebugger, or just the settings shown in #20?

 

I don't know if I understand you correctly...

 

Settings shown in #20 refer to the Device Programming dialog in Studio.

As I said, only the displayed device name had to be corrected and programming is possible.

Or you can set "Hide unsupported devices" to False in the tool settings and then select your controller

in the menu. No problem.

 

Debugging becomes possible by selecting the nEDBG in the project properties / Tools/ Selected debugger/programmer.

Pydebugger I not know/ I never used.

 

Still any ambiguities?

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

GermanFranz wrote:
Settings shown in #20 refer to the Device Programming dialog in Studio.

It says both programming and debugging:

 

 

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Thu. Dec 2, 2021 - 11:38 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
It says both programming and debugging:

 

I think that just says that the onboard nEDBG can program and debug other UPDI AVRs.

UPDI Line can be interrupted and and a connection to an external AVR can be established:

 

 

 

For programming / debugging without the Device Programming Dialog, what is set in this dialog is unimportant.

The only important thing here is what is written in the project properties.

 

The Device Programming Tool integrated in the studio has a certain life of its own :)

 

 

Last Edited: Thu. Dec 2, 2021 - 12:07 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:
I think that just says that the onboard nEDBG can program and debug other UPDI AVRs.

It says that (4.5.1), and it also tells you the setting that is required to enable it in MC Studio (4.5.2)

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
It says that (4.5.1), and it also tells you the setting that is required to enable it in MC Studio (4.5.2)

 

I understand your skepticism but once again: This special tool settings obviously only affect the programming dialog.

Inside Device Programming Dialog a completely different controller can be set or the "Hide unsupported devices" Setting

can be true and nevertheless the project can be programmed and debugged normally from outside

(via Start with/without debugging button/menu) based on the project properties ... 

Do you work with the Microchip Studio?

Last Edited: Thu. Dec 2, 2021 - 12:49 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Looking at the AVR128DA48 Curiosity Nano User Guide.

 

3.5.2 Software Configuration  -- AS7.0 - Hide Unsupported Devices = FALSE

 

3.5.3 Hardware Modifications -- Cut UPDI - D0 link in CONNECTIONS block

 

3.5.4 Connecting to External Microcontrollers  -- Connect Target to VTG, GND, D0 on main pins #51-53

 

Restore Curiosity by : Solder a male header pin to D0 in CONNECTIONS block.   Attach Dupont cable between D0 on main #53 and D0 on CONNECTIONS

 

No,  I have not hacked my AVR128DA48 Curiosity Nano board.   But the instructions look fairly straightforward.

And I suspect that you just select the nEDBG in AS7.0 in the normal way.

 

What is more interesting.   You can probably cut D1, D3 as well and use D0, D1, D3 for ICSP, SWD,  and hopefully PDI.

Since I possess SNAP I am not interested in hacking a Curiosity board.

 

However,  you ARE interested.   So please report back.   Is it really as easy as the User Guide suggests?

 

David.

Last Edited: Thu. Dec 2, 2021 - 01:00 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

david.prentice wrote:
3.5.2 Software Configuration  -- Hide Unsupported Devices = FALSE

 

This not needed.

 

david.prentice wrote:
you ARE interested

 

Yes, but only on a small, stand-alone UPDI programmer/debugger.

 

david.prentice wrote:
So please report back.   Is it really as easy as the User Guide suggests

 

Yes, David. It works fine blush

 

 

 

 

 

 

 

Last Edited: Thu. Dec 2, 2021 - 01:37 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

david.prentice wrote:
You can probably cut D1, D3 as well and use D0, D1, D3 for ICSP, SWD,  and hopefully PDI.

SWD - yes

ICSP - yes* (only PIC devices which have CNANOs)

PDI (xmega) - no

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mraardvark wrote:

SWD - yes

ICSP - yes* (only PIC devices which have CNANOs)

PDI (xmega) - no

 

Thanks.   That saves me trying it.   PDI would have been nice.

I have several CORTEX-M debuggers.

I do not have any modern PICs

 

GermanFranz wrote:

Yes, but only on a small, stand-alone UPDI programmer/debugger.

Surely SNAP is your best option.   It is frequently on Special Offer.

 

Yes,  of course you can use the pcb design files for Curiosity power and debug section on your custom boards.

And program the MCU with the nEDBG firmware.

 

My Arduino ZERO contains a Copyright EDBG chip.   I am not so sure about the Public status of the nEDBG.

Nor do I know how much (if any) crippling is done on either chip.

 

Life seems much simpler with buying genuine SNAP, PicKit4, Power Debugger, ...

 

David.

Last Edited: Thu. Dec 2, 2021 - 02:06 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

david.prentice wrote:
Surely SNAP is your best option

 

Too big. My new USB debugger measures only 2x2,5cm @ 16€ (+ AVR Board ;-)

And I don't know how SNAP fits in with the Microchip-Studio... I think it needs MPLAB-X.

 

david.prentice wrote:
Yes,  of course you can use the pcb design files for Curiosity power and debug section on your custom boards.

 

Too expensive. I will use a 2 pin connector only for programming / debugging in future avr projects.

 

 

Last Edited: Thu. Dec 2, 2021 - 02:40 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

SNAP works in AS7.0 just like PK4 works in AS7.0

However you need MPLABX for Upgrade.

 

I still don't understand your requirements.

Developing a project is convenient with a Curiosity or external Debugger.

 

Programming a finished product does not need any special hardware.

You don't want customers to have nEDBG hardware.

If your product has 3.3V logic,  you can omit a lot of Curiosity components.

 

But hey-ho,  you I don't really care about cost in a development environment.   You I want convenience.

 

David.

 

p.s.  Microchip could upgrade SNAP, PK4 in AS7.0 if they really wanted.   But if they improved MPLAB-X punters would give up AS7.0 willingly.

Last Edited: Thu. Dec 2, 2021 - 03:01 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

david.prentice wrote:
Developing a project is convenient with a Curiosity or external Debugger.

 

I only develop in the finished PCB including all connected hardware and sensor-input, bought some Curiosity Nano because of the cheap programmer+ debugger.  In some (hobby) projects now I will provide PCB space for it, inside the housing.  So I can check and update on the spot (outside) if necessary and remove the programmer when it is no longer needed. This I call

 

david.prentice wrote:
convenience

Last Edited: Thu. Dec 2, 2021 - 04:59 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:

david.prentice wrote:
Developing a project is convenient with a Curiosity or external Debugger.

 

I only develop in the finished PCB including all connected hardware and sensor-input, bought some Curiosity Nano because of the cheap programmer+ debugger.  In some (hobby) projects now I will provide PCB space for it, inside the housing.  So I can check and update on the spot (outside) if necessary and remove the programmer when it is no longer needed. This I call

 

david.prentice wrote:
convenience

Convenience to me includes programming software too.

As a developer, I don't mind having installed gigabytes of AS7 and such.

But for field technicians, I mind. Besides these small dongles, nEDBG SNAP or others, they need only some .exe to upload the binaries.

I tried a hard to find avrdude that supports snap. Not ready for the prime time updi devices yet. At least the version I have found. 

Does anyone know other simple softwares that work with updi things? 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

rammon wrote:
I tried a hard to find avrdude that supports snap.
There's a patch for MPLAB tools; don't know if that patch is in a recent Windows 10 AVRDUDE.

rammon wrote:
Does anyone know other simple softwares that work with updi things? 
pymcuprog (Microchip Technology)

 


[patch #10000] Add support for extended UPDI device context (AVRDUDE)

GitHub - mariusgreuel/avrdude: AVRDUDE for Windows 10 due to Avrdude stopped working suddenly | AVR Freaks

 

Serial port UPDI (pyupdi) | GitHub - microchip-pic-avr-tools/pymcuprog: a Python utility for programming various Microchip MCU devices using Microchip CMSIS-DAP based debuggers

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What it would top now would be a wireless connection.

Unfortunately I haven't found a workable solution for WirelessUSB.

For such special requirements have to wait for the new ICE4.

For this I like to spend a lot of money too wink

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:
WirelessUSB
Analogous is Bluetooth; lots of Bluetooth Low Energy (BLE) SoC.

In lieu of, AVRDUDE on Android (BLE files to an from)

GermanFranz wrote:
For such special requirements have to wait for the new ICE4.
Not if you mean Wi-Fi for AVR programming.

 


ZFlasher AVR - Apps on Google Play

 

WiFi-Enabled AVR Programmer with Terminal Server from Maverick Embedded Technology on Tindie (via WINC1500)

uPDI & SPI Programmer using ESP32 | AVR Freaks

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:

Bluetooth

 

It does not help with any available programmer !?

 

gchapman wrote:

Not if you mean Wi-Fi for AVR programming.

 

There is Wi-Fi connectivity, allows for remote debugging.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GermanFranz wrote:
It does not help with any available programmer !?
True; "Transparent UART" is in some Microchip Bluetooth Low Energy modules (UPDI is one wire UART with a protocol)

EZ-SERIALTM if the UPDI interface is in the MCU; similar for Nordic Semiconductor.

GermanFranz wrote:
remote debugging
fyi, remote debugger might be a part of MPLAB X.

IIRC, Microchip Studio atbackend.exe has a TCP port (though RDP may be easier)

 


EZ-SERIAL™: EZ-BLE MODULE FIRMWARE PLATFORM (Cypress Semiconductor)

 

http://web.archive.org/web/20210416035713/https://microchipdeveloper.com/mplabx:remote-usb-plugin

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:

rammon wrote:
Does anyone know other simple softwares that work with updi things? 
pymcuprog (Microchip Technology)

So I tried pymcuprog. Quite qood I think, lightweight enough for my needs.

I tried it with two dongles, a nEDBG from a nano kit and a serial-ttl usb converter, based on FT232RL, with 1K resistor.

The serial thing is SLOW. I don't have words to describe how slow. One minute (60 seconds) to load a 5K binary.

I tried 250000 baud, the same. I tried 230400 baud, it was 45 seconds (is it something happening here? 250K is rejected?)

Something must be very wrong in the serial port (pyupdi) driver, quite embarrassing I may say. Even for hobby use.

Because the nEDBG is lightning fast compared, the flash writing was one second or less for the same 5K.

All in all, it's a good thing this pymcuprog.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

rammon wrote:
SLOW

Serial will always be significantly slower than native USB.

But I suggest you try the beta release on test.pypi.org: https://test.pypi.org/project/py...

install with: pip install -i https://test.pypi.org/simple/ pymcuprog

there are some speed improvements in there...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

rammon wrote:
250K is rejected?

Dunno if it's significant, but it isn't a "standard" baud rate - whereas 230k4 is ...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Sat. Dec 4, 2021 - 12:00 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mraardvark wrote:

rammon wrote:
SLOW

Serial will always be significantly slower than native USB.

But I suggest you try the beta release on test.pypi.org: https://test.pypi.org/project/py...

install with: pip install -i https://test.pypi.org/simple/ pymcuprog

there are some speed improvements in there...

Thanks, I tried it.

Soo, there is a speed improvement. 20 seconds now :-)

But, I managed to improve this quite a bit.... by changing the FT232R dongle with a CP2102 one.

CP2102 is as fast as about 5 seconds!

SO FT232R is 20 seconds, CP2102 is 5 seconds.

Wow.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

rammon wrote:

CP2102 is as fast as about 5 seconds!

SO FT232R is 20 seconds, CP2102 is 5 seconds.

Nice - there are many different implementations...

Hope you found one that works for you then...