platformio / platform-atmelavr

Atmel AVR: development platform for PlatformIO
https://registry.platformio.org/platforms/platformio/atmelavr
Apache License 2.0
140 stars 105 forks source link

Add Urboot bootloader support for MicroCore #311

Closed MCUdude closed 1 year ago

MCUdude commented 1 year ago

The latest version of MicroCore supports the new Urboot bootloader. This PR allows setting fuses and burning the correct bootloader using PlatformIO.

The internal 9.6 and 4.8 MHz oscillator in the ATtiny13/A is notorious for being inaccurate. So much so that using a UART bootloader might become difficult. That's why MicroCore provides various bootloader binaries the bootloader script can choose from in order to use one that matches the user specification.

Specify the desired f_cpu and f_cpu_error, and the correct binary will be flashed. There are a few rules though.

I'd like to hear what @valeros thinks about this. I'll update the official PlatformIO docs and the MicroCore docs to reflect the changes when/if this gets merged.

Note that I will also migrate over to Urboot for my other Arduino cores as well, but this may take some time and is not covered in this PR.

MCUdude commented 1 year ago

@valeros this is just a proposal, and I'd like to hear your thoughts regarding this. I'm open to feedback if you have ideas for new features or think things should be done differently. What's important is that the PlatformIO implementation is rock solid!

valeros commented 1 year ago

Hi @MCUdude ! Many thanks for the PR. Please review my comments below.

valeros commented 1 year ago

Thanks for the PR, merged!