MAP filen är ett viktigt resultat när MPLINK länkar ihop ett projekt. Här beskrivs lite kort hur man läser MAP filen och vad det finns för intressant.
O.b.s att MAP filen inte skapas "by default", man måste klicka i en ruta i MPLAB, se MPLAB sidan !
Vi börjar med att titta på ett exempel. Det är inte från något av exempelprogrammen som finns här, men det spelar kanske inte så stor roll. Jämför gärna med en MAP fil från något av dina egna projekt !
MPLINK 3.70, Linker
Linker Map File - Created Wed Apr 21 15:41:50 2004
Section Info 1
Section Type Address Location Size(Bytes)
--------- --------- --------- --------- ---------
CODE1 code 0x000000 program 0x000004
.cinit romdata 0x00002a program 0x000002
CODE4 code 0x00002c program 0x00001c
CODE3 code 0x000048 program 0x000018
CODE2 code 0x000100 program 0x00002e
.config code 0x300000 program 0x00000e
DELAY_VARS udata 0x000000 data 0x000003
MAIN_VARS udata 0x000003 data 0x000002
Program Memory Usage 2
Start End
--------- ---------
0x000000 0x000003
0x00002a 0x00005f
0x000100 0x00012d
0x300000 0x30000d
118 out of 33048 program addresses used, program memory utilization is 0% 3
Symbols - Sorted by Name 4
Name Address Location Storage File
--------- --------- --------- --------- ---------
DELAY 0x00002c program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
DLY 0x000034 program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
END_LOOP 0x000120 program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
GO_LEFT 0x00011a program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
INIT 0x000048 program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
LOOP 0x00010a program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
START 0x000100 program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
CNT1 0x000000 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
CNT2 0x000001 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
CNT3 0x000002 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
DIRECTION 0x000004 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
LED_STAT 0x000003 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
Symbols - Sorted by Address 5
Name Address Location Storage File
--------- --------- --------- --------- ---------
DELAY 0x00002c program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
DLY 0x000034 program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
INIT 0x000048 program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
START 0x000100 program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
LOOP 0x00010a program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
GO_LEFT 0x00011a program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
END_LOOP 0x000120 program static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
CNT1 0x000000 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
CNT2 0x000001 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
CNT3 0x000002 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
LED_STAT 0x000003 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
DIRECTION 0x000004 data static C:\DATA\Nystromska\App-Ex\AP10\AP10.asm
Beskrivning til punkterna ovan :
Här visas vilka sektioner som MPLINK har hanterat.
Sektioner i "program" är delar av själva koden och de i "data" är allokeringar av variabler i RAM minnet.
DELAY_VARS är alltså en sektion med tre variabler (bytes) och MAIN_VARS en med 2 variabler (bytes).
Här visas en samanfattning av användningen av programminnet.
Detta ger en snabb bild av hur mycket programminne som är använt.
Symboler kan vara namn på "labels" i programmet, eller namn på variabler. Man ser på "Location" vad som är vad.
Det är alltså först här som man ser var de variabler som man har allokerat med RES direktivet faktiskt har hamnat !
-
Samma som punkt 4, men med en annan sortering.