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

Update to Avrdude 8.0 #330

Open
MCUdude opened this issue Aug 19, 2022 · 22 comments
Open

Update to Avrdude 8.0 #330

MCUdude opened this issue Aug 19, 2022 · 22 comments

Comments

@MCUdude
Copy link
Contributor

MCUdude commented Aug 19, 2022

Avrdude 7.0 7.1 7.2 7.3 8.0 is a huge improvement over 6.3 and brings lots of new features and bug fixes. Arduino now provides "flavored builds" with statically linked libraries, so boards like Curiosity Nano will work on any OS. You can pull the binaries straight from Github.

Here are a few good ones:

  • Support for SerialUPDI. It would be interesting to hear what you think of the implementation.
  • Support for arbitrary board rates on macOS. Now 230400 baud is not the upper limit anymore.
  • Support for lots of new and fast baud rates for the jtag2updi programmer
  • WinUSB driver support for Windows. This means that there's no need for Zadig anymore. Programmers like USBasp and USBtinyISP will just work with Windows.
  • Support for the Micronucleus bootloader
  • A bunch of new targets supported (including AVR-DD, AVR-EA, AVR-EB, AVR-DU)

https://github.com/arduino/avrdude-packing

@MCUdude
Copy link
Contributor Author

MCUdude commented Aug 20, 2022

@mikrocoder
Copy link
Contributor

mikrocoder commented Aug 20, 2022

Hello,

where should Windows users get the 7.0 binary from? 😉
I know the new version only from the current avr-gcc from ZakKemble. From its package I have taken me the files.
https://blog.zakkemble.net/avr-gcc-builds/

@SpenceKonde SpenceKonde added this to the 1.5.x - 1.5.0 bugfixes milestone Aug 21, 2022
@SpenceKonde
Copy link
Owner

Avrdude 7 will not be in 1.5.0, but will be added in a 1.5.x version - the time and effort of testing a new version of an upload tool that I am deemphasizing because of its exemplification of the kitchenskinkism antipattern, and which I'd love to phase out entirely is impossible to justify until a working release with full DD support and the latest hardware serial enhancement is available and peoele aren't screaming that it's broken. ATTinyCore 2.0.0 however will most certainly want this, as it does not use any other upload tool.

@MCUdude
Copy link
Contributor Author

MCUdude commented Aug 21, 2022

but here again half of the information is missing. Where should Windows users get the 7.0 binary from? 😉

Eh, no? I provided a link to the repository where all major OSes' binaries are hosted.

But here you go:
https://github.com/arduino/avrdude-packing/releases/tag/7.0-arduino.3

@mikrocoder
Copy link
Contributor

In the first link it does not go on for me.
The further path /release/tag/... I do not see. Your last link works. Thank you.

@mcuee
Copy link

mcuee commented Oct 30, 2022

For those who are more adventurous, you can try the Windows binary mentioned in this thread. I have tested it with DxCore, megaTinyCore and MegaCoreX. It is based on avrdude git main (with many fixes over 7.0 release).

I have also built Linux and macOS binaries here (32 bitLinux x86, 64bit macOS x86_64).

@mcuee
Copy link

mcuee commented Oct 30, 2022

You can also try the binaries here. I need to use the 64bit Linux binary under 64bit Linux (no 32bit compatibility layer installed).
https://github.com/mcuee/avrdude-packing/actions/runs/3354027563

More discussions here.

@mcuee
Copy link

mcuee commented Nov 25, 2022

I have published avrdude git main snapshot binaries (Linux, macOS and Windows) here for those who are interested to try. git main will lead to 7.1 release.
https://github.com/mcuee/avrdude-packing/releases

@pcfreak1201
Copy link

