Closed GoogleCodeExporter closed 8 years ago
Here's the hex file: The contents are completely different from the one
downloaded from the optiboot website and the 3rd from last line is the one
that's causing the problem:
:107E000011E0A0E0B1E0E0E1F0E802C005900D92E1
:107E1000A030B107D9F711E0A0E0B1E001C01D9298
:107E2000A030B107E1F785E08093810082E0809384
:107E3000C00088E18093C10086E08093C20082E2A6
:107E40008093C40084B714BE81FFCFD08DE0C7D02B
:107E5000259A86E020E33CEF91E030938500209363
:107E6000840096BBB09BFECF1D9AA8958150A9F7C0
:107E7000DD24D394A5E0EA2EF1E1FF2EA3D08134D6
:107E800021F481E0BDD083E024C0823411F484E188
:107E900003C0853419F485E0B3D089C08535A1F4D9
:107EA00091D0082F10E010930102009300028AD0B5
:107EB00090E0982F8827802B912B880F991F909303
:107EC00001028093000272C0863529F484E098D0C4
:107ED00080E070D06CC0843609F042C07BD0E09165
:107EE0000002F091010283E080935700E895C0E022
:107EF000D1E068D089938091020281508093020280
:107F00008823B9F777D007B600FCFDCF4091000277
:107F100050910102A0E0B1E02C9130E0FD0181819F
:107F200090E0982F8827822B932B1296FA010C0150
:107F3000D0925700E89511244E5F5F4FF1E0A038D2
:107F4000BF0751F7E0910002F0910102E092570063
:107F5000E89507B600FCFDCFF0925700E89527C0E2
:107F60008437B9F437D046D0E0910002F091010295
:107F70003196F0930102E09300023197E4918E2F45
:107F800019D080910202815080930202882361F708
:107F90000EC0853739F42ED08EE10CD085E90AD099
:107FA0008FE097CF813511F488E019D023D080E19C
:107FB00001D064CF982F8091C00085FFFCCF9093B3
:107FC000C6000895A8958091C00087FFFCCF8091DE
:107FD000C6000895F7DFF6DF80930202F3CFE0E6F4
:107FE000F0E098E190838083089580E0F8DFEE2749
:107FF000FF270994E7DF803209F0F7DF84E1DACF69
:108000001F93182FDFDF1150E9F7F4DF1F91089558
:0400000300007E007B
:00000001FF
If I delete the errant line the image uploads but doesn't actually work.
At a guess it would seem that optiboot is dependent on the quirks of the
particular compiler version that it is built with, in my case I'm using gcc
4.3.5.
Original comment by Alan.Bur...@gmail.com
on 9 Jan 2011 at 5:30
Is this the same as "issue 1" ?
http://code.google.com/p/optiboot/issues/detail?id=1&can=1
Original comment by wes...@gmail.com
on 16 Jan 2011 at 12:34
Possibly, I can investigate if the -nostdlib flag makes a difference.
Original comment by Alan.Bur...@gmail.com
on 16 Jan 2011 at 12:53
No, it isn't the same problem as issue#1, I've added the -nostdlib flag and the
results are still different to the hex file in the distribution. It's closer
than it was, but still not the same. Here's the hex so you can compare:
:107E000085E08093810082E08093C00088E18093C8
:107E1000C10086E08093C20080E18093C40084B7F3
:107E200014BE81FFCFD08DE0C7D0259A86E020E335
:107E30003CEF91E0309385002093840096BBB09B8B
:107E4000FECF1D9AA8958150A9F7DD24D394A5E013
:107E5000EA2EF1E1FF2EA3D0813421F481E0BDD0E0
:107E600083E024C0823411F484E103C0853419F422
:107E700085E0B3D089C08535A1F491D0082F10E0FA
:107E800010930102009300028AD090E0982F882777
:107E9000802B912B880F991F9093010280930002F1
:107EA00072C0863529F484E098D080E070D06CC030
:107EB000843609F042C07BD0E0910002F0910102CB
:107EC00083E080935700E895C0E0D1E068D08993C3
:107ED000809102028150809302028823B9F777D003
:107EE00007B600FCFDCF4091000250910102A0E0D6
:107EF000B1E02C9130E0FD01818190E0982F88273E
:107F0000822B932B1296FA010C01D0925700E89520
:107F100011244E5F5F4FF1E0A038BF0751F7E091A9
:107F20000002F0910102E0925700E89507B600FCCC
:107F3000FDCFF0925700E89527C08437B9F437D0C9
:107F400046D0E0910002F09101023196F0930102D7
:107F5000E09300023197E4918E2F19D080910202B4
:107F6000815080930202882361F70EC0853739F46F
:107F70002ED08EE10CD085E90AD08FE097CF8135E5
:107F800011F488E019D023D080E101D064CF982F7C
:107F90008091C00085FFFCCF9093C6000895A895FE
:107FA0008091C00087FFFCCF8091C6000895F7DF65
:107FB000F6DF80930202F3CFE0E6F0E098E19083F1
:107FC0008083089580E0F8DFEE27FF270994E7DF3C
:107FD000803209F0F7DF84E1DACF1F93182FDFDF5B
:0A7FE0001150E9F7F4DF1F91089536
:0400000300007E007B
:00000001FF
Original comment by Alan.Bur...@gmail.com
on 17 Jan 2011 at 11:54
HAving said that the image is different, it does appear to work, subject to the
problems described in issue 28.
I think it's more or less certain that different compiler versions are going to
produce slightly different output. I suggest an additional step is added to
the Makefile to check (via avr-size) that the output file is small enough to
fit in 1K, and to abort the build if it doesn't. That doesn't fully fix the
problem but it will flag up errors at build time rather than at install time.
Original comment by Alan.Bur...@gmail.com
on 19 Jan 2011 at 12:27
I have just managed to compile Optiboot under Windows using the tools in the
IDE. Here's what I did:
- Copy the Arduino IDE to c:\tmp\arduino
- Download the current Optiboot source files into
c:\tmp\arduino\hardware\arduino\bootloaders\optiboot-new
- Download WestfW's Makefile patch from
<http://code.google.com/p/arduino/issues/detail?id=487>. This patch adapts the
file paths to allow the compiler toolchain to run under Windows.
- Patch the Makefile. As it stands WestfW's diff file doesn't match the
current version of the makefile, so it needs to be adapted slightly by hand.
- Add the '-nostdlib' as explained in Issue-1
<http://code.google.com/p/optiboot/issues/detail?id=1>
- Compile:
@PATH=%PATH%;c:\tmp\arduino\hardware\tools\avr\utils\bin
make OS=windows ENV=arduino clean
make OS=windows ENV=arduino atmega328
The resulting file 'optiboot_atmega328.hex' matches perfectly the one in the
source repository.
Original comment by tim...@gmail.com
on 22 Mar 2011 at 1:39
Note that slight compiler changes can cause dramatic differences in the
apparent contents of the .hex file. A size difference of one byte will cause
jump instructions to have a different target address (for example), and even if
it only changes by one, the whole line of the .hex file will diff diffferently.
Original comment by wes...@gmail.com
on 30 Oct 2011 at 7:37
Fixed as part of the great optiboot/Arduino sync-up
http://code.google.com/p/optiboot/source/detail?r=8559b64fd093d3976cae58778a1540
256cde5c8e
Original comment by wes...@gmail.com
on 30 Oct 2011 at 8:19
Original issue reported on code.google.com by
Alan.Bur...@gmail.com
on 9 Jan 2011 at 5:16