JESCAB 
Produkter Tjänster Info Leveransvillkor Kontakt
 Snabb länkar:


MPLAB

 

Allmänt

MPLAB :

  • Är den "miljö" där man utvecklar applikationer i assembler för PIC processorer.
  • Är en applikation som körs under Windows (2000/XP är väll det som gäller när detta skrivs).
  • Har en kod-editor för redigering av källkod.
  • Har simuleringsverktyg där koden kan köras på en simulerad PIC direkt i Windows.
  • Skapar HEX (binär) filer som sedan en programmerare (t.ex Wisp628) överför till en PIC.
  • MPLAB (och övriga delar nedan) tillhandahålls gratis från Microchip.

Några begrepp

 

MPLAB Själva miljön ("IDE") där de olika verktygen knyts samman.
MPSIM  Simulatorn. Körs aldrig för sig själv, utan är helt integrerad i MLPAB. Dock förekommer namnet "MPSIM" ibland så det kan vara bra att ha sett det.
MPASM Själva assemblern. Det är MPASM som "översätter" källkoden (ASM filer) till object (O filer).
MPLINK Länkaren. D.v.s det verktyg som tar en eller flera O filer och "bygger ihop" den färdiga HEX filen. Det är länkaren som bl.a ger variabler deras slutgiltiga adress i RAM minnet och stoppar in rätt adresser till programminnet i t.ex CALL och GOTO instruktioner.
ASM fil Källkodsfilerna. Detta är rena textfiler som innehåller assembler kod. Ett projekt måste innehålla minst en ASM fil, men ofta flera. Koden kan blir lite enklare att underhålla (och snabbare att "bygga") om man delar upp koden i flera ASM filer.
O fil Objekt fil. Denna fil "ser" man normalt inte. O filen/filerna är mellansteget mellan MPASM och MPLINK, och eftersom båda verktygen körs i sekvens när man bygger ett projekt, så ser man inte dessa filer. De finns dock i projekt katalogen, så om tittar där kan det vara bra att veta vad det är.
LST fil Assemblerns list-fil. Vid felsökning kan man ibland behöva studera denna fil. Denna fil skapas alltså av MPASM.
LKR fil "Linker script". Denna fil (som är en ren textfil och kan läsas av den intresserade) talar om för MPLINK hur den aktuella PICen ser ut invändigt. Hur mycket program-, EEPROM- och RAM minne finns det ? Och på vilka adresser ? Det finns (minst) en LKR fil till varje PIC modell.
MAP fil Länkarens "listfil". Denna fil är ofta mycket intressant ! Där ser man hur programkoden och variablerna slutgiltigt har spridits ut över program- och RAM-minnet. Man ser även storleken på de olika kodsegmenten.
HEX fil Slutresultatet ! HEX filen innehåller allt som en programmerare behöver för att kunna överföra applikationen till den tänkta PICen. HEX filen kan innehålla data för programminnet, EEPROM samt för konfigurations inställningar ("config fuses", ser man ibland i engelsk text).
Projekt Ett projekt innehåller info om den aktuella applikationen. Bl.a vilka ASM filer som ingår, vilken PIC modell projektet är avsett för, och en mängd andra inställningar.
Kodsegment Ett kodsegment är en tänkt del av källkoden. Ett segment inleds med CODE direktivet. Varje segment kommar att hanteras som en enhet av MPLINK och kan i princip placeras var som helst i programminnet. D.v.s att olika segment (oftast) inte kommer att ligga i samma "ordning" i processorn som i källkoden. Vilket är helt i sin ordning, så klart. Varje ASM fil innehållar minst ett segment, men ofta flera.
Programmerare

Den utrustning som överför en HEX fil till själva PICen. Detta görs alltså inte av MPLAB ! Däremot har vissa programmerare (främst de som kommer från Microchip) stöd i MPLAB, så att de kan "köras" inifrån miljön.


Installation

Inte så speciellt mycket att säga om igentligen.

  • Gå till www.microchip.com och leta upp "MPLAB-IDE". Vanligtsvis under "Development Tools".
  • Ladda ner senaste version (strunta i eventuella pre/beta versioner).
  • JESCAB tycker att det är enklast att plocka ner "Full Zipped Installation".
  • Passa samtidgt på att plocka ner PDF'erna med manualer från samma sida !
  • Packa upp zippen och kör installationsprogrammet.
  • Normalt är det inte mycket att fundra på, kör "default" rakt igenom.

Konfigurering.

Det är igentligen ingenting att konfigurera innan man skapar det första projektet, så vi börjar där.

 

Notera att allt som skrivs här om projekt (och även alla källkodsexempel) förutsättar att man kör i "rellocatable mode". Se separat sida som beskriver skillnaden mellan "absolute" och "rellocatable" mode.

 

Det man måste veta nu, är vilken processor som projektet är avsett för.

 

Så här kan man skapa ett tomt projekt (d.v.s tillsvidare utan ASM eller andra filer) :

  • välj "Project -> New..."
  • Välj ett passande projekt namn (blir även filnamn för projektfilen (.MCW), så det bör vara något som som blir ett bra filnamn).
  • Skriv in vilken katalog som skall bli projektes hemmakatalog (eller använd "Browse" knappen).
  • Nu skall det öppnas ett "mcw-fönster".

För tillfället är projektet tomt, d.v.s saknar källkodsfiler eller andra filer.

 

För att MPLINK skall veta vilken processor som används skall ett "Linker script" anges.

  • Högerklicka på "Linker Scripts" i mcw-fönstret.
  • Bläddra fram till katalogen där LKR filerna finns. De finns i den katalog där MPLAB installerades. Leta lite...
  • Välj rätt LKR fil (t.ex 16F88.LKR om det är en PIC16F88 som skall användas). Viktigt att det blir rätt fil !

JESCAB rekommenderar att man stänger av "case sensitivity" :

  • "Project -> Build Option -> Project..."
  • Välj fliken "MPASM Assembler".
  • Markera "Disable case sensitivty".

När vi ändå är här :

  • Välj fliken "MPLINK Linker".
  • Markera "Generate map file".

Så, nu är det dags att lägga till den första källkodsfilen.

 

Om du har en färdig ASM fil (t.ex någon av JESCAB's exempel) som "mall" för sitt nya projekt, så är det bara att :

  • Lägg en kopia av ASM filen (eventuellt med ett annat namn) i projekt katalogen.
  • Högerklicka på "Source files" i mcw-fönstret och lägg till ASM filen till projektet.

För att skapa en helt ny/tom ASM fil, välj "File -> New". Lägg sedan till ASM filen till projektet på samma sätt som ovan.


Hur "bygga" projektet ?

När MPLAB är konfigurerad enligt ovan och man har en eller flera ASM filer i projektkatalogen (och tillagda som "Source Files" i projektfönstret), så är det bara att klicka på "Build All" knappen".

 

Nu skall det hända lite saker. eventuellt (eller snarare sannolikt :-) ) så kommer det en del felmeddeladen och en LST fil skapas. Skulle det inte göra det, så skall det även ha skapats (bl.a, men dessa är de viktigaste) en MAP och en HEX fil i projektkatalogen.

 

LST filen kommer från MPASM. Där kan man lämpligen studera sin misstag, fundera på det, och rätta koden.

 

MAP coh HEX filerna kommer från MPLINK.

 

Om nu allt ser OK ut, så är det bara att låta sin programmerare föra över HEX filen till själva PICen !

Hur det går till ligger utanför MPLAB, man får helt enkelt studera programmerarens dokumentation.


Jaha, det var ju enkelt, men sen då ?

Ja, nu är det bara att "hacka på" ! ;-)

 

Det finns oftast ingen anledning att börja med en helt tom ASM fil. Ta istället ett exempel eller (efter ett tag) en ASM fil från ett tidigare projekt. Det underlättar oerhört !

 

Nu är det väll bara att (t.ex) ladda något av JESCAB's exempel och köra på !!


Denna sida senast uppdaterad 26-Jan-2013