Now avrdude 7.1 is released (https://github.com/avrdudes/avrdude/releases/tag/v7.1) and on linux (Mint/Ubuntu 64bit) it compiles flawlessly.

@mcuee
Copy link

mcuee commented Jan 10, 2023

For DxCore, it is probably better to wait a bit for the release from https://github.com/arduino/avrdude-packing project.

For those who want to try the 7.1 release binaries for Linux and macOS, you can check out my repo here (only for testing purpose).
https://github.com/mcuee/avrdude/releases/tag/v7.1

@mcuee
Copy link

mcuee commented Jan 10, 2023

For DxCore, it is probably better to wait a bit for the release from https://github.com/arduino/avrdude-packing project.

@MCUdude and @SpenceKonde

Here it is.
https://github.com/arduino/avrdude-packing/releases/tag/7.1-arduino.1

@mcuee
Copy link

mcuee commented Jan 10, 2023

@SpenceKonde

Some changes may be required before you switched to avrdude 7.1 release.

Reference:
MCUdude/MegaCoreX@09f3a6e
MCUdude/MegaCoreX@be87c76

@SpenceKonde
Copy link
Owner

Note - my current plan here is to use AVRdude 7.x for non-SerialUPDI uploads only, leaving me with control over the serialUPDI portion. We need to keep the python environment anyway so that several future planned tools i'm working on can be supported, namely a cleanup pass on the exported assembly listings to get rid of the avr-objdump's propensity to express locatioms in the data space as offsets from landmarks in the program space and vice-versa (which is at best useless), and to reformat the map to make it human readable (truncating long function names is the big one here - because the long synthetic function names that end up in the memory map deform the column structure and make the whole mess unreadable to humans, and correct the inconsistent column break marks, which made it unreadable to most generic parsers, making it hard to import into any civilized tool to further analyze.

@mikrocoder
Copy link
Contributor

mikrocoder commented Jan 15, 2023

@mcuee

Here it is. https://github.com/arduino/avrdude-packing/releases/tag/7.1-arduino.1

Hi,

What is different about the "Arduino package" again compared to the Official Release?
https://github.com/avrdudes/avrdude/releases

@MCUdude
Copy link
Contributor Author

MCUdude commented Jan 15, 2023

What is different about the "Arduino package" again compared to the Official Release?
https://github.com/avrdudes/avrdude/releases

"Official" binaries are built with dynamically linked libraries. This means that the computer needs to have a set of libraries installed for Avrdude to work. The Arduino release uses static linkage, libraries are bundled and built into the Avrdude binary. Great if you just want Avrdude to work on a computer, and you don't really care about libraries, like for instance when a user installed a 3rd party Arduino core that uses Avrdude.

@mikrocoder
Copy link
Contributor

Thanks.

@mcuee
Copy link

mcuee commented Mar 16, 2023

@SpenceKonde

Binary release from Arduino avrdude-packing project.
https://github.com/arduino/avrdude-packing/releases/tag/7.1-arduino.1

As for platform defintions, minor changes will be required, for example, Curiosity Nano programmer is now called pkobn_updi.
Ref: https://github.com/MCUdude/MegaCoreX/blob/master/megaavr/programmers.txt

Reference: MCUdude/MegaCoreX@be87c76#diff-4f98f14cf12c5bc1ea8d0ccb8b42f777537bcb1ccbb7b16efeed9a083efc5cf3

@MCUdude may be able to give more details if you run into questions.

@MCUdude MCUdude changed the title Update to Avrdude 7.0 Update to Avrdude ~7.0~ 7.1 Jun 14, 2023
@MCUdude MCUdude changed the title Update to Avrdude ~7.0~ 7.1 Update to Avrdude 7.1 Jun 14, 2023
@SpenceKonde
Copy link
Owner

As soon as a 7.2 release is available we will upgrade to v 7.2.

@mcuee
Copy link

mcuee commented Jul 20, 2023

avrdude 7.2 has been released.
https://github.com/avrdudes/avrdude/releases/tag/v7.2

For Windows you can use the official binary above.

For Linux and macOS, you may want to test using my build.
https://github.com/mcuee/avrdude/releases/tag/v7.2

Or you may want to wait for the Arduino-packing project.
https://github.com/arduino/avrdude-packing

@mcuee
Copy link

mcuee commented Oct 5, 2023

Arduino avrdude-packing project has released their version of Arduino 7.2, which should be suitable for the usage here.
https://github.com/arduino/avrdude-packing/releases/tag/7.2-arduino.1

@MCUdude MCUdude changed the title Update to Avrdude 7.1 Update to Avrdude 7.2 Oct 6, 2023
@mcuee
Copy link

mcuee commented Feb 16, 2024

avrdude 7.3 has been released.
https://github.com/avrdudes/avrdude/releases/tag/v7.3

@MCUdude MCUdude changed the title Update to Avrdude 7.2 Update to Avrdude 8.0 Oct 10, 2024
@MCUdude
Copy link
Contributor Author

MCUdude commented Oct 10, 2024

Avrdude v8.0 has been released, and Arduino has been kind enough to provide statically built binaries for us, which makes it a breeze to use with the boards manager.

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

5 participants