#!/bin/bash # CC=avr-gcc # CFLAGS=-g -Os -Wall -mcall-prologues -mmcu=atmega32 # OBJ2HEX=avr-objcopy # UISP=uisp # TARGET=blink # # program : $TARGET.hex # avr-gcc -mmcu=atmega32 -Wall -o $TARGET $TARGET.c \ # avr-objcopy -j .text -O ihex toggle_led.elf toggle_led.hex # # $(UISP) -dprog=stk500 -dserial=/dev/ttyS1 --erase -dpart=atmega32 # # $(UISP) -dprog=stk500 -dserial=/dev/ttyS1 --upload -dpart=atmega32 \ # # if=$TARGET.hex -v=2 # %.obj : %.o # $(CC) $(CFLAGS) $< -o $@ # # %.hex : %.obj # $(OBJ2HEX) -R .eeprom -O ihex $< $@ # # clean : # rm -f *.hex *.obj *.o # # upload: # avrdude -p m32 -c stk200 -e -U flash:w:$TARGET.hex TARGET=`pwd`/$1 MODE=$2 echo $TARGET if [ "$MODE" = "help" ]; then echo "Uzemmodok: make makeup upload clean check lpt" fi if [[ "$MODE" = "make" || "$MODE" = "" ]]; then echo "Making" avr-gcc -mmcu=atmega32 -Wall -Os -o $TARGET $TARGET.c avr-objcopy -j .text -O ihex $TARGET $TARGET.hex fi if [ "$MODE" = "makeup" ]; then echo "Making and uploading" avr-gcc -mmcu=atmega32 -Wall -Os -o $TARGET $TARGET.c avr-objcopy -j .text -O ihex $TARGET $TARGET.hex avrdude -p m32 -c stk200 -e -U flash:w:$TARGET.hex fi if [ "$MODE" = "upload" ]; then echo "Uploading" avrdude -p m32 -c stk200 -e -U flash:w:$TARGET.hex fi if [[ "$MODE" = "clean" || "$1" = "clean" ]]; then echo "Cleaning out" cd `pwd` rm -f *.hex *.obj *.o *.elf $TARGET fi if [[ "$MODE" = "check" || "$1" = "check" ]]; then echo "Checking avr" avrdude -c stk200 -p m32 -v fi if [ "$MODE" = "lpt" ]; then echo "Setup parport" modprobe parport mknod /dev/parport0 c 99 0 chmod 0777 /dev/parport0 fi