MPLINK 4.37, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Error - section 'ramdata' can not fit the absolute section. Section 'ramdata' start=0x00000020, length=0x00000005
Errors : 1
vilket jag inte förstår då detta ram borde vara ledigt och bara en ram sektion finns
Kod: Markera allt
reglera.asm
include <p16f676.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _BODEN_OFF )
extern HelloWorld
Reset CODE 0x0
pagesel main
goto main
;::::::: Initiering ::::::::::::::::
MAIN CODE
main
BANKSEL OSCCAL
call 3FFh ;Get the cal value
movwf OSCCAL ;Calibrate
BANKSEL PORTC
clrf PORTC ;Init PORTC
BANKSEL ANSEL
movlw b'11000111' ;Use AN0-AN2 and AN6,AN7 as analog input
movwf ANSEL
MOVLW b'11011100' ;Set RC5,RC1,RC0 as output
movwf TRISC
BANKSEL PORTC
bsf PORTC,5 ;TX must intially be high
BANKSEL TRISA
movlw b'11111111'
movwf TRISA
bsf PORTC,0
;:::::::: Huvudloop :::::::::::::::::
loop
Call HelloWorld
btfsc PORTA,5 ;Poll switch på RA5
goto $-1
goto loop
END
print.asm
include <p16f676.inc>
BAUD EQU .39
BAUD1 EQU .30
BAUDX EQU .29
BAUDY EQU .30
BAUDS EQU .32
extern Text
ramdata udata 0x20
XmtReg res 1
Count res 1
DlyCnt res 1
offset res 1
W_temp res 1
PRINT CODE
HelloWorld
clrf offset
nextchar
movlw HIGH Text
movwf PCLATH
movf offset,0
Call Text
Call Printbyte
incf offset,1
movf offset,0
sublw .13
btfsc STATUS,Z
goto break
goto nextchar
break
clrf offset
return
Printbyte
movwf W_temp
movwf XmtReg
Xmtr
movlw 8
movwf Count
bcf PORTC,5
Call Delay1
X_next
bcf STATUS,C
rrf XmtReg,1
btfsc STATUS,C
bsf PORTC,5
btfss STATUS,C
bcf PORTC,5
Call DelayX
Decfsz Count,1
goto X_next
X_stop
bsf PORTC,5
Call DelayS
movf W_temp,0
return
DelayS
movlw BAUDS
goto SAVE
DelayY
movlw BAUDY
goto SAVE
DelayX
movlw BAUDX
goto SAVE
Delay1
movlw BAUD1
goto SAVE
Delay
movwf BAUD
SAVE
movwf DlyCnt
redo_1
decfsz DlyCnt,1
goto redo_1
return
global HelloWorld
END
text.asm
include <p16f676.inc>
txtdata code 0x300
Text
addwf PCL,1
retlw 'H'
retlw 'e'
retlw 'l'
retlw 'l'
retlw 'o'
retlw ' '
retlw 'W'
retlw 'o'
retlw 'r'
retlw 'l'
retlw 'd'
retlw '\r'
retlw '\n'
global Text
END