Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

microUPDI cannot program DA series #6

Closed
ChrisKnightley opened this issue Mar 5, 2021 · 4 comments
Closed

microUPDI cannot program DA series #6

ChrisKnightley opened this issue Mar 5, 2021 · 4 comments

Comments

@ChrisKnightley
Copy link

Hi dear.

First, I'm not an English speaker so I'm sorry if the post is weird.

I made this UPDI programmer and used it in Atmel Studio.
Very convenient and awesome, thanks.

But when I tried the DA series MCU, there was a problem.
I try to write a program to AVR128DA28 but get a memory write error.

When I test it, the following status occurred:

  • FLASH cannot read / write.
  • FUSE and LOCKBIT cannot be write.
  • FUSE and LOCKBIT and Signature bytes can be read.

Is the UPDI protocol different for the DA series?
Can microUPDI programmer write it?

The following is trivial information:

There is a trick to display all AVR microcontrollers in the device list at Atmel Studio.
Placing a null-terminater at the supported device address of the EEPROM.
https://github.com/ChrisKnightley/microUPDIcore/blob/master/avr/firmwares/mEDBG_UPDI_1.13_modified_suffer.eep
Now can program UPDI-compatible chips other than mega4809 by changing the EEPROM.

Thanks.

@MCUdude
Copy link
Owner

MCUdude commented Mar 5, 2021

Hi!
You can't program the AVR DA or DB series, since these chips uses a slightly different UPDI protocol (24-bit instead of 16-bit addressing), and Microchip will probably don't update the mEDBG firmware to account for this.

Thanks for providing this "hack" to trick AS7 to show all devices. I'll give it a try myself, and if it it seems reliable I'll probably add the change!

@ChrisKnightley
Copy link
Author

Hi, thank you for your quick reply.

I understood about the UPDI protocol changes.

Microchip does not sell simple evaluation boards in the Dx series.
There may not be cheap chip onboard debug firmware.
It seems that I can't debug them with my stock MCU yet...

Thank you for your interest in hacking.
Ah!!
The .eep file I uploaded contained minor changes that weren't related to the hack.
e.g. Serial number, Board name, ...
The only changes needed for the hack are 0x00 at address 0x07C and followed 0xFF filled by it!
As far as I've tried, it doesn't matter what signature bytes are after it.
Other board information values can be set as you wish anything.

Thanks.

@SpenceKonde
Copy link

Yeah, for the DA-series, all the boards they're selling are Curiosity Nanos with a different programming and debug chip (it's nEDBG instead of mEDBG) - though those are still pretty cheaop, and I think you can do the usual cut-the-traces and wire it to something else (the key pins are broken out as I understand)

@ChrisKnightley
Copy link
Author

Hi Spence.
Thank you for information about Curiosity Nano.
Wow, nEDBG is SAMD21.
Probably, I think I will buy it.

I'm enthusiastic about the DB series now, by the DxCore you made.
I'm using pymcuprog for the program, but I couldn't debug.
Thank you!

@MCUdude MCUdude closed this as completed Jun 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants