Sida 1 av 1

MPLAB: "could not find file c018i.o". *Löst* på sätt och vis

Postat: 26 maj 2009, 17:25:59
av JimmyAndersson
Första raderna i koden:

Kod: Markera allt

	Processor	PIC18F1320
	#include	<p18f1320.inc>
Jag har lagt in 18f1320.lkr i Linker-script-fältet.


Problemet är att jag får detta när jag försöker bygga projektet i MPLAB:

"Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "D:\Program\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F1320 "uvbox.asm" /l"G:\PIC\ASM\PIC18L~1\UV-box\uvbox.lst" /e"uvbox.err" /o"uvbox.o" /c-
Executing: "D:\Program\Microchip\MPASM Suite\MPLink.exe" "D:\Program\Microchip\MCC18\lkr\18f1320.lkr" "G:\PIC\ASM\PIC18LF1320\UV-box\uvbox.o" /m"G:\PIC\ASM\PIC18L~1\UV-box\UV-box.map" /w /o"G:\PIC\ASM\PIC18L~1\UV-box\UV-box.cof"
MPLINK 4.11, Linker
Copyright (c) 2007 Microchip Technology Inc.
Error - could not find file 'c018i.o'.
Errors : 1

Link step failed.
BUILD FAILED: Tue May 26 17:10:21 2009"



Vad gör objektfilen c018i.o som den inte hittar?
Filen finns i D:\Program\Microchip\MCC18\lib

Jag har inte varit med om att man måste ange sökvägen till objektfilen tidigare, så jag måste ha missat något...

Antar att man kan ändra något i Projekt-menyn --> Build option --> Projekt och fliken "Directories", men är lite osäker på vad/var.

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 18:46:42
av sodjan
"o" är "objekt" filen som MPASM skapar och som MPLINK läser.
Den finns inte annat än just mellan MPASM och MPLINK.
Men det framgår ju tydligt av MPASM/MPLINK manualen...

Jag vet inte om det har snurrat till med katalogerna eller nått...

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 19:06:35
av bos
JimmyAndersson skrev:Vad gör objektfilen c018i.o som den inte hittar? Filen finns i D:\Program\Microchip\MCC18\lib
Project -> Set Language Tool Locations -> Microchip C18 Tool Suite -> Default search path & Directory -> Library Search Path,$(LIBDIR)

Fyll sen i "D:\Program\Microchip\MCC18\lib" i fältet nedan.

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 19:36:49
av sodjan
Rättning, just den *där* o-filen hör nog till "biblioteket" som bos säger.
Fortfarande dock något med kataloger/sökvägar. Om man väljer rätt
"tool-chain" i MPLAB så borde allt bli rätt, om man har installerat
med standardkataloger. Annars får man hacka in det manuellt
enligt bos exempel... :-)

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 20:20:18
av JimmyAndersson
Jag har testat det nu, men jag får ändå samma fel.
Provade då att lägga till c018i.o i Object Files-fältet, men ändå samma fel.

Men så körde jag dir c018*.* och såg:

Kod: Markera allt

Innehåll i katalogen D:\Program\Microchip\MCC18\lib

2008-05-28  14:43             1 633   c018.o
2009-05-26  20:11                 0   c018i.o
2008-05-28  14:43             4 543   c018iz.o
2008-05-28  18:27             4 380   c018iz_e.o
2008-05-28  18:27             4 281   c018i_e.o
2008-05-28  18:27             1 490   c018_e.o
               6 fil(er)              16 327 byte
c018i.o bör väl vara större än 0 bytes ..?
Notera ändringsdatumet för den filen. :)

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 20:31:09
av sodjan
> Provade då att lägga till c018i.o i Object Files-fältet

Vilket object files-fält ? I själva projektet ?
Länkaren ska/bör hitta denna fil, om den bara vet var den ska leta.
Det verkar som om du har skrivit skrivit/sönder över filen... :-)
Det bör gå att hitta den i C18 kittet och kopiera in den på nytt.

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 20:36:50
av sodjan
Lite snabb googling på "c018i" gav t.ex:
http://www.electro-tech-online.com/arch ... 88050.html

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 21:27:42
av JimmyAndersson
"Vilket object files-fält ? I själva projektet ?"

Japp.


När jag söker på c018i.o eller CC18 så hittar jag väldigt mycket träffar om C, istället för assembler. Jag trodde att CC18 ingick
i MPLAB rent generellt (dvs att det inte var knutet till något specifikt programmeringspråk/kompilerare), men så är det tydligen inte?


"Det bör gå att hitta den i C18 kittet och kopiera in den på nytt."

Nu har jag kopierat in den igen. 4,33kB. :)
Men jag får ändå samma felmeddelande. :humm:



edit:

Testade detta: "Set the Library Path box to “C:\mcc18\lib”."

och då gav en Build All detta:

