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