Automatisk export av använda minnesceller till exel?
Automatisk export av använda minnesceller till exel?
Brukar använda en fil där jag markerat alla oanvända celler med en nolla och alla använda med ett x.
Men det finns säkerligen ett bättre sätt som är mer automatiskt?
Någon som vet om något sätt att få de celler man deklarerar till tex exel?
Men det finns säkerligen ett bättre sätt som är mer automatiskt?
Någon som vet om något sätt att få de celler man deklarerar till tex exel?
Re: Automatisk export av använda minnesceller till exel?
> Automatisk export av använda minnesceller till exel?
Från vadå ???
Från vadå ???
Re: Automatisk export av använda minnesceller till exel?
Plocka in MAP-filen i Excel och sortera det som finns under "data"?
Re: Automatisk export av använda minnesceller till exel?
Vilken MAP-fil ?
Var står det att det finns en MAP-fil ?
Frågan är vad det igentligen är som nanopile vill göra...
Var står det att det finns en MAP-fil ?
Frågan är vad det igentligen är som nanopile vill göra...
Re: Automatisk export av använda minnesceller till exel?
Mitt typiska jag att inte berätta alla detaljer, sorry.
Från MPLAB IDE, där jag sitter och programmerar assembler.
MAP-filer har jag inte gjort några, AndersG, får jag fråga vad det är och vad det används till?
Min är en ren text-fil och ser ut såhär:
---- 1 2 3 4 5 6 7 8 9 A B C D E F
000 0 x x x x x 0 0 x x x x x x 0 0
010 x x x 0 0 0 0 0 0 0 0 0 0 0 0
020 x x x x x x x x x x x x x x x x
030 x x x x x x x x x x x x x x x x
040 x x x x x x x x x x x x x x x x
....
....
Från MPLAB IDE, där jag sitter och programmerar assembler.
MAP-filer har jag inte gjort några, AndersG, får jag fråga vad det är och vad det används till?
Min är en ren text-fil och ser ut såhär:
---- 1 2 3 4 5 6 7 8 9 A B C D E F
000 0 x x x x x 0 0 x x x x x x 0 0
010 x x x 0 0 0 0 0 0 0 0 0 0 0 0
020 x x x x x x x x x x x x x x x x
030 x x x x x x x x x x x x x x x x
040 x x x x x x x x x x x x x x x x
....
....
Re: Automatisk export av använda minnesceller till exel?
Jo, men var börjar du? Du var väl en källkod du kompilerar? Under Build options, fliken MPLINK Linker, finns ett tillval: "Generate MAP file"
Re: Automatisk export av använda minnesceller till exel?
Jadå, jag gör källlkod i assemblervariant, ingen C eller C++ över huvud taget.
Har inte brytt mig tidigare om .map filen och nu när jag tittar i den så verkar den inte lista celler utan var individuella rutiner börjar.
Lade ut .map-filen filen här:
http://ottd.dyndns.org/1/nano/random%20 ... 20test.map
Har inte brytt mig tidigare om .map filen och nu när jag tittar i den så verkar den inte lista celler utan var individuella rutiner börjar.
Lade ut .map-filen filen här:
http://ottd.dyndns.org/1/nano/random%20 ... 20test.map
Re: Automatisk export av använda minnesceller till exel?
Men... vad är problemet? Jag får den obehagliga känsla att du faktisk anger startadress på samtliga rutiner du gör vilket ju är djupt osmart men bekräfta gärna att det inte är så.
Re: Automatisk export av använda minnesceller till exel?
Och hur definierar du dina variabler? Med equ eller res?
Re: Automatisk export av använda minnesceller till exel?
> Min är en ren text-fil och ser ut såhär:
>
> ---- 1 2 3 4 5 6 7 8 9 A B C D E F
> 000 0 x x x x x 0 0 x x x x x x 0 0
> 010 x x x 0 0 0 0 0 0 0 0 0 0 0 0
> 020 x x x x x x x x x x x x x x x x
> 030 x x x x x x x x x x x x x x x x
> 040 x x x x x x x x x x x x x x x x
Och vad exakt är det där ? Vad betyder
siffrorna och vad betyder "x" resp "0" ?
Och varför behöver du det där ? Till vad ?
Notera att det är mycket bättre att du beskriver
vilket *problem* du försöker lösa. Det hela låter
väldigt märkligt...
> Jadå, jag gör källlkod i assemblervariant
Vilken "variant" av assembler ?
Eftersom det saknas referenser till symboler i RAM ("data") i din MAP
fil, så tror jag inte att du allokerar variabler med RES, och i så fall
undrar jag, varför inte ?
>
> ---- 1 2 3 4 5 6 7 8 9 A B C D E F
> 000 0 x x x x x 0 0 x x x x x x 0 0
> 010 x x x 0 0 0 0 0 0 0 0 0 0 0 0
> 020 x x x x x x x x x x x x x x x x
> 030 x x x x x x x x x x x x x x x x
> 040 x x x x x x x x x x x x x x x x
Och vad exakt är det där ? Vad betyder
siffrorna och vad betyder "x" resp "0" ?
Och varför behöver du det där ? Till vad ?
Notera att det är mycket bättre att du beskriver
vilket *problem* du försöker lösa. Det hela låter
väldigt märkligt...
> Jadå, jag gör källlkod i assemblervariant
Vilken "variant" av assembler ?
Eftersom det saknas referenser till symboler i RAM ("data") i din MAP
fil, så tror jag inte att du allokerar variabler med RES, och i så fall
undrar jag, varför inte ?
Re: Automatisk export av använda minnesceller till exel?
Jag tror att han helt enkelt vill få en karta över använd RAM, fast istället för den tabellen han visar ska tabellen genereras automatiskt samt enkelt kunna läggas in i Excel.
Om du byter ut alla mellanslag mot tabbar är det bara att klistra in i Excel eller Open Office Calc. (Search -> replace, klistra in ett kopierat tab-tecken i "Replace with-rutan".)
Hm, här försökte jag visa med ett exempel, fast CODE-taggen verkar byta ut tabbar mot mellanslag.
Tillägg. Både Knudsens C-kompilatorer till PIC och avr-gcc kan ge tabellen över använd RAM automatiskt.
Om du byter ut alla mellanslag mot tabbar är det bara att klistra in i Excel eller Open Office Calc. (Search -> replace, klistra in ett kopierat tab-tecken i "Replace with-rutan".)
Hm, här försökte jag visa med ett exempel, fast CODE-taggen verkar byta ut tabbar mot mellanslag.
Kod: Markera allt
---- 0 1 2 3 4 5 6 7 8 9 A B C D E F
000 0 x x x x x 0 0 x x x x x x 0 0
010 x x x 0 0 0 0 0 0 0 0 0 0 0 0
020 x x x x x x x x x x x x x x x x
030 x x x x x x x x x x x x x x x x
040 x x x x x x x x x x x x x x x x
Re: Automatisk export av använda minnesceller till exel?
> Jag tror att han helt enkelt vill få en karta över använd RAM
Ja, jag förstår att det är något i den stilen, men till vad ?
Adresserna för variabler är i sig ointressanta och utnyttjat
utrymme syns i MAP filen, inte direkt i procent, men man får
startadress och storlek på varje data segment. I exempel
nedan så är det alltså 5 bytes från h'70' och framåt:
Även alla adresser för varje individuell variabel finns med, om man behöver det.
Ja, jag förstår att det är något i den stilen, men till vad ?
Adresserna för variabler är i sig ointressanta och utnyttjat
utrymme syns i MAP filen, inte direkt i procent, men man får
startadress och storlek på varje data segment. I exempel
nedan så är det alltså 5 bytes från h'70' och framåt:
Kod: Markera allt
Section Info
Section Type Address Location Size(Bytes)
--------- --------- --------- --------- ---------
...
...
DLY_VAR udata 0x000070 data 0x000003
SCDQ5542Q_VARS udata 0x000073 data 0x000002
Re: Automatisk export av använda minnesceller till exel?
Det är ett överskådligt sätt att se användningen av RAM. Kan vara bra för att finna plats för en så stor array som möjligt, till exempel. MAP-filen ger inte möjlighet till en särskilt bra överblick över RAM-användningen.
Re: Automatisk export av använda minnesceller till exel?
Icecap nejdå, bara på ett ställe, visar hur:
Det står inget angivet efter CODE mer än på ett enda ställe i hela koden altså, eller gör CODE något jag inte förstår?
AndersG Med equ, är det någon skillnad att använda res?
sodjan det där är metoden jag använder för att hålla reda på använda och oanvända celler och det är det jag vill göra (hålla koll på tusentals celler så jag inte använder dem till olika saker samtidigt).
x betyder att cellen är använd till något och 0 betyder att cellen är oanvänd.
res använder jag inte för att jag inte visste om det förrän jag läste om res i den här tråden
"Variant" ja, assemblerstil, assemblerformat, ren assembler helt enkelt, ingen spcifik variant annat än möjligen då kod för PIC18F µC, det var ett vilseledande uttryck tyvärr
sodjan, hur vet du vilken cell du kan använda utan att du använder en som redan används när du behöver en ny variabel?
Kan tänka mig att det finns bättre sätt än det jag använder, tex: "VariabelX Equ 0xA1"?
bearing helt rätt i att jag vill få en karta eller något som gör att jag kan ha koll på använda och oanvända celler fast det är inget självändamål att ha det i exel, vet av erfarenhet att många program erbjuder möjligheten att skicka data till exel automatiskt, vore ju bra om MPLAB IDE kunde det med.
Skulle vara bra om man kunde göra det på något vis, även om jag skulle få göra en extra rad intill plasen där man deklarerar cellen med equ eller res eller möjligen något annat.
Kod: Markera allt
STARTUP CODE 0x0
goto Start
nop
nop
Call LowPriorityInterupt, 0
Return, 0
nop
nop
nop
nop
nop
Calll HighPriorityInterupt, 0
Return, 0
PROG CODE
Start:
AndersG Med equ, är det någon skillnad att använda res?
sodjan det där är metoden jag använder för att hålla reda på använda och oanvända celler och det är det jag vill göra (hålla koll på tusentals celler så jag inte använder dem till olika saker samtidigt).
x betyder att cellen är använd till något och 0 betyder att cellen är oanvänd.
res använder jag inte för att jag inte visste om det förrän jag läste om res i den här tråden
"Variant" ja, assemblerstil, assemblerformat, ren assembler helt enkelt, ingen spcifik variant annat än möjligen då kod för PIC18F µC, det var ett vilseledande uttryck tyvärr

