ошибка компиляции too deeply nested include в Atmel Studio 6

Обсуждаем контроллеры компании Atmel.
Ответить
gugle
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Ср окт 17, 2012 12:10:04

ошибка компиляции too deeply nested include в Atmel Studio 6

Сообщение gugle »

Доброго времени суток,
случилась беда нужно было чуть чуть изменить программу на ассемблере (частотомер на attiny2313) перепортировать выводы сегментного индикатора. Сделал но возникла проблема где программу скомпилировать. полез в Atmel Studio 6.2 создал проект для ассемблера нажал кнопочку и получил "Error 1 FATAL: too deeply nested include (16) RUNASSEMBLERTASK 0 0 AssemblerApplication1"
Сказано "слишком глубоко зарыто" P.S что зарыто???
Полез в интернет подобные проблемы возникают на Сишке при неправильном подключении библиотек или что-то в этом роде.
Знания ассемблера нулевые, и поверхностные С++.
Думал может проблема в кириллице но нет все равно она всплывает
Может кто знает что делать?))))
код с комментариями на чешском
Спойлер

Код: Выделить всё

; Nejjednodussi frekventometr s ATtiny2313(A) do 10 MHz. 
; 20 MHz krystal
; vytvoril: DANYK
; http://danyk.cz

.NOLIST
.INCLUDE "tn2313def.inc"
.LIST


.DEF CIF1=R9      ;nejnizsi cifra
.DEF CIF2=R10      ; ...
.DEF CIF3=R11      ; ...
.DEF CIF4=R12      ; ...
.DEF CIF5=R13      ; ...
.DEF CIF6=R14      ; ...
.DEF CIF7=R15      ;nejvyssi cifra

.DEF REG=R16      ;docasny registr

.DEF UDAJ1=R17      ; spodnich 8bitu 24-bitoveho vysledku
.DEF UDAJ2=R18      ;
.DEF UDAJ3=R19      ; hornich 8bitu 24-bitoveho vysledku

.DEF DELREG=R20      ; 2 registry deleni frekvence z 625 na 1 Hz
.DEF DELREG2=R21
.DEF PRETREG=R22   ; registr do ktereho preteka 16-bitovy citac1
.DEF MULTREG=R23   ; registr si pamatuje stav multiplexu

.DEF ROZREG=R24      ; rozsah


.EQU SMER=DDRB      ;PORT displeje - anod segmentu
.EQU PORT=PORTB
.EQU SMER2=DDRD    ;PORT multiplexu - katod segmentu, vstup
.EQU PORT2=PORTD


.CSEG
.ORG 0
RJMP START

; sem skoci program pri preruseni
.ORG OVF1addr
INC PRETREG
RETI

.ORG OC0Aaddr
RJMP CITAC0


START:
;nastavi port jako vystup
LDI REG,0xFF
OUT SMER,REG
LDI REG,0xFF
OUT PORT,REG

;nastavн bity 0,1,2,3 jako vystup
;nastavн bity 4,5,6 jako vstup
LDI REG,0b00001111
OUT SMER2,REG
LDI REG,0b11010000
OUT PORT2,REG


LDI REG,LOW(RAMEND)
OUT SPL,REG

; vypne analogovy komparator (setri energii).
LDI REG,0b10000000
OUT ACSR,REG

; sleep mod IDLE
LDI REG,0b00100000
OUT MCUCR,REG



; NASTAVENI CITACU/CASOVACU
LDI   REG,0b00000010    ; nastavi citac0 na nulovani pri dosazeni porovnavane...
OUT   TCCR0A,REG       ; ...hodnoty (tzv. CTC), OC0 nevyuzit, deleni 256
LDI   REG,0b00000100    ;
OUT   TCCR0B,REG
LDI   REG,124         ; porovnavana hodnota, vznikne 625Hz (multiplex 156,25Hz)
OUT   OCR0A,REG        ;

LDI   REG,0b00000000   ; nastavi citac1 na normalni mod
OUT   TCCR1A,REG       ;
LDI   REG,0b00000111    ; externi taktovani
OUT   TCCR1B,REG


