Re: [Amforth] template.hex can't be build with MCU=atmega8
I'm using a butterfly (atmega169) with the latest version, runs great. Brian-in-ohio On 8/16/20 4:49 AM, Malte Frank Gerdes wrote: Okay, i see. I'll use a bigger controller then. Malte ___ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel ___ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel
Re: [Amforth] template.hex can't be build with MCU=atmega8
Okay, i see. I'll use a bigger controller then. Malte ___ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel
Re: [Amforth] template.hex can't be build with MCU=atmega8
Hi, > Does that mean that it is practically impossible to use amforth on an > atmega8? I would say yes. The ATmega8 has 8K of flash memory. My AmForth 6.8 ATmega328p hex needs ~10K of flash memory. It might be possible to remove words from the current distribution/build so that it would fit into 8K, but then there would be very little flash memory remaining to do anything with. >From a search of the mailing list, 2.7 was the latest version I saw reported as running on an ATmega8. Kind regards, Tristan On 14Aug20 18:33, Malte Frank Gerdes wrote: > Reading the mailing list archive it seems that those errors happen and > most of the time it's difficult to know where they come from. I found > that it is possible to ignore those Overlaps with -O i. Now i get > different errors which at least make sense to me. > > > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(101): error: call k: Unsupported instruction on ATmega8 > ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 > ../../avr8\amforth.asm(19): error: RWW Segment Overflow, please edit your > dict_appl.inc > ../../avr8\macros.asm(101): error: call k: Unsupported instruction on ATmega8 > ../../avr8\words/d-lesszero.asm(14): error: jmp k: Unsupported instruction on > ATmega8 > ../../avr8\words/d-lesszero.asm(15): error: jmp k: Unsupported instruction on > ATmega8 > > > Looking at the svn history this macro was introduced in 2011, the 4.2 > release at least builds for the atmega8 when the trailing zeroes are > removed from the usart definitions in template.asm. Even then the > resulting resource usage is 118% of available flash memory. > > The dict_appl.inc file used is empty, so i'm not sure what to modify > there, because as i understand it this file is meant to include extra > words. > > Does that mean that it is practically impossible to use amforth on an > atmega8? If not, are there some example projects using it (i haven't > found any)? > > > Malte > > > ___ > Amforth-devel mailing list for http://amforth.sf.net/ > Amforth-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/amforth-devel > ___ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel
Re: [Amforth] template.hex can't be build with MCU=atmega8
Reading the mailing list archive it seems that those errors happen and most of the time it's difficult to know where they come from. I found that it is possible to ignore those Overlaps with -O i. Now i get different errors which at least make sense to me. ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(101): error: call k: Unsupported instruction on ATmega8 ../../avr8\macros.asm(94): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\amforth.asm(19): error: RWW Segment Overflow, please edit your dict_appl.inc ../../avr8\macros.asm(101): error: call k: Unsupported instruction on ATmega8 ../../avr8\words/d-lesszero.asm(14): error: jmp k: Unsupported instruction on ATmega8 ../../avr8\words/d-lesszero.asm(15): error: jmp k: Unsupported instruction on ATmega8 Looking at the svn history this macro was introduced in 2011, the 4.2 release at least builds for the atmega8 when the trailing zeroes are removed from the usart definitions in template.asm. Even then the resulting resource usage is 118% of available flash memory. The dict_appl.inc file used is empty, so i'm not sure what to modify there, because as i understand it this file is meant to include extra words. Does that mean that it is practically impossible to use amforth on an atmega8? If not, are there some example projects using it (i haven't found any)? Malte ___ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel
Re: [Amforth] template.hex can't be build with MCU=atmega8
[Sorry for double posting the question i didn't know that it gets sent automtically after subscribing to the list :(] Thanks for the info, i completely ignored the warnings and didn't search for it, because of the errors. So with your suggestion the warnings are gone, but the Overlap errors are still the same. Malte ___ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel
Re: [Amforth] template.hex can't be build with MCU=atmega8
In template.asm, a better bet might be: > ; define which usart to use. > .include "drivers/usart.asm" See also: http://amforth.sourceforge.net/TG/recipes/Usart.html On Fri, 14 Aug 2020 13:17:13 +0200 Malte Frank Gerdes wrote: > Hi, > > this is the first time i'm using amforth. I followed > http://amforth.sourceforge.net/UG/linux.html to get amforth and tried > to build the template.hex file for an atmega8. I also tried a > snapshot of r2450, which has the same error. The template.lst file > contains this: > > AVRASM ver. 2.1.52 template.asm Fri Aug 14 13:00:33 2020 > > template.asm(14): Including file '../../avr8\preamble.inc' > ../../avr8\preamble.inc(2): Including file '../../avr8\macros.asm' > ../../avr8\macros.asm(6): Including file '../../avr8\user.inc' > ../../avr8\preamble.inc(6): Including file > '../../avr8/devices/atmega8\device.asm' > ../../avr8/devices/atmega8\device.asm(5): Including file > '../../avr8/Atmel/Appnotes2\m8def.inc' template.asm(53): Including > file '../../avr8\drivers/usart_0.asm' -- Regards, Martin Nicholas. E-mail: m...@mgn.org.uk. ___ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel
[Amforth] template.hex can't be build with MCU=atmega8
Hi, this is the first time i'm using amforth. I followed http://amforth.sourceforge.net/UG/linux.html to get amforth and tried to build the template.hex file for an atmega8. I also tried a snapshot of r2450, which has the same error. The template.lst file contains this: AVRASM ver. 2.1.52 template.asm Fri Aug 14 13:00:33 2020 template.asm(14): Including file '../../avr8\preamble.inc' ../../avr8\preamble.inc(2): Including file '../../avr8\macros.asm' ../../avr8\macros.asm(6): Including file '../../avr8\user.inc' ../../avr8\preamble.inc(6): Including file '../../avr8/devices/atmega8\device.asm' ../../avr8/devices/atmega8\device.asm(5): Including file '../../avr8/Atmel/Appnotes2\m8def.inc' template.asm(53): Including file '../../avr8\drivers/usart_0.asm' ../../avr8\drivers/usart_0.asm(1): warning: Use of undefined or forward referenced symbol 'UBRR0L' in .equ/.set ../../avr8\drivers/usart_0.asm(2): warning: Use of undefined or forward referenced symbol 'UBRR0H' in .equ/.set ../../avr8\drivers/usart_0.asm(3): warning: Use of undefined or forward referenced symbol 'UCSR0C' in .equ/.set ../../avr8\drivers/usart_0.asm(4): warning: Use of undefined or forward referenced symbol 'UCSR0B' in .equ/.set ../../avr8\drivers/usart_0.asm(5): warning: Use of undefined or forward referenced symbol 'UCSR0A' in .equ/.set ../../avr8\drivers/usart_0.asm(12): warning: Use of undefined or forward referenced symbol 'RXC0' in .equ/.set ../../avr8\drivers/usart_0.asm(13): warning: Use of undefined or forward referenced symbol 'UDRE0' in .equ/.set ../../avr8\drivers/usart_0.asm(14): warning: Use of undefined or forward referenced symbol 'TXEN0' in .equ/.set ../../avr8\drivers/usart_0.asm(15): warning: Use of undefined or forward referenced symbol 'RXEN0' in .equ/.set ../../avr8\drivers/usart_0.asm(16): warning: Use of undefined or forward referenced symbol 'RXCIE0' in .equ/.set ../../avr8\drivers/usart_0.asm(17): warning: Use of undefined or forward referenced symbol 'UDRIE0' in .equ/.set ../../avr8\drivers/usart_0.asm(32): Including file '../../avr8\drivers/usart_common.asm' ../../avr8\drivers/usart_common.asm(11): Including file '../../avr8\drivers/usart-rx-buffer.asm' ../../avr8\drivers/usart_common.asm(24): Including file '../../avr8\words/usart-tx-poll.asm' ../../avr8\drivers/usart_common.asm(29): Including file '../../avr8\words/ubrr.asm' ../../avr8\drivers/usart_common.asm(30): Including file '../../avr8\words/usart.asm' template.asm(124): Including file '../../avr8\amforth.asm' ../../avr8\amforth.asm(12): Including file '../../avr8\drivers/generic-isr.asm' ../../avr8\amforth.asm(14): Including file '../../avr8\dict/rww.inc' ../../avr8\dict/rww.inc(1): Including file '../../avr8\words/mplus.asm' ../../avr8\dict/rww.inc(2): Including file '../../common\words/ud-star.asm' ../../avr8\dict/rww.inc(3): Including file '../../common\words/umax.asm' ../../avr8\dict/rww.inc(4): Including file '../../common\words/umin.asm' ../../avr8\dict/rww.inc(5): Including file '../../avr8\words/immediate-q.asm' ../../avr8\dict/rww.inc(6): Including file '../../avr8\words/name2flags.asm' ../../avr8\dict/rww.inc(7): Including file '../../avr8\words/1ms.asm' ../../avr8\dict/rww.inc(14): Including file '../../avr8\dict/appl_2k.inc' ../../avr8\dict/appl_2k.inc(1): Including file '../../avr8\words/d-2star.asm' ../../avr8\dict/appl_2k.inc(2): Including file '../../avr8\words/d-2slash.asm' ../../avr8\dict/appl_2k.inc(3): Including file '../../avr8\words/d-plus.asm' ../../avr8\dict/appl_2k.inc(4): Including file '../../avr8\words/d-minus.asm' ../../avr8\dict/appl_2k.inc(5): Including file '../../avr8\words/d-invert.asm' ../../avr8\dict/appl_2k.inc(6): Including file '../../common\words/u-dot.asm' ../../avr8\dict/appl_2k.inc(7): Including file '../../common\words/u-dot-r.asm' ../../avr8\dict/appl_2k.inc(9): Including file '../../common\words/show-wordlist.asm' ../../avr8\dict/appl_2k.inc(10): Including file '../../common\words/words.asm' ../../avr8\dict/appl_2k.inc(11): Including file '../../avr8\dict/interrupt.inc' ../../avr8\dict/interrupt.inc(5): Including file '../../avr8\words/irqcnt.asm' ../../avr8\dict/interrupt.inc(6): Including file '../../avr8\words/int-num.asm' ../../avr8\dict/interrupt.inc(9): Including file '../../avr8\words/int-on.asm' ../../avr8\dict/interrupt.inc(10): Including file '../../avr8\words/int-off.asm' ../../avr8\dict/interrupt.inc(11): Including file '../../avr8\words/int-store.asm' ../../avr8\dict/interrupt.inc(12): Including file '../../avr8\words/int-fetch.asm' ../../avr8\dict/interrupt.inc(13): Including file '../../avr8\words/int-trap.asm' ../../avr8\dict/interrupt.inc(15): Including file '../../avr8\words/isr-exec.asm' ../../avr8\dict/interrupt.inc(16): Including file '../../avr8\words/isr-end.asm' ../../avr8\dict/appl_2k.inc(13): Including file '../../common\words/pick.asm' ../../avr8\dict/appl_2k.inc(14): Including file '../../common\words/dot-quote.asm' ../../avr8\dict/appl_2k.inc(15): Including file