Go Down

Topic: How to select (or get rid of) bootloader? (Read 823 times) previous topic - next topic

jw3

Hello,

I've read http://arduino.cc/en/Tutorial/ArduinoISP (http://arduino.cc/en/Tutorial/ArduinoToBreadboard looks even more interesting) and I think this is a nice way to update your bootloader or even get rid of it. But there is one information I seem to be missing: How do I select _which_ bootloader to program or whether I want to program the sketch to start directly without a bootloader? The IDE doesn't seem to have a menu to choose the bootloader. What am I missing?

retrolefty

Quote
The IDE doesn't seem to have a menu to choose the bootloader. What am I missing?


When burning a bootloader from the IDE I believe it just uses the tools/board selection menu you make to determine which bootloader to burn.

Lefty


jw3

I think I should have been more specific with my question. I was not about to select a standard bootloader for a specific board, but about to replace the bootloader by some patched bootloader (e.g. from Ladyada).

But I found it now: The board preferences are configured in hardware/arduino/boards.txt. This path/file is relative to hardware/arduino/bootloaders/, which contains the bootloaders in subdirectores.

There is no GUI to changes those values.

But the second question still remains: how do I burn a sketch so that it starts directly without a bootloader?

BenF

#3
Aug 04, 2010, 02:03 pm Last Edit: Aug 04, 2010, 02:04 pm by borref Reason: 1
Quote
how do I burn a sketch so that it starts directly without a bootloader?

The basic concept is that the bootloader code is loaded into high memory and a configuration switch is set so that power on (or reset) starts at the high address (boot section) rather than low memory (sketch section). This is controlled by a series of microcontroller switches (fuses). To change these, you need an external programmer. To program a board through a programmer, you need a different "boards.txt" entry.

If you read yourself warm and fuzzy on "improved" bootloaders, you may want to know that many (if not all) of these improvements relate to ancient versions of the Arduino bootloader. I really don't think there is much to gain from messing with what you already have. Rather, get yourself a programmer and use that whenever a bootloader is not needed or desired.

jw3

Quote
This is controlled by a series of microcontroller switches (fuses). To change these, you need an external programmer.

Doesn't ArduinoISP count as an external programmer?

Quote
If you read yourself warm and fuzzy on "improved" bootloaders, you may want to know that many (if not all) of these improvements relate to ancient versions of the Arduino bootloader.


I tried to find out about which changes are already applied. But all "svn log" shows me is that something was merged from processing repository.

floresta

Quote
Doesn't ArduinoISP count as an external programmer?
No.  An external programmer is a piece of hardware that typically connects to the six pins labeled ICSP.

Don

retrolefty

Quote
No.  An external programmer is a piece of hardware that typically connects to the six pins labeled ICSP.


Well as I understand it an Arduino board loaded and running with the ArduinoISP sketch is acting as an external programmer and attaches to the target chip using ICSP pins. AVRDUDE now includes a programmer named 'ArduinoISP' So I see no difference between a ArduinoISP and any other usb hardware programmer?

Lefty

floresta

Lefty:

You are correct,  I misread the question.  I didn't have my coffee this morning.

Don

Go Up