LDI   REG,0b10000001   ; povoli preruseni
OUT   TIMSK,REG       ; (bit 0 povoli citac0A, bit 7 povoli preruseni preteceni1)

; vynuluje/prednastavi registry
CLR REG
LDI DELREG,1
LDI DELREG2,1
CLR PRETREG
LDI MULTREG,1
CLR CIF1
CLR CIF2
CLR CIF3
CLR CIF4
CLR CIF5
CLR CIF6
CLR CIF7

SEI ;povoli globalni preruseni


;hlavni smycka
SMYCKA:
SLEEP
RJMP SMYCKA



MULT:
LDI REG,0b11010000
OUT PORT2,REG

CPI MULTREG,1
BREQ MULT1
CPI MULTREG,2
BREQ MULT2
CPI MULTREG,3
BREQ MULT3
CPI MULTREG,4
BREQ MULT4


MULT1:
MOV REG,CIF1
RCALL ZOBRAZ
CPI ROZREG,3
BRNE TECKA1NE
SUBI REG,128         ;tohle rozsveci tecku
TECKA1NE:
OUT PORT,REG
LDI REG,0b11110000  ;da log1 na bit0 portu.
OUT PORT2,REG
RET

MULT2:
MOV REG,CIF2
RCALL ZOBRAZ
CPI ROZREG,2
BRNE TECKA2NE
SUBI REG,128         ;tohle rozsveci tecku
TECKA2NE:
OUT PORT,REG
LDI REG,0b11010010  ;da log1 na bit1 portu.
OUT PORT2,REG
RET

MULT3:
MOV REG,CIF3
RCALL ZOBRAZ
CPI ROZREG,1
BRNE TECKA3NE
SUBI REG,128         ;tohle rozsveci tecku
TECKA3NE:
OUT PORT,REG
LDI REG,0b11010001  ;da log1 na bit2 portu.
OUT PORT2,REG
RET

MULT4:
MOV REG,CIF4
RCALL ZOBRAZ
CPI ROZREG,0
BRNE TECKA4NE
SUBI REG,128         ;tohle rozsveci tecku
TECKA4NE:
OUT PORT,REG
LDI REG,0b11010000  ;da log1 na bit3 portu.
OUT PORT2,REG
RET



ZOBRAZ:

CPI REG,0
BREQ ZOBRAZ0
CPI REG,1
BREQ ZOBRAZ1
CPI REG,2
BREQ ZOBRAZ2
CPI REG,3
BREQ ZOBRAZ3
CPI REG,4
BREQ ZOBRAZ4
CPI REG,5
BREQ ZOBRAZ5
CPI REG,6
BREQ ZOBRAZ6
CPI REG,7
BREQ ZOBRAZ7
CPI REG,8
BREQ ZOBRAZ8
CPI REG,9
BREQ ZOBRAZ9

LDI REG,0b11110111
RET

ZOBRAZ0:
LDI REG,0b00000101
RET

ZOBRAZ1:
LDI REG,0b01111101
RET

ZOBRAZ2:
LDI REG,0b01000110
RET

ZOBRAZ3:
LDI REG,0b01010100
RET

ZOBRAZ4:
LDI REG,0b00111100
RET

ZOBRAZ5:
LDI REG,0b10010100
RET

ZOBRAZ6:
LDI REG,0b10000100
RET

ZOBRAZ7:
LDI REG,0b01011101
RET

ZOBRAZ8:
LDI REG,0b00000100
RET

ZOBRAZ9:
LDI REG,0b00010100
RET




OBNOVA:
MOV UDAJ3,PRETREG
IN UDAJ1,TCNT1L
IN UDAJ2,TCNT1H
CLR PRETREG
OUT   TCNT1H,PRETREG
OUT   TCNT1L,PRETREG

CLR ROZREG
CLR CIF1
CLR CIF2
CLR CIF3
CLR CIF4
CLR CIF5
CLR CIF6
CLR CIF7

CPI UDAJ1,128      ;24-bitova podminka mensi nez 10 000 000
LDI REG,150
CPC UDAJ2,REG
LDI REG,152
CPC UDAJ3,REG
BRLO DO9999999
SER REG
MOV CIF7,REG
MOV CIF6,REG
MOV CIF5,REG
MOV CIF4,REG
MOV CIF3,REG
MOV CIF2,REG
MOV CIF1,REG
SER ROZREG
RJMP KONEC_OBNOVY
DO9999999:

ZNOVU_7:
CPI UDAJ1,64      ;24-bitova podminka mensi nez 1 000 000
LDI REG,66
CPC UDAJ2,REG
LDI REG,15
CPC UDAJ3,REG
BRLO MENSI_7
SUBI UDAJ1,64      ;24-bitove odcitбnн cisla 1 000 000 od vysledku
SBCI UDAJ2,66
SBCI UDAJ3,15
INC CIF7
RJMP ZNOVU_7
MENSI_7:

ZNOVU_6:
CPI UDAJ1,160      ;24-bitova podminka mensi nez 100 000
LDI REG,134
CPC UDAJ2,REG
LDI REG,1
CPC UDAJ3,REG
BRLO MENSI_6
SUBI UDAJ1,160      ;24-bitove odcitбnн cisla 100 000 od vysledku
SBCI UDAJ2,134
SBCI UDAJ3,1
INC CIF6
RJMP ZNOVU_6
MENSI_6:

ZNOVU_5:
CPI UDAJ1,16      ;24-bitova podminka mensi nez 10 000
LDI REG,39
CPC UDAJ2,REG
LDI REG,0
CPC UDAJ3,REG
BRLO MENSI_5
SUBI UDAJ1,16      ;24-bitove odcitбnн cisla 10 000 od vysledku
SBCI UDAJ2,39
SBCI UDAJ3,0
INC CIF5
RJMP ZNOVU_5
MENSI_5:

ZNOVU_4:
CPI UDAJ1,232      ;16-bitova podminka mensi nez 1 000
LDI REG,3
CPC UDAJ2,REG
BRLO MENSI_4
SUBI UDAJ1,232      ;16-bitove odcitбnн cisla 1 000 od vysledku
SBCI UDAJ2,3
INC CIF4
RJMP ZNOVU_4
MENSI_4:

ZNOVU_3:
CPI UDAJ1,100      ;16-bitova podminka mensi nez 100
LDI REG,0
CPC UDAJ2,REG
BRLO MENSI_3
SUBI UDAJ1,100      ;16-bitove odcitбnн cisla 100 od vysledku
SBCI UDAJ2,0
INC CIF3
RJMP ZNOVU_3
MENSI_3:

ZNOVU_2:
CPI UDAJ1,10      ;8-bitova podminka mensi nez 10
BRLO MENSI_2
SUBI UDAJ1,10      ;8-bitove odcitбnн cisla 10 od vysledku
INC CIF2
RJMP ZNOVU_2
MENSI_2:

MOV CIF1,UDAJ1


POSUN_ZNOVU:
CLR REG
CP CIF7,REG
BRNE POSUN
CP CIF6,REG
BRNE POSUN
CP CIF5,REG
BRNE POSUN
RJMP POSUN_KONEC
POSUN:
MOV CIF1,CIF2
MOV CIF2,CIF3
MOV CIF3,CIF4
MOV CIF4,CIF5
MOV CIF5,CIF6
MOV CIF6,CIF7
CLR CIF7
INC ROZREG
RJMP POSUN_ZNOVU
POSUN_KONEC:

KONEC_OBNOVY:
RET




; preruseni ridici multiplex a zdroj 1Hz
CITAC0:
RCALL MULT
DEC MULTREG
BRNE MULTHOP
LDI MULTREG,4
MULTHOP:

DEC DELREG
BRNE DELHOP
LDI DELREG,125
DEC DELREG2
BRNE DELHOP
LDI DELREG2,5
RCALL OBNOVA
DELHOP:

RETI
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: ошибка компиляции too deeply nested include в Atmel Stud

Сообщение Z_h_e »

Если выкинуть

Код: Выделить всё

.NOLIST
.INCLUDE "tn2313def.inc"
.LIST
то должно скомпилироваться.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
gugle
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Ср окт 17, 2012 12:10:04

Re: ошибка компиляции too deeply nested include в Atmel Stud

Сообщение gugle »

спасибо помогло :))
Ответить

Вернуться в «AVR»