sodjan, hur vet du vilken cell du kan använda utan att du använder en som redan används när du behöver en ny variabel?
Kan tänka mig att det finns bättre sätt än det jag använder, tex: "VariabelX Equ 0xA1"?
bearing helt rätt i att jag vill få en karta eller något som gör att jag kan ha koll på använda och oanvända celler fast det är inget självändamål att ha det i exel, vet av erfarenhet att många program erbjuder möjligheten att skicka data till exel automatiskt, vore ju bra om MPLAB IDE kunde det med.
Skulle vara bra om man kunde göra det på något vis, även om jag skulle få göra en extra rad intill plasen där man deklarerar cellen med equ eller res eller möjligen något annat.
Re: Automatisk export av använda minnesceller till exel?
> AndersG Med equ,...
Sluta med det bums.
> ...är det någon skillnad att använda res?
Ja, RTFM (eller online hjälpen i MPLAB). Du får ju en MAP-fil så du kör redan "relocatable"
så det är lite märkligt att du fortfarande använder EQU. Fördelarna med RES har ju
också diskuterats många gånger här på forumet.
> sodjan det där är metoden jag använder för att hålla reda på använda och oanvända celler och det är
> det jag vill göra (hålla koll på tusentals celler så jag inte använder dem till olika saker samtidigt).
Helt onödigt, eftersom MPASM/MPLINK gör det åt dig automatiskt.
Du lägger ner ett väldigt stort och helt onödigt arbete som kan skötas helt automatiskt...
> sodjan, hur vet du vilken cell du kan använda utan att du använder en som redan används när du behöver en ny variabel?
Som sagt, MPASM/MPLINK sköter det automatiskt.
Slut omedelbart med EQU. Det sätter bara värden på symboler, det allokerar *inte* minne (så som RES gör).
> Kan tänka mig att det finns bättre sätt än det jag använder, tex: "VariabelX Equ 0xA1"?
Ja, "VariabelX RES 1". Vilken adress VariabelX hamnar på är ganska ointressant.
Du kan även styra med DATA direktiven vilken bank du vill ha dom i (t.ex ACS eller var-som-helst).
Sluta med det bums.
> ...är det någon skillnad att använda res?
Ja, RTFM (eller online hjälpen i MPLAB). Du får ju en MAP-fil så du kör redan "relocatable"
så det är lite märkligt att du fortfarande använder EQU. Fördelarna med RES har ju
också diskuterats många gånger här på forumet.
> sodjan det där är metoden jag använder för att hålla reda på använda och oanvända celler och det är
> det jag vill göra (hålla koll på tusentals celler så jag inte använder dem till olika saker samtidigt).
Helt onödigt, eftersom MPASM/MPLINK gör det åt dig automatiskt.
Du lägger ner ett väldigt stort och helt onödigt arbete som kan skötas helt automatiskt...
> sodjan, hur vet du vilken cell du kan använda utan att du använder en som redan används när du behöver en ny variabel?
Som sagt, MPASM/MPLINK sköter det automatiskt.
Slut omedelbart med EQU. Det sätter bara värden på symboler, det allokerar *inte* minne (så som RES gör).
> Kan tänka mig att det finns bättre sätt än det jag använder, tex: "VariabelX Equ 0xA1"?
Ja, "VariabelX RES 1". Vilken adress VariabelX hamnar på är ganska ointressant.
Du kan även styra med DATA direktiven vilken bank du vill ha dom i (t.ex ACS eller var-som-helst).