Hello,

i tried to compile the newest Release for AMForth 5.5.

$ make
wine ../../Atmel/avrasm2.exe -I ../../Atmel/include -I ../../core -I 
../../core/devices/atmega32 -fI -v0 -e 
template.eep.hex -l template.lst template.asm
err:winedevice:ServiceMain driver L"IOPort" failed to load
../../core\drivers/usart_0.asm(1): error: Undefined symbol: UBRR0L
../../core\drivers/usart_0.asm(2): error: Undefined symbol: UBRR0H
../../core\drivers/usart_0.asm(3): error: Undefined symbol: UCSR0C
../../core\drivers/usart_0.asm(4): error: Undefined symbol: UCSR0B
../../core\drivers/usart_0.asm(5): error: Undefined symbol: UCSR0A
../../core\drivers/usart_0.asm(12): error: Undefined symbol: RXC0
../../core\drivers/usart_0.asm(13): error: Undefined symbol: UDRE0
../../core\drivers/usart_0.asm(14): error: Undefined symbol: TXEN0
../../core\drivers/usart_0.asm(15): error: Undefined symbol: RXEN0
../../core\drivers/usart_0.asm(16): error: Undefined symbol: RXCIE0
../../core\drivers/usart_0.asm(17): error: Undefined symbol: UDRIE0

Assembly failed, 11 errors, 11 warnings
make: *** [template.hex] Fehler 1

(As you can see i am working under Debian Linux here.)
What is going wrong here?


Best regards
Karsten

-------------- next part --------------
# simple makefile for building the 
# template project. 

SHELL=/bin/bash

# --- edit these values ------------------------------------
# Name of your application (change it to the name of your
# copy of the template.asm file)
TARGET=template

# versions before 2.1 may produce some warnings
# but should produce a running system. You should
# _always_ use the trunk.

#AMFORTH=../../releases/3.6
AMFORTH=../../core

# the MCU should be identical to the device
#MCU=atmega1284p
MCU=atmega32
# set the fuses according to your MCU
LFUSE=0xAF
HFUSE=0x80
# some MCU have this one, see write-fuses target below
EFUSE=0xnn

# serial port
CONSOLE=/dev/ttyUSB0

# directories
DIR_ATMEL=../../Atmel

# programms / flags
USB=-c avr911  -P /dev/ttyUSB3
PP=-c stk200  -P /dev/parport0
JTAG=-c jtag2 -P /dev/ttyUSB2
BURNER=$(USB)
AVRDUDE=avrdude
AVRDUDE_FLAGS=-q $(BURNER) -p $(MCU)

AVRA=avra -I $(DIR_ATMEL)/include

AVRASM=wine $(DIR_ATMEL)/avrasm2.exe -I $(DIR_ATMEL)/include

# ----------------------------------------------------------

INCLUDE=-I $(AMFORTH) -I $(AMFORTH)/devices/$(MCU)

default:  $(TARGET).hex

erase:
        $(AVRDUDE) $(AVRDUDE_FLAGS) -e

install: $(TARGET).hex
        $(AVRDUDE) $(AVRDUDE_FLAGS)  -e -U flash:w:$(TARGET).hex:i -U 
eeprom:w:$(TARGET).eep.hex:i

$(TARGET).hex: $(TARGET).asm $(AMFORTH)/*.asm $(AMFORTH)/words/*.asm 
$(AMFORTH)/devices/$(MCU)/*.asm
#       $(AVRA) $(INCLUDE) --listmac -l $(TARGET).lst -m $(TARGET).map 
$(TARGET).asm
        $(AVRASM) $(INCLUDE) -fI -v0 -e $(TARGET).eep.hex -l $(TARGET).lst 
$(TARGET).asm

$(TARGET).back:
        $(AVRDUDE) $(AVRDUDE_FLAGS)  -U flash:r:$(TARGET).hex:i -U 
eeprom:r:$(TARGET).eep.hex:i

clean:
        rm -f $(TARGET).hex
        rm -f $(TARGET).eep.hex
        rm -f $(TARGET).lst
        rm -f $(TARGET).map
        rm -f $(TARGET).cof
        rm -f $(TARGET).obj

read-fuse:
        $(AVRDUDE) $(AVRDUDE_FLAGS) -U hfuse:r:-:h -U lfuse:r:-:h -U lock:r:-:h
        # $(AVRDUDE) $(AVRDUDE_FLAGS) -U hfuse:r:-:h -U lfuse:r:-:h -U 
efuse:r:-:h -U lock:r:-:h

write-fuse:
        $(AVRDUDE) $(AVRDUDE_FLAGS) -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m
#       $(AVRDUDE) $(AVRDUDE_FLAGS) -U efuse:w:$(EFUSE):m -U hfuse:w:$(HFUSE):m 
-U lfuse:w:$(LFUSE):m
-------------- next part --------------
; This is a template for an amforth project.
;
; The order of the entries (esp the include order) must not be
; changed since it is very important that the settings are in the
; right order
;
; note: .set is like a variable, .equ is like a constant
;
; first is include the preamble. It contains macro definitions, 
; default settings and mcu specific stuff like register names. 
; The files included with it depend on the -I order of the 
; assembler.

.include "preamble.inc"

; The amforth code is split into two segments, one starting
; at address 0 (the RWW area) and one starting in
; the NRWW region. The latter part cannot be changed
; at runtime so it contains most of the core system
; that would never be changed. If unsure what it
; means, leave it as it is. This address may be
; adjusted to give room for other code fragments (e.g.
; bootloaders). The amforth code will start here and may
; occupy all space until flash-end.

; If you want leave out the first 512 bytes of the NRWW section
; for e.g. a bootloader change the line to
; .equ AMFORTH_RO_SEG = NRWW_START_ADDR+512/2
; note the /2 since the flash is 16bit per address
; default is the whole NRWW section
; .equ AMFORTH_RO_SEG = NRWW_START_ADDR

.set AMFORTH_RO_SEG = NRWW_START_ADDR

; amforth needs two essential parameters: CPU clock
; and command terminal line.
; cpu clock in hertz, 1MHz is factory default
.equ F_CPU = 16000000

; terminal settings
; check http://amforth.sourceforge.net/recipes/usart-settings.html
; for further information

; serial line settings.
.set BAUD=19200
.set BAUD_MAXERROR=10
.set WANT_ISR_RX = 1 ; interrupt driven receive
;.set WANT_ISR_TX = 0 ; send slowly but with less code space

; define which usart to use.
.include "drivers/usart_0.asm"


; now define your own options, if the settings from
; the files included above are not ok. Use the .set
; instruction, not the .equ. e.g.:
;
; .set WANT_XY = 1
;
; there are many options available. There are two
; places where they are defined initially: core/macros.asm 
; and core/devices/<mcutype>/device.asm. Setting the value
; to 1 enables the feature, setting to 0 disables it.
; Most options are disabled by default. You should never
; change the files mentioned above, setting the options here
; is absolutly sufficient.

; the dictionary search treats lowercase and uppercase
; letters the same. Set to 0 if you do not want it
.set WANT_IGNORECASE = 1


; default settings as specified in core/macros.asm. Uncomment and
; change them if necessairy.

; Size of the Terminal Input Buffer. This is the command line buffer.
; .set TIBSIZE  = $64    ; bytes; ANS94 needs at least 80 characters per line

; The total USER size is the sum of the system internal USER area plus
; the size specified here.
; .set APPUSERSIZE = 10  ; size of application specific user area in bytes

; addresses of various data segments. 
;.set rstackstart = RAMEND      ; start address of return stack, grows downward
;.set stackstart  = RAMEND - 80 ; start address of data stack, grows downward
; change only if you know what to you do

; Total number of entries in the search order.
; The standard requires 8 wordlists in the search oder, amforth occupies
; already one for itself. So you'll have 7 slots for your own.
;.set NUMWORDLISTS = 8

; Total number of recognizers.
; There are 2 recognizers for the core system already in use. That makes
; 2 for your application.
;.set NUMRECOGNIZERS = 4 


; DRIVER SECTION
; 
; settings for 1wire interface, uncomment to use it
;.equ OW_PORT=PORTB
;.equ OW_BIT=4
;.include "drivers/1wire.asm"

; include the whole source tree.
.include "amforth.asm"
------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to