SKcoch / optiboot

Automatically exported from code.google.com/p/optiboot
0 stars 0 forks source link

Forgets uploaded sketch on Ubuntu 9.10 #7

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Burn optiboot (I use a USBtinyISP).
2. Upload sketch using Optiboot,
3. Deprive Arduino of power and restart it.

What is the expected output? What do you see instead?

It works perfectly until you unplug the Arduino and then it appears to
forget the uploaded sketch

What version of the product are you using? On what operating system?

Version 3 on Ubuntu 9.10 32 Bit.  No issues using standard bootloader on
same hardware and computer system

Please provide any additional information below.

It seems to do it with any sketch.

Original issue reported on code.google.com by stsr505...@gmail.com on 23 May 2010 at 4:20

GoogleCodeExporter commented 9 years ago
Some clarification so I can reproduce the problem:

Does this behaviour occur with the Example > Digital > Blink sketch?
Which Arduino / clone does this occur on? (I'm particularly interested in the 
reset circuitry on the board, and 
which microprocessor it uses)

I'll hopefully have a fix in the next couple of days, assuming I can reproduce 
the issue.

Original comment by cathed...@gmail.com on 23 May 2010 at 7:05

GoogleCodeExporter commented 9 years ago

Original comment by cathed...@gmail.com on 23 May 2010 at 7:09

GoogleCodeExporter commented 9 years ago
After much messing around and testing with various options, I have discovered 
it is
just the fake duemilanove when its fitted with a 328 chip that causes the 
problem. 
It does do it with any sketch including the standard 'Blink' sketch. I 
transposed
chips with a homebrew arduino and found that they both worked OK.  That is with 
the
328 in the homebrew and the 168 in the fake Duemilanove it behaves as expected. 
 The
homebrew works fine with either chip in it.  

Further testing shows that the chip is actually programmed with the sketch, its 
just
the fake doesn't run it with the 328. Putting the same 328 in my homebrew 
without
touching the bootloader or the sketch, the sketch works perfectly.  

A picture of the fake is available at 
http://www.pluggy.me.uk/photo/fakeduemilanove.jpg

Its a non descript I bought from a Hong Kong Ebay vendor for seriously less 
than a
real one.  The photo shows its a fake rather than a clone. The same board shows 
no
issues using the standard bootloader. Other than different coloured LEDs and 
other
small cosmetic differences (red reset switch etc) it appears to be the same 
circuit
as a real Duemilanove.

Original comment by stsr505...@gmail.com on 24 May 2010 at 8:03

GoogleCodeExporter commented 9 years ago
Quite a puzzler. It sounds like Optiboot has some assumptions that aren't as 
consistent as they should be.

Seems like it is something to do with what happens to the power rails and reset 
line when the unit powers up. 
That could well be inconsistent between boards. I'll have a look this week and 
put together some test builds to 
see if we can nail this one down.

Thanks for the help - I'd never have spotted this on my own.

Original comment by cathed...@gmail.com on 24 May 2010 at 10:59

GoogleCodeExporter commented 9 years ago
When I get a little more time, I'll recover a real Duemilanove from one of my
projects for comparison purposes. All my Duemilanoves are 328s.

Original comment by stsr505...@gmail.com on 25 May 2010 at 1:24

GoogleCodeExporter commented 9 years ago
I have the same problem. I use a USBtinyISP v2.0 (clone) to program the 
bootloader. Device is a DFRduino Duemilanove from DFROBOT.

Original comment by stefaan....@gmail.com on 5 Aug 2010 at 4:50

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I forgot to mention, OS is WINXP Pro SP3

optiboot v3

Original comment by stefaan....@gmail.com on 5 Aug 2010 at 4:52

GoogleCodeExporter commented 9 years ago
Also tried it on a DFRduino nano V3.0, and all is working fine.

Original comment by stefaan....@gmail.com on 5 Aug 2010 at 5:23

GoogleCodeExporter commented 9 years ago
I also have the same problem. I'm using the Duemilanove board, an official one. 
I burned the bootloader with the FTDI chip (bitbanging magic). Those steps 
always reproduce the problem.

