#
# Makefile for RF_Control.asm
#
MODULE=RF_Control
### MODULE=RF_Test
OUTPUT=$(MODULE).hex
SYSINCL = ../inc
INC_DIR = inc
LIBRARY = lib
MODULES = mod
ASSEMBLER = avra
# comment out the following for removing debug code
DEFINES = -listfile $(MODULE).list
# DEFINES = -listfile $(MODULE).list -define DEBUG=1
SOURCES = inc/*.inc lib/*.lib mod/*.asm
DEBUG_F = testfunc.asm debug_fun.inc
ASM_OPT = $(DEFINES)
ASM_OPT+= -includedir $(SYSINCL)
ASM_OPT+= -includedir $(INC_DIR)
ASM_OPT+= -includedir $(LIBRARY)
ASM_OPT+= -includedir $(MODULES)
UISP = uisp
ISP_OPT = -v=2
ISP_OPT+= -dprog=stk500
ISP_OPT+= -dserial=/dev/modem
ISP_OPT+= -dspeed=115200
ISP_OPT+= -dpart=ATmega8
### Firmware Version: 1.18
### Atmel AVR ATmega8 is found.
### Firmware Version: 1.18
###
### Fuse Low Byte = 0xdd
### Fuse High Byte = 0xd9
### Cannot read extended fuse bits on this device. Returning 0xff
### Fuse Extended Byte = 0xff
### Calibration Byte = 0x99 - Read Only
### Lock Bits = 0xff
### BLB12 -> 1
### BLB11 -> 1
### BLB02 -> 1
### BLB01 -> 1
### LB2 -> 1
### LB1 -> 1
###
# -wr_fuse_h Write fuse high byte
# -wr_fuse_e Write fuse extended byte
# --V--
# 76543210
# Fuse High Byte normal = 0xd9 = 11011001
# EEPROM preserved = 0xd1 = 11010001
#
# Fuse High Byte
# +-------------+---+-----------------------+-------------------------+
# | Fuse High |Bit| Description | Default Value |
# | Byte |No.| | |
# +-------------+---+-----------------------+-------------------------+
# | RSTDISBL(4) | 7 | Select if PC6 is I/O | 1 (unprogrammed, PC6 |
# | | | pin or RESET pin | is RESET-pin) |
# +-------------+---+-----------------------+-------------------------+
# | WDTON | 6 | WDT always on | 1 (unprogrammed, WDT |
# | | | | enabled by WDTCR) |
# +-------------+---+-----------------------+-------------------------+
# | SPIEN(1) | 5 | Enable Serial Program | 0 (programmed, SPI |
# | | | and Data Downloading | prog. enabled) |
# +-------------+---+-----------------------+-------------------------+
# | CKOPT(2) | 4 | Oscillator options | 1 (unprogrammed) |
# +-------------+---+-----------------------+-------------------------+
# | EESAVE | 3 | EEPROM memory is | 1 (unprogrammed, EEPROM |
# | | | preserved through | not preserved) |
# | | | the Chip Erase | |
# +-------------+---+-----------------------+-------------------------+
# | BOOTSZ1 | 2 | Select Boot Size | 0 (programmed)(3) |
# +-------------+---+-----------------------+-------------------------+
# | BOOTSZ0 | 1 | Select Boot Size | 0 (programmed)(3) |
# +-------------+---+-----------------------+-------------------------+
# | BOOTRST | 0 | Select Reset Vector | 1 (unprogrammed) |
# +-------------+---+-----------------------+-------------------------+
#
### Not preserve EEPROM memory call
# uisp -v=2 -dprog=stk500 -dserial=/dev/modem -dspeed=115200\
# -dpart=ATmega8 -wr_fuse_h=0xd9
### Preserve EEPROM memory call
# uisp -v=2 -dprog=stk500 -dserial=/dev/modem -dspeed=115200\
# -dpart=ATmega8 -wr_fuse_h=0xd1
#
$(OUTPUT): $(MODULE).asm $(SOURCES) $(DEBUG_F)
$(ASSEMBLER) $(ASM_OPT) $(MODULE).asm
all: $(OUTPUT)
up: $(OUTPUT)
$(UISP) $(ISP_OPT) -erase -upload if=$(OUTPUT)
clean:
rm -f $(MODULE).hex $(MODULE).list $(MODULE).map $(MODULE).obj\
$(MODULE).cof $(MODULE).eep.hex
gerhard.reithofer@tech-edv.co.at