fast tiny & mega UART bootloader (error)

Last post
27 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am getting this:

>fboot.exe -b57600 -c3 -probot.hex -vrobot.hex
COM 3 at 57600 Baud: Connected
Bootloader V1.7
Target: 1E9307 ATmega8
Buffer: 960 Byte
Size available: 7680 Byte
File robot.hex open failed !
Program-Error

Any one know whats going on? I've tried multiple hex files too.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

pomprocker wrote:

File robot.hex open failed !

This means, there exist no "robot.hex" inside the current directory.

Peter

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I know what it means, but the file is in the same directory as the executable fboot.exe

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How does anybody know what directory the file is supposed to be in? Is it specified, or has somebody just assumed they know the answer?

We never have time to do it right,
but we always have time to do it over

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have not seen it specified any where, I just assumed the same directory as the executable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

pomprocker wrote:
I know what it means, but the file is in the same directory as the executable fboot.exe

The hex file must be in the current directory, where you start fboot.exe.

Maybe since fboot.exe was a DOS application, it can be a problem, if the current directory path was very long (above 80 characters from the root).

E.g. make a directory "C:\TMP", place the hex file into it and then start fboot.exe.

Peter

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Can you specify a directory path and filename after the arguments -p and -v ? ie.. -pc:\tmp\robot.hex

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ok I moved the directory closer to root and still not working...same problem.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Whats the Init string argument for?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

YESSS I figured it out.

The hex filename has to be 8 characters or less.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

pomprocker wrote:
YESSS I figured it out.

The hex filename has to be 8 characters or less.

E.g. "robot.hex" was fine.

Why you write it, but don't use it?

Peter

P.S.:
I tested it and it seems the path limit was about 256 characters (not 80).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I apoligize I just used robot.hex as an example. My fault. The real file name was 16 characters.

Also, What is the page size of this bootloader?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

pomprocker wrote:

Also, What is the page size of this bootloader?

The bootloader need less than 512 bytes of code.

Thus the bootloader fuses must be set for the smallest size >=512 bytes (256 words).

Peter

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Would you happen to know why i can only program through UART once, and then the second time around I can't even connect? Am I over writing the booloader?

Would the BootLock bits help? Do you know what I should set for the ATmega8?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

pomprocker wrote:
Would you happen to know why i can only program through UART once

Then you have not programmed the boot reset fuses accordingly.

Please look on the data sheet of your AVR and then set the fuses for reset start at Flashend - 255 words.

Peter

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for your help Peter. I think I managed to get it working for me. It works great by the way!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Please look on the data sheet of your AVR and then set the fuses for reset start at Flashend - 255 words.

pomprocker, what did you change to fix it?

How do YOU make a robot?
http://www.societyofrobots.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Never mind I fixed it.

The problem was that the bootloader would only work within the first .3 seconds, but my usb took longer to power up thereby missing the time window. A rewiring kept the usb powered up . . .

But, where is the location in code to make the bootloader wait longer?

How do YOU make a robot?
http://www.societyofrobots.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

societyofrobots wrote:
Quote:
Please look on the data sheet of your AVR and then set the fuses for reset start at Flashend - 255 words.

pomprocker, what did you change to fix it?

well I set the BootLock12

but it really had to do with the fact that I had a wire running from 5v out on the breakout board to the 5v out bus on the adc side.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When I implement the BlueSMiRF bluetooth for UART, when I upload code to it with fboot, how do I perform a "remote reset" of the ATmega8?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

another question:

does doing a watchdog timer software reset go into the bootloader address to signal fboot.exe?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi everyone !
I'm trying to use this bootloader with an ATtiny45 (@Peter: by the way excellent prog ! Thx a lot, even if it is not working yet :-(), but I've got a verify error with fboot.exe. I've read the code with my dragon and there was only the bootloader inside... fboot recognize my tiny45 and can program it, but can't verify it.
Anyone has an idea of what goes wrong ?

Edit: I'm using v.2.1 of bootloader

Edit2: Also tried with v.1.9, does not work either.

Have a nice day,
Kraal

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok I figured it out, it was my mistake.
I forgot to enable the SLFPRGEN fuse on the tiny45. Works perfectly now. :-)

Thx Peter for your work !

Have a nice day,
Kraal

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have something like this setup

http://itp.nyu.edu/~raf275/meshnetworking/XBee/XBee_program_Arduino_wireless.html

but I'm not using the Arduino or X-bee

but I am using an Atmega8, bluetooth, and bootloader by danni and fboot.exe

I can't seem to get this to work, its like after i disconnect from the hyperterminal after remotelly resetting the ATmega8, fboot.exe won't connect to the bootloader.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OK, I recently upgraded from an ATmega8 where the bootloader was working flawlessly, to an ATMega168, now all I get (if i get anything) is this "one wire" error message. What does this mean?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

pomprocker wrote:
OK, I recently upgraded from an ATmega8 where the bootloader was working flawlessly, to an ATMega168, now all I get (if i get anything) is this "one wire" error message. What does this mean?

Please tell exactly, where and when get you which message.

Any message without "error" inside was typical not an error message.

Peter

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Peter,

I ended up recompiling the bootloader for my atmega168 and it worked.

Another feature I have been thinking about for a while now is how to get fboot.exe to connect to a bluetooth device (specifically the BlueSMiRF) which is connected to a mega168's uart.

-Brandt