Ja det var ju lite luddigt skrivet det där "most common".
Jag har ändrat org/res till cblock nu och då kompilerar både nya och gamla koden utan problem.
Finns det nån sammanställning över det som rör relocatable på nätet mån tro?
MPLAB beter sig inte som tidigare
Re: MPLAB beter sig inte som tidigare
Jag har skrivit ett par sidor, de är inte helteckande utan
är mer tänkta som en liten intro och ett par exempel :
http://www.jescab.se/Relocmode.html
http://www.jescab.se/abs_reloc.html
är mer tänkta som en liten intro och ett par exempel :
http://www.jescab.se/Relocmode.html
http://www.jescab.se/abs_reloc.html
Re: MPLAB beter sig inte som tidigare
Tack!
Alla dessa "banksel", genererar dom alltid bsf/bcf instruktioner eller bara när det behövs? Blir ju en hel del extra kod i mindre program annars.
Finns det något macro för att hoppa till och kalla på rutiner som inkluderar banksel? Vill minnas att det fanns nån lcall (long call) tex.
Alla dessa "banksel", genererar dom alltid bsf/bcf instruktioner eller bara när det behövs? Blir ju en hel del extra kod i mindre program annars.
Finns det något macro för att hoppa till och kalla på rutiner som inkluderar banksel? Vill minnas att det fanns nån lcall (long call) tex.
Re: MPLAB beter sig inte som tidigare
> Alla dessa "banksel", genererar dom alltid bsf/bcf instruktioner
Ja. Dock är jag lite osäker på de fall där MPASM borde att att
det inte behövs alls. D.v.s de FSR som ligger mappade i alla banker
och "unbanked memory". Lätt att testa själv dock...
> Blir ju en hel del extra kod i mindre program annars.
Ja, men man kan ju alltid optimera bort de på slutet när allt
annat fungerar för övrigt. Det är dessutom ett betydligt mindre
problem än buggar p.g.a av felakting bankning...
> Finns det något macro för att hoppa till och kalla på rutiner som inkluderar banksel?
> Vill minnas att det fanns nån lcall (long call) tex.
I så fall är det nog PAGESEL du tänker på (för hantering av pages i programminnet).
En kille som har jobbat mycket med detta är Olin Lathrop på EmbedInc i USA.
Hela hans utvecklingsmiljö är freeware och hans macron kan studeras och eventuellt
användas som inspirationskälla. Att köra hela hans utv.miljö går också bra, men har en
viss inlärningströskel. Kolla t.ex DBANKIF i http://www.embedinc.com/pic/std.ins.aspic.htm.
Där har du det du frågade efter, en variant/utveckling av BANKSEL som även håller reda på
vilken bank som för tillfället är vald och bara byter bank om det behövs.
Se även http://www.embedinc.com/pic/
Ja. Dock är jag lite osäker på de fall där MPASM borde att att
det inte behövs alls. D.v.s de FSR som ligger mappade i alla banker
och "unbanked memory". Lätt att testa själv dock...
> Blir ju en hel del extra kod i mindre program annars.
Ja, men man kan ju alltid optimera bort de på slutet när allt
annat fungerar för övrigt. Det är dessutom ett betydligt mindre
problem än buggar p.g.a av felakting bankning...
> Finns det något macro för att hoppa till och kalla på rutiner som inkluderar banksel?
> Vill minnas att det fanns nån lcall (long call) tex.
I så fall är det nog PAGESEL du tänker på (för hantering av pages i programminnet).
En kille som har jobbat mycket med detta är Olin Lathrop på EmbedInc i USA.
Hela hans utvecklingsmiljö är freeware och hans macron kan studeras och eventuellt
användas som inspirationskälla. Att köra hela hans utv.miljö går också bra, men har en
viss inlärningströskel. Kolla t.ex DBANKIF i http://www.embedinc.com/pic/std.ins.aspic.htm.
Där har du det du frågade efter, en variant/utveckling av BANKSEL som även håller reda på
vilken bank som för tillfället är vald och bara byter bank om det behövs.
Se även http://www.embedinc.com/pic/