Adding Nano and Pro (8 MHz) to boards.txt file; updating Makefile for atmega168 bootloader based on Nathan's changes to allow for customizing of more parameters per-board; including Pro 8 MHz .hex compiled bootloader file; not updating the Diecimila or NG .hex files.

This commit is contained in:
David A. Mellis 2008-08-16 01:56:41 +00:00
parent 92797b603e
commit 7630c3a887
6 changed files with 231 additions and 17 deletions

View File

@ -56,7 +56,7 @@
productName = App;
productReference = 33DD8FB6096AC8DA0013AF8F /* Arduino.app */;
productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
<key>CFBundleDevelopmentRegion</key>
@ -687,7 +687,6 @@
33FFFD3F0965B1E40016AC38 /* Project object */ = {
isa = PBXProject;
buildConfigurationList = 33FFFD400965B1E40016AC38 /* Build configuration list for PBXProject "Arduino" */;
compatibilityVersion = "Xcode 2.4";
hasScannedForEncodings = 0;
mainGroup = 33FFFD3D0965B1E40016AC38;
productRefGroup = 33FFFD3D0965B1E40016AC38;

View File

@ -100,6 +100,26 @@ diecimila.build.core=arduino
##############################################################
nano.name=Arduino Nano
nano.upload.protocol=stk500
nano.upload.maximum_size=14336
nano.upload.speed=19200
nano.bootloader.low_fuses=0xff
nano.bootloader.high_fuses=0xdd
nano.bootloader.extended_fuses=0x00
nano.bootloader.path=atmega168
nano.bootloader.file=ATmegaBOOT_168_diecimila.hex
nano.bootloader.unlock_bits=0x3F
nano.bootloader.lock_bits=0x0F
nano.build.mcu=atmega168
nano.build.f_cpu=16000000L
nano.build.core=arduino
##############################################################
lilypad.name=LilyPad Arduino
lilypad.upload.protocol=stk500
@ -116,4 +136,24 @@ lilypad.bootloader.lock_bits=0x0F
lilypad.build.mcu=atmega168
lilypad.build.f_cpu=8000000L
lilypad.build.core=arduino
lilypad.build.core=arduino
##############################################################
pro.name=Arduino Pro (8 MHz)
pro.upload.protocol=stk500
pro.upload.maximum_size=14336
pro.upload.speed=19200
pro.bootloader.low_fuses=0xc6
pro.bootloader.high_fuses=0xdd
pro.bootloader.extended_fuses=0x00
pro.bootloader.path=atmega168
pro.bootloader.file=ATmegaBOOT_168_pro_8MHz.hex
pro.bootloader.unlock_bits=0x3F
pro.bootloader.lock_bits=0x0F
pro.build.mcu=atmega168
pro.build.f_cpu=8000000L
pro.build.core=arduino

View File

@ -0,0 +1,117 @@
:103800000C94341C0C944F1C0C944F1C0C944F1CA7
:103810000C944F1C0C944F1C0C944F1C0C944F1C7C
:103820000C944F1C0C944F1C0C944F1C0C944F1C6C
:103830000C944F1C0C944F1C0C944F1C0C944F1C5C
:103840000C944F1C0C944F1C0C944F1C0C944F1C4C
:103850000C944F1C0C944F1C0C944F1C0C944F1C3C
:103860000C944F1C0C944F1C11241FBECFEFD4E0BE
:10387000DEBFCDBF11E0A0E0B1E0E8E1FFE302C0B0
:1038800005900D92A230B107D9F712E0A2E0B1E0A5
:1038900001C01D92AD30B107E1F70C94311D0C94BD
:1038A000001CCF93DF93CDB7DEB724970FB6F89403
:1038B000DEBF0FBECDBF382F882309F433E010924E
:1038C0000A02332309F44BC020E02D9A19821A8290
:1038D0001B821C8289819A81AB81BC8180549F416B
:1038E000A040B040A0F489819A81AB81BC8101964F
:1038F000A11DB11D89839A83AB83BC8389819A8181
:10390000AB81BC8180549F41A040B04060F32D98B2
:1039100019821A821B821C8289819A81AB81BC81A7
:1039200080549F41A040B040A0F489819A81AB812E
:10393000BC810196A11DB11D89839A83AB83BC8391
:1039400089819A81AB81BC8180549F41A040B04065
:1039500060F32F5F231708F4B8CF20930A02249650
:103960000FB6F894DEBF0FBECDBFDF91CF910895A3
:10397000EF92FF920F931F93EE24FF248701809113
:10398000C00087FD17C00894E11CF11C011D111D2A
:1039900081E2E81681EAF80687E0080780E0180768
:1039A00070F3E0910201F091030109958091C0004C
:1039B00087FFE9CF8091C600992787FD90951F91D9
:1039C0000F91FF90EF900895982F8091C00085FF90
:1039D000FCCF9093C60008950E94B81C803271F00D
:1039E000809104018F5F80930401853009F0089570
:1039F000E0910201F09103010995089584E10E948C
:103A0000E41C80E10E94E41C08951F93182F0E947B
:103A1000B81C803269F0809104018F5F80930401AB
:103A2000853079F4E0910201F0910301099509C014
:103A300084E10E94E41C812F0E94E41C80E10E942A
:103A4000E41C1F910895282F882351F090E0809165
:103A5000C00087FFFCCF8091C6009F5F2917B9F790
:103A60000895CFEFD4E0DEBFCDBF000089E18093A1
:103A7000C4001092C50088E18093C10086E0809365
:103A8000C2005098589A259A81E00E94511C0E94C9
:103A9000B81C8033B1F18133B9F1803409F454C0DA
:103AA000813409F45AC0823409F469C0853409F4B8
:103AB0006CC0803531F1813521F1823511F18535C8
:103AC00009F4B2C0863509F4BAC0843609F463C07B
:103AD000843709F4BBC0853709F40EC1863709F471
:103AE0004AC0809104018F5F80930401853079F68C
:103AF000E0910201F091030109950E94B81C803306
:103B000051F60E94EC1CC3CF0E94B81C803249F7CA
:103B100084E10E94E41C81E40E94E41C86E50E948A
:103B2000E41C82E50E94E41C80E20E94E41C89E41B
:103B30000E94E41C83E50E94E41C80E50E94E41CD2
:103B400080E10E94E41CA3CF0E94B81C8638C8F212
:103B50000E94B81C0E94EC1C9ACF0E94B81C8038AE
:103B600009F4F7C0813809F4F8C0823809F4F9C0C3
:103B7000883909F4BDC080E00E94051D88CF84E12A
:103B80000E94231D0E94EC1C82CF85E00E94231D11
:103B90000E94EC1C7CCF0E94B81C809309020E94FA
:103BA000B81C8093080280910C028E7F80930C02D7
:103BB0000E94B81C853409F4C6C080910802909117
:103BC0000902892B09F0ADC00E94B81C803209F0AF
:103BD00088CF80910C0280FFC8C08091080290912C
:103BE00009020097D1F02091060130910701E8E029
:103BF000F1E0AC014E0F5F1FF999FECF32BD21BD40
:103C0000819180BDFA9AF99A2F5F3F4F4E175F0757
:103C100099F7309307012093060184E10E94E41C88
:103C200080E10E94E41C33CF0E94B81C80930601FF
:103C30000E94B81C809307010E94EC1C28CF84E0EE
:103C40000E94231D80E00E94051D21CF0E94B81C08
:103C5000809309020E94B81C809308020E94B81C3D
:103C6000853409F4F4C080910C028E7F80930C029D
:103C70008091060190910701880F991F9093070189
:103C8000809306010E94B81C803209F000CF84E1C5
:103C90000E94E41C2091080230910902211531058F
:103CA00019F1C0E0D0E0E0910601F09107018091A8
:103CB0000C0280FFC4C0F999FECFF2BDE1BDF89AB5
:103CC00080B50E94E41CE0910601F0910701319655
:103CD000F0930701E0930601209108023091090258
:103CE0002196C217D30718F380E10E94E41CCFCEBF
:103CF00083E00E94051DCBCE0E94B81C803209F0E3
:103D0000F0CE84E10E94E41C8EE10E94E41C84E970
:103D10000E94E41C86E00E94E41C80E10E94E41CF6
:103D2000B6CEC0E0D0E008E011E00E94B81CF80177
:103D300081938F0121968091080290910902C81702
:103D4000D90798F341CF80910C02816080930C02D7
:103D500034CF82E00E94051D9ACE81E00E94051DAD
:103D600096CE80E10E94051D92CE8091070187FDCD
:103D700080C010920B028091060190910701880F7C
:103D8000991F90930701809306018091080280FF9C
:103D900009C080910802909109020196909309024E
:103DA00080930802F894F999FECF1127E09106015B
:103DB000F0910701C8E0D1E08091080290910902DA
:103DC000103091F40091570001700130D9F303E0F5
:103DD00000935700E8950091570001700130D9F326
:103DE00001E100935700E895099019900091570060
:103DF00001700130D9F301E000935700E895139565
:103E0000103498F011270091570001700130D9F358
:103E100005E000935700E8950091570001700130CC
:103E2000D9F301E100935700E8953296029709F023
:103E3000C7CF103011F00296E5CF1124EECE81FFEE
:103E40000CC03196F0930701E093060149CF8091B1
:103E50000C02816080930C0215CF84910E94E41CB7
:103E60002091080230910902E0910601F0910701CA
:103E7000E8CF81E080930B027ECF0F931F930E94C7
:103E8000B81C182F0E94E41C0E94B81C082F0E9426
:103E9000E41C11362CF0175501363CF0075508C0CC
:103EA0001033D4F310530136CCF700330CF0005329
:103EB0001295107F100F812F992787FD90951F91E4
:103EC0000F9108951F93282F992787FD9095807F44
:103ED00090709595879595958795959587959595E6
:103EE00087958A304CF0982F995A822F8F708A309C
:103EF0004CF0182F195A08C0982F905D822F8F70A0
:103F00008A30BCF7182F105D892F0E94E41C812F86
:083F10000E94E41C1F910895BA
:023F1800800027
:0400000300003800C1
:00000001FF

View File

@ -1,7 +1,7 @@
# Makefile for ATmegaBOOT
# E.Lins, 18.7.2005
# $Id$
#
# Instructions
#
# To build the bootloader for the Diecimila:
@ -10,16 +10,18 @@
# To build the bootloader for the NG/Mini:
# make ng
#
# To build the bootloader for the LilyPad:
# make lilypad
#
# To burn the bootloader:
# make TARGET=diecimila isp
# make TARGET=ng isp
# make TARGET=lilypad isp
# make TARGET=pro8 isp
# program name should not be changed...
PROGRAM = ATmegaBOOT_168
# enter the target CPU frequency
AVR_FREQ = 16000000L
# enter the parameters for the avrdude isp tool
ISPTOOL = stk500v2
ISPPORT = usb
@ -37,9 +39,13 @@ LDSECTION = --section-start=.text=0x3800
# unlock the bootloader section) and 0xcf instead of 0x0f (to
# lock it), but since the high two bits of the lock byte are
# unused, avrdude would get confused.
ISPFUSES = avrdude -c $(ISPTOOL) -p m168 -P $(ISPPORT) $(ISPSPEED) -e -u -U lock:w:0x3f:m -U efuse:w:0x00:m -U hfuse:w:0xdd:m -U lfuse:w:0xff:m
ISPFUSES = avrdude -c $(ISPTOOL) -p m168 -P $(ISPPORT) $(ISPSPEED) -e -u -U lock:w:0x3f:m -U efuse:w:0x00:m -U hfuse:w:0x$(HFUSE):m -U lfuse:w:0x$(LFUSE):m
ISPFLASH = avrdude -c $(ISPTOOL) -p m168 -P $(ISPPORT) $(ISPSPEED) -U flash:w:$(PROGRAM)_$(TARGET).hex -U lock:w:0x0f:m
STK500 = "C:\Program Files\Atmel\AVR Tools\STK500\Stk500.exe"
STK500-1 = $(STK500) -e -d$(MCU_TARGET) -pf -vf -if$(PROGRAM)_$(TARGET).hex -lFF -LFF -f$(HFUSE)$(LFUSE) -EF8 -ms -q -cUSB -I200kHz -s -wt
STK500-2 = $(STK500) -d$(MCU_TARGET) -ms -q -lCF -LCF -cUSB -I200kHz -s -wt
OBJ = $(PROGRAM).o
OPTIMIZE = -O2
@ -49,7 +55,6 @@ LIBS =
CC = avr-gcc
# Override is only needed by avr-lib build system.
override CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -DF_CPU=$(AVR_FREQ) $(DEFS)
@ -61,18 +66,59 @@ OBJDUMP = avr-objdump
all:
lilypad: TARGET = lilypad
lilypad: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>1' '-DNUM_LED_FLASHES=3'
lilypad: $(PROGRAM)_lilypad.hex
lilypad: AVR_FREQ = 8000000L
lilypad: HFUSE = DD
lilypad: LFUSE = E2
lilypad_resonator: TARGET = lilypad_resonator
lilypad_resonator: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=3'
lilypad_resonator: $(PROGRAM)_lilypad_resonator.hex
lilypad_resonator: AVR_FREQ = 8000000L
lilypad_resonator: HFUSE = DD
lilypad_resonator: LFUSE = C6
pro8: TARGET = pro_8MHz
pro8: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1'
pro8: $(PROGRAM)_pro_8MHz.hex
pro8: AVR_FREQ = 8000000L
pro8: HFUSE = DD
pro8: LFUSE = C6
pro16: TARGET = pro_16MHz
pro16: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1'
pro16: $(PROGRAM)_pro_16MHz.hex
pro16: AVR_FREQ = 16000000L
pro16: HFUSE = DD
pro16: LFUSE = C6
pro20: TARGET = pro_20mhz
pro20: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1'
pro20: $(PROGRAM)_pro_20mhz.hex
pro20: AVR_FREQ = 20000000L
pro20: HFUSE = DD
pro20: LFUSE = C6
diecimila: TARGET = diecimila
diecimila: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1'
diecimila: $(PROGRAM)_diecimila.hex
diecimila: AVR_FREQ = 16000000L
ng: TARGET = ng
ng: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>1' '-DNUM_LED_FLASHES=3'
ng: $(PROGRAM)_ng.hex
ng: AVR_FREQ = 16000000L
isp: $(PROGRAM)_$(TARGET).hex
$(ISPFUSES)
$(ISPFLASH)
isp-stk500: $(PROGRAM)_$(TARGET).hex
$(STK500-1)
$(STK500-2)
%.elf: $(OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
@ -90,3 +136,4 @@ clean:
%.bin: %.elf
$(OBJCOPY) -j .text -j .data -O binary $< $@

View File

@ -31,7 +31,7 @@ FTDI chip on the board. These can be found in the drivers/ directory.
* On Linux, drivers are included in kernel versions 2.4.20 or greater.
CREDITS
Arduino is an open source project, owned by nobody and supported by many.
Arduino is an open source project, supported by many.
The Arduino team is composed of Massimo Banzi, David Cuartielles, Tom Igoe,
Gianluca Martino, and David A. Mellis.
@ -48,9 +48,11 @@ UPDATES
0012
* Added Arduino Nano and Arduino Pro (8 MHz) to the boards menu.
* Added a LiquidCrystal library based on the work in the playground.
* Improved millis(): it now overflows after 49 days instead of 9 hours.
* Fixed reversing direction bug in Stepper library. (Thanks to Wayne Holder.)
* Moved insertion of #include <WProgram.h> so #include <stdlib.h> works.
0011 - 2008.03.28

View File

@ -3,13 +3,14 @@
0012
Update Windows avr-libc to 1.6 and avr-gcc to 4.3 (to match Mac).
Move Servo min/max parameters to attach() function from constructor.
Improve shiftOut() performance: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1216659239/0
Add String library.
Add highByte(), lowByte(), and makeWord(high, low) functions.
Add bitRead() and bitWrite() functions (and bitSet() and bitClear()?)
Add Encoder library.
Comment LiquidCrystal examples.
Write LiquidCrystal documentation.
Add Arduino Nano to boards menu.
Add Arduino Pro to boards menu.
[done] Per-board upload.using preference.
[done] Update version of avr-gcc, etc. to support ATmega644, ATmega328, etc.
[done] Move #include <WProgram.h> after other #include's? (prevent it from interfering with standard libraries)
[done] Add LiquidCrystal library.
@ -19,6 +20,9 @@ Write LiquidCrystal documentation.
AVR
Add Encoder library.
Add highByte(), lowByte(), and makeWord(high, low) functions.
Add bitRead() and bitWrite() functions (and bitSet() and bitClear()?)
Bootloader:
- disable watch dog timer
- fix eeprom writing: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1202157667/15
@ -41,6 +45,7 @@ Add SPI library.
Add OneWire library.
Add pulseOut(), etc. functions from Wiring.
Add Ping example.
Add ContinuousServo library that inherits from Servo?
Supporting EEMEM directive by changing compiler command line: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1202157667
Include Arduino as AVR-ISP sketch in hardware/firmwares.
Move type definitions into WConstants.h.
@ -55,7 +60,11 @@ Improve preprocessing of sketches:
- Remember the original locations of function prototypes to highlight the correct line on error.
Multiple sketch windows.
Easier library discovery and installation.
Easier board installation.
Easier board installation ("Add board..." menu item)
Comprehensive board management:
- Enabled and disabled boards.
- Dialog for enabling, disabling, adding, and deleting boards.
- Board descriptions (e.g. explaining differences between boards).
Clean up Library and LibraryManager.
Detect dependencies between libraries.
Byte-based serial monitor.
@ -64,12 +73,11 @@ Clear character should clear serial monitor.
Incorporate serial-net proxy.
Changing font size should change serial monitor font size.
Deal with shorter screens (e.g. ASUS EEPC).
Investigate method for auto-detecting serial port on Windows.
Investigate method for auto-detecting serial port on Windows (javax.usb?)
Guess serial port on the Mac and Linux.
Automatic detection of baud rate for serial monitor (based on the call to Serial.begin() in the current sketch).
Improve, generally, the upload experience (e.g. faster program start after upload, keep-alive messages to bootloader from IDE, shorter bootloader timeout if possible, progress bar)
Allow uploading of .hex files.
Per-board upload.using preference.
Allow for arbitrary compilation command line arguments.
Find in reference should give same message for missing page as for missing page association.
Test find in reference on libraries.
@ -132,6 +140,7 @@ Get good top-down, well-lit, plain-white-background photos of the Arduino boards
DOCUMENTATION / GETTING STARTED
Main "getting started" link should automatically load page for the user's operating system.
Consider deleting many of the pictures in the howto's as they just make it harder to see the instructions without adding much (e.g. the pictures of files in folders).
Tell people not to put the board on a Powerbook.
People don't know what a jumper is.
@ -144,4 +153,4 @@ Add explanation of how to work around auto-reset.
DOCUMENTATION / HACKING
Burning bootloader without an AVRISP: http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html
Burning bootloader without an AVRISP: http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html