1 Makefile

	#
	# 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