Kan inte kompilera koden (PIC16F886)
Postat: 20 oktober 2010, 22:52:46
Jag skulle skriva ett program till en PIC16F886, och jag har aldrig tidigare programmerat den modellen.
Dock när jag testade kompilera den lilla kod jag skrivit, gick det inte, testade med en "Template" för PIC16F886:
Samma fel:
Hur ska jag rätta till detta?
Dock när jag testade kompilera den lilla kod jag skrivit, gick det inte, testade med en "Template" för PIC16F886:
Kod: Markera allt
;**********************************************************************
; This file is a basic code template for object module code *
; generation on the PIC16F886. This file contains the *
; basic code building blocks to build upon. *
; *
; Refer to the MPASM User's Guide for additional information on *
; features of the assembler and linker (Document DS33014). *
; *
; Refer to the respective PIC data sheet for additional *
; information on the instruction set. *
; *
;**********************************************************************
; *
; Filename: xxx.asm *
; Date: *
; File Version: *
; *
; Author: *
; Company: *
; *
; *
;**********************************************************************
; *
; Files required: P16F886.INC *
; *
; *
; *
;**********************************************************************
; *
; Notes: *
; *
; *
; *
; *
;**********************************************************************
list p=16f886 ; list directive to define processor
#include <p16f886.inc> ; processor specific variable definitions
; '__CONFIG' directive is used to embed configuration data within .asm file.
; The labels following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
;***** VARIABLE DEFINITIONS (examples)
; example of using Shared Uninitialized Data Section
INT_VAR UDATA_SHR
w_temp RES 1 ; variable used for context saving
status_temp RES 1 ; variable used for context saving
pclath_temp RES 1 ; variable used for context saving
; example of using Uninitialized Data Section
TEMP_VAR UDATA ; explicit address specified is not required
temp_count RES 1 ; temporary variable (example)
;**********************************************************************
RESET_VECTOR CODE 0x0000 ; processor reset vector
nop
goto start ; go to beginning of program
INT_VECTOR CODE 0x0004 ; interrupt vector location
INTERRUPT
movwf w_temp ; save off current W register contents
movf STATUS,w ; move status register into W register
movwf status_temp ; save off contents of STATUS register
movf PCLATH,w ; move pclath register into w register
movwf pclath_temp ; save off contents of PCLATH register
; isr code can go here or be located as a call subroutine elsewhere
movf pclath_temp,w ; retrieve copy of PCLATH register
movwf PCLATH ; restore pre-isr PCLATH register contents
movf status_temp,w ; retrieve copy of STATUS register
movwf STATUS ; restore pre-isr STATUS register contents
swapf w_temp,f
swapf w_temp,w ; restore pre-isr W register contents
retfie ; return from interrupt
MAIN_PROG CODE
start
; remaining code goes here
; example of preloading EEPROM locations
EE code 0x2100
DE 5,4,3,2,1
END ; directive 'end of program'
Kod: Markera allt
----------------------------------------------------------------------
Debug build of project `C:\Users\Klas-Kenny\Desktop\My Dropbox\PIC-saker\UV\UV-box.mcp' started.
Language tool versions: MPASMWIN.exe v5.37, mplink.exe v4.37, mplib.exe v4.37
Preprocessor symbol `__DEBUG' is defined.
Wed Oct 20 22:47:55 2010
----------------------------------------------------------------------
Make: The target "C:\Users\Klas-Kenny\Desktop\My Dropbox\PIC-saker\UV\16F886TMPO.o" is out of date.
Executing: "C:\Program Files (x86)\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F886 "C:\Program Files (x86)\Microchip\MPASM Suite\Template\Object\16F886TMPO.ASM" /l"16F886TMPO.lst" /e"16F886TMPO.err" /o"16F886TMPO.o" /d__DEBUG=1
Make: The target "C:\Users\Klas-Kenny\Desktop\My Dropbox\PIC-saker\UV\UV-box.cof" is out of date.
Executing: "C:\Program Files (x86)\Microchip\MPASM Suite\mplink.exe" /p16F886 "16F886TMPO.o" /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /o"UV-box.cof" /M"UV-box.map" /W
MPLINK 4.37, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Error - section '.config_2007_16F886TMPO.O' can not fit the absolute section. Section '.config_2007_16F886TMPO.O' start=0x00002007, length=0x00000002
Errors : 1
Link step failed.
----------------------------------------------------------------------
Debug build of project `C:\Users\Klas-Kenny\Desktop\My Dropbox\PIC-saker\UV\UV-box.mcp' failed.
Language tool versions: MPASMWIN.exe v5.37, mplink.exe v4.37, mplib.exe v4.37
Preprocessor symbol `__DEBUG' is defined.
Wed Oct 20 22:48:00 2010
----------------------------------------------------------------------
BUILD FAILED
Hur ska jag rätta till detta?
