Kompileringsproblem Microchip C32, Läsa filsystem.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Zajber
Inlägg: 451
Blev medlem: 19 oktober 2009, 22:07:16
Skype: Andreas.fridh85
Ort: Rödön
Kontakt:

Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av Zajber »

Har börjat forska lite i Pic32-världen. Har ett Pic32 starterkit och en ICD3.
Dock är jag ganska novis när det kommer till den för mig nya C32-kompilatorn.

Scenario: Försöker läsa SD-kort över SPI med C32-exempelkod.

Problem:

Kod: Markera allt

 undefined reference to `MDD_SDSPI_MediaDetect'
detta sker på alla funktioner tillhörande FSIO.h t.ex FSInit.

Kod:

Kod: Markera allt

#include "FSIO.h"

char sendBuffer[] = "This is test string 1";
char send2[] = "2";
char receiveBuffer[50];
................
   while (!MDD_MediaDetect());
Jag har -mlong-calls med som parameter till kompilatorn, annars får jag "Relocation truncated" också på alla funktioner.

Alla filer ligger i samma mapp och detta är det enda kompilatorn klagar på..

?!?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46989
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av TomasL »

Ditt felmeddelande talar om exakt vad det är, funktionen "MDD_SDSPI_MediaDetect" finns inte, eller är inte inkluderad, dvs du saknar någon h-fil
Användarvisningsbild
Zajber
Inlägg: 451
Blev medlem: 19 oktober 2009, 22:07:16
Skype: Andreas.fridh85
Ort: Rödön
Kontakt:

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av Zajber »

Givetvis är det så. :vissla:

Jag har helt enkelt stirrat mig blind på vilka .h filer som ska med projektet och sketit i de övriga .c filerna.

Lite snabbt sökte jag igenom FSIO.h efter dessa funktioner och alla verkade finnas med.
Dock så var det bara deklarationerna för funktionerna inte funktionera själva. Tänk vad en liten promenad och saft gör gott för tankeverksamheten.

Lösningen är således att inkludera FSIO.c också.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46989
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av TomasL »

Ja, du lägger den i projektträdet, samma gäller alla andra C-filer som skall vara med.
Användarvisningsbild
Zajber
Inlägg: 451
Blev medlem: 19 oktober 2009, 22:07:16
Skype: Andreas.fridh85
Ort: Rödön
Kontakt:

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av Zajber »

Det funkar nu efter en stunds ändrande i diverse sökvägar i h-filer m.m.

Nu återstår bara att bekräfta att filerna jag försöker skapa faktiskt finns på kortet.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av sodjan »

> Lösningen är således att inkludera FSIO.c också.

Rent principiellt så borde det vara antingen FSIO.o (eller en lib
som innehåller denna objektfil) som ska "inkluderas". Om det nu inte
är så att .c filen *måste* kompileras tillsammans med projektet.
Själva idén med standard rutiner är att man inte behöver källkoden.
Generellt inkluderar man .h filen och "pekar ut" var .lib (eller .o) filen
finns (så att länkaren kan hitta hittar den).

Men det kanske inte är möjligt i C32 miljön att göra allt helt rätt. :-)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46989
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av TomasL »

Detta är inga lib utan ren källkod, gissningsvis Microchips FAT
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av sodjan »

Right, men... :-)

> Detta är inga lib utan ren källkod...

Är och är... *Alla* lib'ar har varit källkod en gång när de var små. :-)

Jag förstår inte vad det är du menar. Jag *vet* att en c fil innehåller källkod.

Om det är en standardfunktion som man inte ska/behöver ändra i, så finns
det normalt ingen anledning att inkludera den som *källkod*. Det var bara
det som förvånade mig lite och som jag kommenterade.

Sen kan det ju vara så att man *måste* separatkompilera denna fil
tillsammans med varje projekt man bygger, och då är det ju så. Det kan
vara att den behöver kompileras med projektspecifika switchar eller liknande
vilket gör en pre-kompilerad o eller lib omöjlig.

Sen så kan ju en lib levereras med källkod också, i sann OSS anda. Men om man
är nöjd med funktionalliteten som den är, så är det normalt lib'en man använder.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46989
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av TomasL »

Nja, detta är ju uChips exempel på filsystem, vilket inte levereras kompilerat utan en ren applikation.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av sodjan »

OK. Då missförstog jag allt från början. Jag trodde att FSIO.c innehåller
funktioner för att hantera (bl.a) SD-kort som skall *anropas från* en applikation.
Men om FSIO är applikationen i sig självt så blir det ju annorlunda, så klart.

Aja, glöm bort det... :-)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46989
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av TomasL »

Njao, FSIO är iofs ett lib för filsystemet, men det levereras i en demo-app.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46989
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Kompileringsproblem Microchip C32, Läsa filsystem.

Inlägg av TomasL »

FYI, håller jag på med att strula runt med det också, dock med CF/PATA/PMP istället.
Skriv svar