Pages: 1 [2]   Go Down
Author Topic: IDE 1.0RC1: is its Optiboot the "old" one?  (Read 3535 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Put the stable version in the distribution.  The only time I replace the boot loader is when there is a problem.

I bought a number of Uno boards with the problem and it would have been nice to fix them with the IDE.  These boards were a huge pain since I booted them a lot using them mostly for software development.

I was thankful for westfw's fixes.  It would be nice if the Arduino team had something like a "hot fix" area for bugs like this.
+1
Logged


ottawa, canada
Offline Offline
God Member
*****
Karma: 6
Posts: 990
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

what is the latest version of optiboot and where can I find it?

I found this http://code.google.com/p/optiboot/downloads/detail?name=Optiboot_v3.zip&can=2&q=
but I'm dubious because the dates are from early 2010.

update:I'm using the one from the beta thread and it seems fine. I'm really grateful for the work because I needed the flash space but the question remains: how do you find the latest optiboot (and know it's the latest)?
« Last Edit: October 15, 2011, 06:33:04 pm by bill2009 » Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 124
Posts: 6636
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
how do you find the latest optiboot (and know it's the latest)?
The model being followed is that I modify optiboot in a branch "cloned" from the Arduino source branch.  It is my intent that every change made should have a matching "Issue" at http://code.google.com/p/arduino/issues/list
When I'm happy with it, I submit the changes to that branch ( https://github.com/WestfW/Arduino ), and they theoretically become available for anyone to get a copy.  Alas, this is currently a branch based on the non 1.0 Arduino branch.

After some time, when the collection of changes gets "large and interesting", or when some new major release is coming up, I send a message and/or "pull request" to the Arduino team saying "you should take the changes I've made back into the official release."

Then the Arduino team looks at my code and does more extensive testing than I'm able to do, and decides (hopefully) "yes, this is good and it should go into the official distribution."  Then it shows up in the official arduino source base as well.  (I believe that this has JUST happened for optiboot 4.4 and the 1.0 source base.)

As a separate issue, at some point the Arduino team has to produce binaries of the bootloader and tell their manufacturer "start putting this on the m328 chips that go on Arduinos."  This is a relatively Big Deal, since if there's a mistake that isn't noticed till after that, you're now talking about a large base of potentially affected customers who aren't equipped to fix it themselves, and will start returning their Arduinos (very expensive) and complaining all over the internet (ditto.)

This is subject to change (for example, the stk500v2 bootloader used on the Mega has a separate GitHub project), and should be less of an issue going forward, since the changes should be smaller and more easily managed.

So: the latest official version is whatever appears in the latest official release.
  The latest "beta" version is whatever appears on the Arduino github repositories.
  For later than that, you have to watch the forums and/or the google code issue list, and/or ask.
Logged

ottawa, canada
Offline Offline
God Member
*****
Karma: 6
Posts: 990
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
So: the latest official version is whatever appears in the latest official release.
  The latest "beta" version is whatever appears on the Arduino github repositories.
  For later than that, you have to watch the forums and/or the google code issue list, and/or ask.

Thanks.  is one of those the v3 on google code? http://code.google.com/p/optiboot/downloads/detail?name=Optiboot_v3.zip&can=2&q=
Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 124
Posts: 6636
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
is one of those the v3 on google code? http://code.google.com/p/optiboot/
No, that's pretty much the "old" optiboot that shipped with original Unos and 0022.
It seems to have been abandoned; I don't think anyone has heard from Peter Knight (the original author) in quite a while :-(

Logged

Switzerland
Offline Offline
Sr. Member
****
Karma: 6
Posts: 375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Then the Arduino team looks at my code and does more extensive testing than I'm able to do, and decides (hopefully) "yes, this is good and it should go into the official distribution."  Then it shows up in the official arduino source base as well.  (I believe that this has JUST happened for optiboot 4.4 and the 1.0 source base.)

Out of pure curiosity, do you know why the lock-bits in the official distribution are different?  Is it just to minimise the user-visible differences between older and newer Unos?  I suppose it's possible a program might try to read from the bootloader flash section, and throw a wobbly if it actually succeeds...
Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 124
Posts: 6636
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
do you know why the lock-bits in the official distribution are different?
Yes.  This is http://code.google.com/p/arduino/issues/detail?id=554&q=optiboot
One of the sketches I wrote before working on optiboot (fusebytes.pde: https://github.com/WestfW/fusebytes ) was designed to answer the FAQ "what kind of Arduino do you have and which versions of "stuff" does it have."  At about the same time, there were a series of bootloader bugs discovered (30k limitation, uno SMD problems, etc), and it was pretty difficult to find out "which version of the bootloader is in your chip."  So I thought it would be a good idea if optiboot included a version number, and if that were readable by sketches.  (It's that last part that required changing the fuses.)   (I couldn't think of any downside to having the bootloader section readable by sketches; it's not like it contains proprietary algorithms that decrypt uploads...)
(It was AFTER this was done that it was pointed out that the STK500 protocol also includes a command for reporting the firmware version of the bootload, and now optiboot supports that as well.  Sort of.)
Logged

Pages: 1 [2]   Go Up
Jump to: