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/
[email protected]
https://lists.sourceforge.net/lists/listinfo/amforth-devel