What is the memory size occupied by boot loader in flash
Thanks
about 2K, if my memory doesn't fail me.
It is currently taking up the maximum of 2k (roughly).
There is optiboot which has been developed which only takes about 1/4 of that, about 0.5k, and it may replace the standard arduino bootloader soon.
You can download it and stick it on your arduino yourself though if you have an ISP programmer (or a second arduino to act as one).
Mowcius
Thanks everybody
Pramod
It is currently taking up the maximum of 2k (roughly).
There is optiboot which has been developed which only takes about 1/4 of that, about 0.5k, and it may replace the standard arduino bootloader soon.
You can download it and stick it on your arduino yourself though if you have an ISP programmer (or a second arduino to act as one).
Mowcius
There are no bugs, limitation etc. using that optiboot?
From the source:
Enhancements: */
/* Fits in 512 bytes, saving 1.5K of code space */
/* Background page erasing speeds up programming */
/* Higher baud rate speeds up programming */
/* Written almost entirely in C */
/* Customisable timeout with accurate timeconstant */
/* */
/* What you lose: */
/* Implements a skeleton STK500 protocol which is */
/* missing several features including EEPROM */
/* programming and non-page-aligned writes */
/* High baud rate breaks compatibility with standard */
/* Arduino flash settings */
/* */
/* Currently supports: */
/* ATmega168 based devices (Diecimila etc) */
/* ATmega328P based devices (Duemilanove etc) */
/* */
/* Does not support: */
/* ATmega1280 based devices (eg. Mega) */
/* */
/* Assumptions: */
/* The code makes several assumptions that reduce the */
/* code size. They are all true after a hardware reset, */
/* but may not be true if the bootloader is called by */
/* other means or on other hardware. */
/* No interrupts can occur */
/* UART and Timer 1 are set to their reset state */
/* SP points to RAMEND */
Well, I guess I'll stay with the default bootloader
Hi, I'm new in this forum, and I would like to apologize if this is not the right place to ask the following.
I have Arduino 2009 but I've recently burned the MCU. I'm about to replace the MCU with a new one. My question is, will I have any problem downloading my software codes into the new MCU using the Arduino 0018 programming software? Is there anything I have to know about boot loader?
Thanks to everybody would help me.
Ciao
I'm about to replace the MCU with a new one. My question is, will I have any problem downloading my software codes into the new MCU using the Arduino 0018 programming software?
That depends on if the new MCU has the bootloader already burned into it. Some vendors sell it that way, others just sell a blank chip. Where did you buy it?
Lefty
Thanks Retrolefty,
I'm going to buy it from Farnell (Italy). I would like to ask you another thing also: what is the purpose of the bootloader into an MCU? Is that strictly necessary to work with the controller?
Thanks again
Max
the bootloader is a little sketch that listens for a incoming communication from the pc to program your chip
without it you need some form of programmer (additional hardware), if your getting it from a parts supplier its probably going to be blank
Thanks Osgeld,
if the MCU is going to be blank, what do I have to perform in order to use it with the Arduino pcb? As far as I've understood, there should be a possibility to download the bootloader using the Arduino 0018 programming software into the new MCU, is that correct? if not, what kind of additional HW do I have to use?
Thanks
Max
Hi Max.
to burn the bootloader you'll need additional hardware, like mentioned before in this thread.
Depending on your skill with a soldering iron, and if you have access to a pc with an old parallel port (eg lpt1); you can make a parallel ISP cable.
As described in the above link, you'll need to install "giveio" before you can use the parallel programmer to load the bootloader.
to load the bootloader on the new chip, simply unmount (pry off) the old ATmega chip, and insert the new chip (and make sure it is plugged in the right way!!)
Power up the board (via USB or other external power source, as the parallelProgrammer will not power the board), plug in the parallel programmer, and program the bootloader.
when it's done, you should be ready to program your arduino like you would normally.
Groove wrote
/* What you lose: /
/ Implements a skeleton STK500 protocol which is /
/ missing several features including EEPROM /
/ programming and non-page-aligned writes */
-so does that mean that it is not possible to make use of the EEPROM library when the Optiboot bootloader is on the chip? :-/
Thanks Spumanti,
I understand that, but I do not have a parallel port, my laptop is a MacBook Pro that comes with USB and firewire port only. I can use both WinXP and Mac OSX. Is there any solution using the USB port instead of the parallel one (e.g. usb to parallel or serial port)?
Actually I have a USB to Serial converter and it would great to find the way to use for this task.
Thanks
Max
This is probably the cheapest simplest USB programmer :