Clean: Deleting intermediary and output files.
Clean: Deleted file "G:\PIC\ASM\PIC18LF1320\UV-box\uvbox.o".
Clean: Deleted file "G:\PIC\ASM\PIC18LF1320\UV-box\uvbox.lst".
Clean: Done.
Executing: "D:\Program\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F1320 "uvbox.asm" /l"uvbox.lst" /e"uvbox.err" /o"uvbox.o" /c-
Executing: "D:\Program\Microchip\MPASM Suite\MPLink.exe" /l"D:\Program\Microchip\MCC18\lib" "D:\Program\Microchip\MCC18\lkr\18f1320.lkr" "G:\PIC\ASM\PIC18LF1320\UV-box\uvbox.o" /o"UV-box.cof" /M"UV-box.map" /W
MPLINK 4.11, Linker
Copyright (c) 2007 Microchip Technology Inc.
Error - could not find definition of symbol 'main' in file 'D:\Program\Microchip\MCC18\lib/c018i.o'.
Errors : 1

Link step failed.
BUILD FAILED: Tue May 26 21:35:34 2009



En titt på första delen av min kod:

Kod: Markera allt

;****************************************************
	Processor	PIC18F1320
	#include	<p18f1320.inc>
;****************************************************
;	Relä				RB6			Utgång
;	Encoder 0			RA4			Ingång
;	Encoder 1			RB4			Ingång
; osv...
;****************************************************

	CONFIG OSC = HSPLL
	CONFIG PWRT = ON, BOR = OFF, WDT = OFF, MCLRE= ON
	CONFIG STVR = OFF, LVP = OFF, DEBUG = OFF, CP0 = OFF
	CONFIG CP1 = OFF, CPB =OFF, CPD = OFF, WRT0 = OFF
	CONFIG WRT1 = OFF, WRTB = OFF, WRTC = OFF, WRTD = OFF
	CONFIG EBTR0 = OFF, EBTR1 = OFF, EBTRB = OFF

	errorlevel	-302

;****************************************************
;	Definiera encoder...
	#define		encoder_a	PORTA, 4
	#define		encoder_b	PORTB, 4

;****************************************************
encoder_vars	udata_acs

knapp			res 1

;****************************************************

Boot		CODE	h'0000'
	goto	start

;****************************************************

Int_vect	CODE	h'0008'
	retfie

;****************************************************

Main	CODE

Start

;Generell setup

;	Oscillator
	bcf		OSCCON,	IDLEN	;CPU core clocked in Run modes, not in Sleep
	bcf		OSCCON,	SCS1	;Primary oscillator
	bcf		OSCCON,	SCS0	;Primary oscillator

osv..

edit 2: Startade installationsprogrammet och valde Repair, men utan någon skillnad.

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 22:37:43
av sodjan
Vänta lite här, nu är det förvirrat... :-)

Menar du att du **INTE** håller på med ett C program och kör C18 ?

I så fall har naturligtsvis startup-koden för C18 (som ligger i c018i.o)
inte ett smack med ditt projekt att göra! Hur är projektet konfigurerat
igentligen ? Är det ett C18 projekt som du kör ren ASM i ?

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 22:58:03
av JimmyAndersson
Det är ren assemblerkod i .. vad jag iallafall trott är ett assembler-projekt. Men frågan är då hur c018i.0 kommer in i bilden om den tillhör C...

För att ta det från början:
Jag har både MPLAB IDE och C18 installerat. Startade MPLAB IDE. I Project-menyn skrev jag in ett namn och gjorde en mapp samt klickade Ok.
Gick in i File-menyn -> New. Skrev kod och sparade filen med ändelsen .asm samt lade till filen i projektet (under Source-files).
Jag följde "Konfigurering" här på Jescab.se.
Under menyn Projects -> "Select Language toolsuite" är Microchip MPASM Toolsuite valt.

Valde sedan "Build All" och då kom felen upp som jag klistrat in tidigare.

Är det inte ett ASM-projekt då?
(Jag har förresten provat "Project Wizard" också.)


edit: Att jag inte tidigare skrivit att det är ett assemblerprojekt med assemblerkod är för att jag trodde att c018i.o tillhörde just assembler-projekt. Såhär i efterhand inser jag att jag borde ha skrivit det ändå för att förtydliga. :)

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 26 maj 2009, 23:07:43
av sodjan
OK. Något är fel. Du ska *inte* länka in startup koden för C i ditt projekt... :-)
Någet med "tool-suite" eller liknande har blivit galet. Jag vet inte vad, har
inte C18 själv...

Re: MPLAB: "could not find file 'c018i.o'"

Postat: 27 maj 2009, 01:30:25
av JimmyAndersson
"Du ska *inte* länka in startup koden för C i ditt projekt..."

Det blir lite fel ja... :)

Jag avinstallerade C18 och MPLAB. Jag behöver egentligen inte C18 längre,
så jag installerade då bara om MPLAB och nu fungerar det som det ska. :)