1. Upload a sketch
2. Sketch successfully uploads but doesn't run. Pressing reset runs the sketch 
(board led flashes 2-3 times first).
3. Pressing reset makes the sketch start instantly, but powering down the board 
makes it forget it. After powering it down, board led blink continuously, like 
a heartbeat. Pressing reset doesn't make the sketch run.

I will try burning optiboot with an Arduino ISP and report back, just in case.

Original comment by giann...@gmail.com on 28 Sep 2010 at 12:16

GoogleCodeExporter commented 9 years ago
same problem with original 2009

Original comment by fbett...@gmail.com on 1 Oct 2010 at 7:23

GoogleCodeExporter commented 9 years ago
I just downloaded the latest .hex version of optiboot from the repository for 
my original arduino 2009 and am having the same problem as giannoug. The 
version of optiboot in the Optiboot_v3.zip has similar problems except I needed 
to hit reset to start the sketch running after upload. Any workaround would be 
greatly appriciated. Am using Windows XP Pro SP3 with latest java and using the 
bit bang method to program. The origial 2k bootloader and adaboot mods work 
fine on this board.

Original comment by fourt...@gmail.com on 20 Oct 2010 at 7:24

GoogleCodeExporter commented 9 years ago
I tried my luck again with Duemilanove and Optiboot bootloader. I have the same 
problem. Here's exactly what I did.

1. Burn 
"\arduino-0021\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.hex"
2. Set fuses to h: D6h, l: FFh, e: 05h and lock to 0Fh
3. Remove power, insert USB cable and upload the "Blink" sketch. Sketch runs.
4. Remove USB cable, wait for 5s and reinsert USB cable. L blinks 3 times with 
a 500ms period, or something like that.

I used the FTDI bitbanging method to program the chip.

Original comment by giann...@gmail.com on 20 Dec 2010 at 12:05

GoogleCodeExporter commented 9 years ago
I'm having similar issues with Duemilanove and Optiboot bootloader (IDE running 
on Windows 7 and XP. I used FTDI bitbanging to program the bootloader.
The Blink sketch works fine even when power is removed and restored. However, 
with the Arduino Ethernet shield (2010 ver) and sketch loaded, sketch is wiped 
out when power is removed. 
The latest hex version 3 was loaded.

Original comment by ram...@gmail.com on 2 Jan 2011 at 9:30

GoogleCodeExporter commented 9 years ago
I just got three Arduino UNO's. Two of the SMD-variant, and one of the non-SMD 
variant.

Both of the SMD variant ones exhibit this exact same problem.
The non-SMD variant one works as expected.

I am programming these from an OSX 10.6 machine with the Arduino v0022 code.

The problem shows itself with the 'blink' (and any other) example I try as well 
as custom projects that do simplistic things.

Since these devices shipped this way and I do not have a ISP to reprogram them 
with (at least not yet) I am not sure what to do next. At least knowing there 
is a fixed version of the optiboot boatloader would be a start.

Original comment by scan...@gmail.com on 14 Jan 2011 at 1:28

GoogleCodeExporter commented 9 years ago
Same for me here: Just got my new Arduino Uno SMD from Sparkfun.

I am using Ubuntu Linux 10.04 with Arduino v0022.
On power disconnect the uploaded sketch gets lost - no matter if usb- or 
external powered...

Is there a way to update the bootloader without extra hardware (programmer)?

Original comment by m...@simonkuehling.de on 17 Jan 2011 at 10:07

GoogleCodeExporter commented 9 years ago
This appears to be because the GP registers are not guaranteed to be cleared to 
0 on reset.  Actual analysis here: 
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1293529218/39#39 for a slightly 
different problem, but the fix of clearing R1 at the beginning of main() seems 
to fix this "Amnesia" issue as well.
(that makes this a duplicate of 
http://code.google.com/p/optiboot/issues/detail?id=26 or vis versa)

Original comment by wes...@gmail.com on 25 Jan 2011 at 6:06

GoogleCodeExporter commented 9 years ago

Original comment by wes...@gmail.com on 29 Oct 2011 at 5:34

GoogleCodeExporter commented 9 years ago
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