Go Down

Topic: Identifying boot loaders (Read 505 times) previous topic - next topic

cwrose

Is there any way to read a bootloader from program space? 
There seem to be innumerable slightly different versions of
eg: Optiboot, and since I'm hitting what appears to be a
bootloader bug I'd like to try to identify which bootloader
I'm actually using.  Bootloaders don't seem to have any
sort of sign-on string.

Thanks - Will

westfw

Quote
Is there any way to read a bootloader from program space? 

No; the memory protection bits are currently set to disallow this :-(

Quote
I'd like to try to identify which bootloader I'm actually using.

You can do this during a "verbose" upload.  Somewhere in that log (near the beginning) is a section that looks like:
avrdude: Recv: . [03]
avrdude: Recv: . [10]
         Hardware Version: 3
         Firmware Version: 4.4
avrdude: Send: A [41] . [84]   [20]
avrdude: Recv: . [14]

The number in the "Firware Version" line is ... the optiboot bootloader version.
Very old Unos may show 3.3, current production version is 4.4, and the latest optiboot repository has 5.0.
(unfortunately, if someone has built a custom version of optiboot, they PROBABLY didn't change the version number.)

cwrose

Many thanks - that explains why avrdude in terminal mode gives a certain amount of information,
but always crashes out when I try to read the memory.

I've got the firmware version number from avrdude - I couldn't work out which firmware it was,
so knowing it's the loaded firmware is extremely helpful.

Thanks again - Will

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy