From: Marcin C. <sa...@sa...> - 2011-06-10 08:59:39
|
When compiling r1076 with avra: [exec] /usr/home/saper/sw/amforth/trunk/core/words/usart-rx-isr.asm(12) : Error : Found no label/variable/constant named XT_RXQ My duemilanove.asm (pretty much unchanged since 4.0): .include "macros.asm" .include "device.asm" .set WANT_AD_CONVERTER = 1 .set WANT_ANALOG_COMPARATOR = 1 .set WANT_CPU = 1 .set WANT_EEPROM = 1 .set WANT_EXTERNAL_INTERRUPT = 1 .set WANT_PORTB = 1 .set WANT_PORTC = 1 .set WANT_PORTD = 1 .set WANT_SPI = 1 .set WANT_TIMER_COUNTER_0 = 1 .set WANT_TIMER_COUNTER_1 = 1 .set WANT_TIMER_COUNTER_2 = 1 .set WANT_TWI = 1 .set WANT_USART0 = 1 .set WANT_WATCHDOG = 1 .equ TIBSIZE = $64 ; 80 characters is one line... .equ APPUSERSIZE = 10 ; size of application user area ; cpu clock in hertz .equ F_CPU = 16000000 ; baud rate of terminal .include "drivers/usart_0.asm" .equ BAUD = 19200 .equ USART_B_VALUE = (1<<TXEN0) | (1<<RXEN0) | (1<<RXCIE0) .equ USART_C_VALUE = (1<<UCSZ01) | ( 1<<UCSZ00) .set here = ramstart ; start address of HERE, grows upward .set rstackstart = RAMEND .set stackstart = RAMEND - 80 .set amforth_interpreter = max_dict_addr .set NUMWORDLISTS = 8 .include "amforth.asm" Didn't have time to look deeper into this, but maybe some include order is a problem. //Marcin |
From: Erich W. <ew....@na...> - 2011-06-10 14:10:08
|
Hi Marcin, On 06/10/2011 10:59 AM, Marcin Cieslak wrote: > When compiling r1076 with avra: > > [exec] /usr/home/saper/sw/amforth/trunk/core/words/usart-rx-isr.asm(12) :\ > Error : Found no label/variable/constant named XT_RXQ confirmed with r1077. There is no error, when using AvrAssembler2. XT_RXQ is a "variable", which is set to either XT_RXQ_ISR or XT_RXQ_POLL. The setting takes place in trunk/core/dict_usart.inc and depends on template.asm: .set WANT_ISR_RX = 1 ; interrupt driven receive Interestingly, when setting WANT_ISR_RX = 0, the error goes away, and XT_RXQ is set correctly to XT_RXQ_POLL. So this looks like avra did somehow ignore setting XT_RXQ to XT_RXQ_ISR in the first case, from what I can see. Hope this helps. Erich |
From: Marcin C. <sa...@sa...> - 2011-06-10 18:32:48
|
>> Erich Waelde <ew....@na...> wrote: > Hi Marcin, > > On 06/10/2011 10:59 AM, Marcin Cieslak wrote: >> When compiling r1076 with avra: >> >> [exec] /usr/home/saper/sw/amforth/trunk/core/words/usart-rx-isr.asm(12) :\ > > Error : Found no label/variable/constant named XT_RXQ > > confirmed with r1077. > > There is no error, when using AvrAssembler2. > > XT_RXQ is a "variable", which is set to either XT_RXQ_ISR or XT_RXQ_POLL. > The setting takes place in trunk/core/dict_usart.inc and depends > on template.asm: > .set WANT_ISR_RX = 1 ; interrupt driven receive > > Interestingly, when setting WANT_ISR_RX = 0, > the error goes away, and XT_RXQ is set correctly to XT_RXQ_POLL. > > So this looks like avra did somehow ignore setting > XT_RXQ to XT_RXQ_ISR in the first case, from what I can see. Thank you, this helps a lot. I will try to fix this problem in avra. //Marcin |
From: Matthias T. <mt...@we...> - 2011-06-10 17:58:48
|
Hi Marcin, > When compiling r1076 with avra: > > [exec] /usr/home/saper/sw/amforth/trunk/core/words/usart-rx-isr.asm(12) : Error : Found no label/variable/constant named XT_RXQ ..... > > Didn't have time to look deeper into this, but maybe some include order > is a problem. Erichs analysis direct to the "right" solution (bug fix in avra, since the atmel assembler does not have any problem). For now I changed the code in usart-rx-isr.asm to be similiar to the poll variant. R1081 should work. The commits I've done in the meantime should not do any (more) harm. But they are huge and fundamental however, see homepage for details. Matthias |
From: Marcin C. <sa...@sa...> - 2011-06-10 20:08:43
|
>> Matthias Trute <mt...@we...> wrote: > Hi Marcin, > >> When compiling r1076 with avra: >> >> [exec] /usr/home/saper/sw/amforth/trunk/core/words/usart-rx-isr.asm(12) : Error : Found no label/variable/constant named XT_RXQ > ..... >> >> Didn't have time to look deeper into this, but maybe some include order >> is a problem. > > Erichs analysis direct to the "right" solution (bug fix in avra, since > the atmel assembler does not have any problem). For now I changed > the code in usart-rx-isr.asm to be similiar to the poll variant. > R1081 should work. [...] Thanks everyone, bugfixes are now committed to avra git master, so avra should assemble amforth without problems. .BYTE problem has also been fixed. //Marcin |