Sida 1 av 1
relocatable mode på 10F204
Postat: 20 december 2009, 02:31:11
av lgrfbs
Läster
http://www.jescab.se/abs_reloc.html
Har börja lite grann att skriva ett ASM relocatable mode program till PIC10F204 och var hittar jag förklarningar till de röda texten i relocatable mode programmet på sidan?
Om det är i
databladet så har jag missat dem eller så finns inte alla kommandon i 10F204:an.
Är det någon idé att göra programet "relocatable mode" på en så liten MCU?
Re: relocatable mode på 10F204
Postat: 20 december 2009, 09:43:57
av Icecap
Relocatable mode har inget att göra med vilken processor man använder, det är ett programmeringsteknisk sätt att skriva skriva programmet på, inget annat.
Re: relocatable mode på 10F204
Postat: 20 december 2009, 10:00:19
av AndersG
Är det någon idé att göra programet "relocatable mode" på en så liten MCU?
Relokerbar kod har du nytta av om du bygger färdiga moduler, i objektkod som du sedan länkar till ett färdigt program. Vinsten är att du inte behöver kompilera om rubbet då du ändrar något, dvs vid större projekt.
Re: relocatable mode på 10F204
Postat: 20 december 2009, 11:46:13
av sodjan
> var hittar jag förklarningar till de röda texten i relocatable mode programmet på sidan?
MPASM/MPLINK manualen. Det finns inget om det i databladet.
> ...eller så finns inte alla kommandon i 10F204:an.
Det finns *ingenting* i *någon* processor som har med relocatable mode att göra !
Detta har enbart med hur MPASM/MPLINK hanterar/tolkar källkoden och genererar
maskinkoden för processorn.
Re: relocatable mode på 10F204
Postat: 21 december 2009, 18:26:44
av lgrfbs
tack för infromationen.
Re: relocatable mode på 10F204
Postat: 21 december 2009, 20:31:01
av AndersG
Re: relocatable mode på 10F204
Postat: 21 december 2009, 22:45:43
av v-g
Kan säga att det inte är helt enkelt den dära relocatable det tar ett tag innan man får till det. Ingen kod som finns på nätet är relocatable heller
Jag brukar även speca (till de större PIC:arna) vilken PAGE av minnet koden ska hamna i så jag _vet_ när det är dags att göra en PAGESEL, man kan få skoj fel annars
Detta styr man i LKR-filen, där kan man även styra i vilken bank variablerna ska hamna (använder jag också).
I övrigt så är det lite förvirrande med UDATA_SHR och några andra, en del är bara avsedda för PIC18 och andra enbart för PIC16, lätt hänt att man missar (variabeldeklarationer).
Jag har faktist mest testat mig fram det går bra men tar dock en del tid.
Re: relocatable mode på 10F204
Postat: 22 december 2009, 01:22:23
av sodjan
UDATA_SHR (shared memory) på PIC16 motsvarar i princip UDATA_ACS (access bank) på PIC18.
D.v.s minne som är "un-banked" och alltid kan nås utan extra instruktioner för att byta minnes-bank.
En av fördelarna som jag ser är att man automatiskt får en beräkning av storleken
av varje code-seg i MAP filen. Om man är lite frikostig med CODE på ett logiskt sätt så
får man även en logisk uppdelning av MAP filen.
Dessutom är relocatable mode mer som att programmera "på riktigt" där man har separata
kompilerings resp länknings steg. Man, så att säga, känner sig mer som hemma...
Dessutom så är relocatable mode det enda sättet att skriva generella subrutinbibliotek som
enkelt kan inkluderas i valfri applikation, eftersom de slutgiltiga adresserna för variabler inte
bästäms förren vid länkningen då MPLINK tar hänsyn till alla ingående moduler i applikationen.
Re: relocatable mode på 10F204
Postat: 22 december 2009, 01:55:02
av lgrfbs
Inser nu att relocatable mode är lite som VLC/unit i Delphi där man bara länkar in det man behöver, jag vet jämförelsen haltar lite, men jag har i alla fall grep om vad "relocatable mode" är nu efter att tittat/läst på er fina länkar.
Tanken är att jag ska avkoda NMRA-DCC kod som kommer via IR, åter kommer när jag har en ny fråga.
Först
ska en LED blinka
http://www.nmra.org/standards/DCC/stand ... 004-07.pdf
http://www.nmra.org/standards/DCC/stand ... 004-07.pdf
God Jul på er.