From: Keith Packard Date: Wed, 4 May 2011 05:13:35 +0000 (-0700) Subject: ao-bringup-avr: Add very primitive 'blink' to toggle the 32u4 B7 line X-Git-Tag: 0.9.3~42 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=2f09373b0f6fd30cd94fdce9b3cde2d4d518c323;p=fw%2Faltos ao-bringup-avr: Add very primitive 'blink' to toggle the 32u4 B7 line This should permit basic testing of the chip. Signed-off-by: Keith Packard --- diff --git a/ao-bringup-avr/Makefile b/ao-bringup-avr/Makefile new file mode 100644 index 00000000..39ade42f --- /dev/null +++ b/ao-bringup-avr/Makefile @@ -0,0 +1,21 @@ +MCU=atmega32u4 +DUDECPUTYPE=m32u4 +#PROGRAMMER=stk500v2 -P usb +PROGRAMMER=usbtiny +LOADCMD=avrdude +LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w: +CC=avr-gcc +OBJCOPY=avr-objcopy +CFLAGS=-g -mmcu=$(MCU) -Wall -Wstrict-prototypes -Os -mcall-prologues + +all: ao-blink.hex + +ao-blink.hex: ao-blink + avr-size ao-blink + $(OBJCOPY) -R .eeprom -O ihex ao-blink $@ + +ao-blink: ao-blink.o + $(CC) $(CFLAGS) -o $@ ao-blink.o + +load: ao-blink.hex + $(LOADCMD) $(LOADARG)ao-blink.hex \ No newline at end of file diff --git a/ao-bringup-avr/ao-blink.c b/ao-bringup-avr/ao-blink.c new file mode 100644 index 00000000..b131d492 --- /dev/null +++ b/ao-bringup-avr/ao-blink.c @@ -0,0 +1,37 @@ +/* + * Copyright © 2011 Keith Packard + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +#include +#define F_CPU 16000000UL // 16 MHz +#include + +#define LEDOUT PORTB7 +#define LEDPORT PORTB +#define LEDDDR DDRB +#define LEDDDRPIN DD6 + +int main(void) +{ + LEDDDR |= (1 << LEDDDRPIN); + + while (1) { + LEDPORT |= (1 << LEDOUT); + _delay_ms(200); + LEDPORT &= ~(1 << LEDOUT); + _delay_ms(200); + } +}