mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-03 14:24:15 +01:00
e2812ef91c
optiboot up-to-date with the optiboot source repository as of Jun-2011 (the last changes made in the optiboot repository were in Oct-2010) This adds support for several plaforms, fixes the "30k bug", and refactors the source to have separate stk500.h, boot.h, and pin_defs.h These are the arduino opticode issues fixed: http://code.google.com/p/arduino/issues/detail?id=380 optiboot has problems upload sketches bigger than 30 KB http://code.google.com/p/arduino/issues/detail?id=556 update optiboot to the point of the latest optiboot project sources. These are issues that had been solved in the optiboot source aready: http://code.google.com/p/arduino/issues/detail?id=364 optiboot leaves timer1 configured when starting app, breaks PWM on pin 9 and 10. (fixed with a workaround in arduino core.) aka http://code.google.com/p/optiboot/source/detail?r=c778fbe72df6ac13ef730c25283358c3c970f73e Support for ATmega8 and mega88. Fix fuse settings for mega168 _ISP targets Additional new platforms (mega, sanguino) http://code.google.com/p/optiboot/issues/detail?id=26 Set R1 to 0 (already in arduino code) http://code.google.com/p/optiboot/issues/detail?id=36&can=1 Fails to build correctly for mega88 After this commit, the only differences between the Arduino optiboot.c and the optiboot repository optiboot.c are cosmetic. |
||
---|---|---|
.. | ||
boot.h | ||
makeall | ||
Makefile | ||
omake | ||
omake.bat | ||
optiboot_atmega328_pro_8MHz.hex | ||
optiboot_atmega328_pro_8MHz.lst | ||
optiboot_atmega328.hex | ||
optiboot_atmega328.lst | ||
optiboot_diecimila.hex | ||
optiboot_diecimila.lst | ||
optiboot_lilypad_resonator.hex | ||
optiboot_lilypad_resonator.lst | ||
optiboot_lilypad.hex | ||
optiboot_lilypad.lst | ||
optiboot_luminet.hex | ||
optiboot_luminet.lst | ||
optiboot_pro_8MHz.hex | ||
optiboot_pro_8MHz.lst | ||
optiboot_pro_16MHz.hex | ||
optiboot_pro_16MHz.lst | ||
optiboot_pro_20mhz.hex | ||
optiboot_pro_20mhz.lst | ||
optiboot.c | ||
pin_defs.h | ||
README.TXT | ||
stk500.h |
This directory contains the Optiboot small bootloader for AVR microcontrollers, somewhat modified specifically for the Arduino environment. Optiboot is more fully described here: http://code.google.com/p/optiboot/ and is the work of Peter Knight (aka Cathedrow), building on work of Jason P Kyle, Spiff, and Ladyada. Arduino-specific modification are by Bill Westfield (aka WestfW) Arduino-specific issues are tracked as part of the Arduino project at http://code.google.com/p/arduino ------------------------------------------------------------ Building optiboot for Arduino. Production builds of optiboot for Arduino are done on a Mac in "unix mode" using CrossPack-AVR-20100115. CrossPack tracks WINAVR (for windows), which is just a package of avr-gcc and related utilities, so similar builds should work on Windows or Linux systems. One of the Arduino-specific changes is modifications to the makefile to allow building optiboot using only the tools installed as part of the Arduino environment, or the Arduino source development tree. All three build procedures should yield identical binaries (.hex files) (although this may change if compiler versions drift apart between CrossPack and the Arduino IDE.) Building optiboot in the arduino IDE install. Work in the .../hardware/arduino/bootloaders/optiboot/ and use the "omake <targets>" command, which just generates a command that uses the arduino-included "make" utility with a command like: make OS=windows ENV=arduino <targets> or make OS=macosx ENV=arduino <targets> On windows, this assumes you're using the windows command shell. If you're using a cygwin or mingw shell, or have one of those in your path, the build will probably break due to slash vs backslash issues. On a Mac, if you have the developer tools installed, you can use the Apple-supplied version of make. The makefile uses relative paths ("../../../tools/" and such) to find the programs it needs, so you need to work in the existing optiboot directory (or something created at the same "level") for it to work. Building optiboot in the arduino source development install. In this case, there is no special shell script, and you're assumed to have "make" installed somewhere in your path. Build the Arduino source ("ant build") to unpack the tools into the expected directory. Work in Arduino/hardware/arduino/bootloaders/optiboot and use make OS=windows ENV=arduinodev <targets> or make OS=macosx ENV=arduinodev <targets>