PICking PICling
Re: PICking PICling
PICkit skulle inte släppa fram till fel MC och MPLAB skulle inte acceptera skillnad mellan Device och INC.
Re: PICking PICling
Jodå, det går alldeles utmärkt att bygga med fel inc eller fel device i inställningarna
Hexfilen innehåller ingen information om processorn, så så länge du väljer rätt processor i din programmerare kan du bränna vilken hexkod som helst.
Detta är exakt samma som jag postade tidigare, dock har jag valt en 12F609 i stället
Och här är samma kod med en 18F452
Som du ser går det alldeles utmärkt att välja fel processor, i vissa fall fungerar det i andra inte
Hexfilen innehåller ingen information om processorn, så så länge du väljer rätt processor i din programmerare kan du bränna vilken hexkod som helst.
Kod: Markera allt
--- E:\Tomas\Dokument\MPASMTEST\test.asm -------------------------------------------------------
1: list p=12f683
2: #include p12f683.inc
000 1683 BSF 0x3, 0x5 3: BANKSEL PIE1
001 130C BCF 0xc, 0x6 4: bcf PIE1,ADIE
002 1283 BCF 0x3, 0x5 5: BANKSEL STATUS
003 1003 BCF 0x3, 0 6: BCF STATUS,C
004 1483 BSF 0x3, 0x1 7: bsf STATUS,DC
Och här är samma kod med en 18F452
Kod: Markera allt
--- E:\Tomas\Dokument\MPASMTEST\test.asm -------------------------------------------------------
1: list p=12f683
2: #include p12f683.inc
0000 0100 MOVLB 0 3: BANKSEL PIE1
0002 9D8C BCF 0x8c, 0x6, BANKED 4: bcf PIE1,ADIE
0004 0100 MOVLB 0 5: BANKSEL STATUS
0006 9003 BCF 0x3, 0, ACCESS 6: BCF STATUS,C
0008 8203 BSF 0x3, 0x1, ACCESS 7: bsf STATUS,DC
Re: PICking PICling
> PICkit skulle inte släppa fram till fel MC...
Det finns ingen device information i HEX filen. Om arkitekturen stämmer
i stort sätt, så kan den nog gå igenom. Om man försöker bränna något
som är mer fel (en PIC18 fil till en PIC12/16) så kan det nog uppstå fel.
Om man har data till minnes areaor som inte existerar så får man verify fel.
> ...och MPLAB skulle inte acceptera skillnad mellan Device och INC.
Jag minns inte hur MPLAB-8 gjorde men MPLAB-X ger ett fel om device och
INC skiljer. Om däremot *både* device och INC är "fel" så går det igenom...
Hur som helst, är vi alltså överens om att BANKSEL genererar rätt antal
instruktioner utifrån den processor man använder? Bra i så fall, men jag har
inte sett att du har skrivit så.
> Det är absolut barnsligt att envist fortsätta med ett ämne som inte är relevant.
Menar du diskussionen om BANKSEL?
Det finns ingen device information i HEX filen. Om arkitekturen stämmer
i stort sätt, så kan den nog gå igenom. Om man försöker bränna något
som är mer fel (en PIC18 fil till en PIC12/16) så kan det nog uppstå fel.
Om man har data till minnes areaor som inte existerar så får man verify fel.
> ...och MPLAB skulle inte acceptera skillnad mellan Device och INC.
Jag minns inte hur MPLAB-8 gjorde men MPLAB-X ger ett fel om device och
INC skiljer. Om däremot *både* device och INC är "fel" så går det igenom...
Hur som helst, är vi alltså överens om att BANKSEL genererar rätt antal
instruktioner utifrån den processor man använder? Bra i så fall, men jag har
inte sett att du har skrivit så.
> Det är absolut barnsligt att envist fortsätta med ett ämne som inte är relevant.
Menar du diskussionen om BANKSEL?
- SeniorLemuren
- Inlägg: 8426
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: PICking PICling
Följer detta med stort intresse. På något vis får jag associationer till en viss skoförsäljare.Erik M skrev:Det är absolut barnsligt att envist fortsätta med ett ämne som inte är relevant.
Huruvida det har stringens har ingen betydelse då relevans saknas.
Dvs - att blå blåbär är blå innehar stringens, men har föga (egentligen ingen, men det kan ju gälla när man ska köra över blå blåbär som är blå...) relevans i frågan om lämpligt däckstryck.
Frågan om jag har fel inställningar hamnar på samma ställe - eftersom koden går ut och gör det jobb den ska.
Vilket den inte skulle göra om det exempelvis var fel INC-fil - eller fel MC.
Och nog med hopp på person, vilket dessutom mest bara tyder på osäkerhet om den egna förmågan.
Det säger ingenting om den påhoppades förmåga eller kunskap.
Korrekt svar på frågan om T0IF och T0IE är, enligt din text, att TMR0 rullar alltid och sätter T0IF varje gång den rullar över - oavsett allt annat.
För att kunna fånga, dvs generera ett interupt call, när T0IF sätts så måste T0IE vara satt.
RTFM, någon...?
Följdfrågan är vad GIE egentligen gör - dvs vad som menas med "unmasked interupts".

Anyway, din inställning om att det är barnsligt att försöka klarlägga detta med BANKSEL eftersom det fungerar ändå, är faktiskt helt fel. Det är nämligen inte bara du som berörs av detta. Många inklusive mig själv kanske kan vara intresserade av orsakerna. Skriver man i ett forum som detta så lägger man inte på locket sådär utan vidare.
Sedan blev jag faktiskt lite full i skratt av "vilket dessutom mest bara tyder på osäkerhet om den egna förmågan." Haha, sagt av någon som inte visste vad det var för skillnad mellan digital och analog input för bara en kort tid sedan. Sodjan och TomasL samlade kunskaper i detta ämne ligger ljusår före dina kunskaper och erbjuder den bästa hjälp du kan hitta. Ta väl vara på den kunskap de erbjuder och var inte så förbaskat styvnackad.
Re: PICking PICling
Värt att notera, i det sista exemplet, där jag valt 18F452 som device, men behållt 12f683.inc så blir den genererade koden helt annorlunda, av naturliga skäl.
MPLAB ger inga som helst varningar att man valt fel Device/Inc-fil, och naturligtvis går detta att bränna helt problemfritt i en 683a, resultatet blir nog väldigt mycket annorlunda om man försöker köra det.
MPLAB ger inga som helst varningar att man valt fel Device/Inc-fil, och naturligtvis går detta att bränna helt problemfritt i en 683a, resultatet blir nog väldigt mycket annorlunda om man försöker köra det.
Re: PICking PICling
Jag skrev nyss:
> Jag minns inte hur MPLAB-8 gjorde men MPLAB-X ger ett fel om device och INC skiljer.
Det jag menade var ifall det skilljer mellan device inställnigen och "list" direktivet...
Helt rätt att man inte får något larm (men sannolikt en massa andra följdfel)
om man kör med fel INC fil...
> och naturligtvis går detta att bränna helt problemfritt i en 683a
Nja, beroende på hur HEX filen ser ut så får man nog en del intressanta verifierings fel...
Slutligen så är jag fortfarande intresserad av hur Erik M gjorde för att få
dubbla BxF instruktioner till en 2-bankers modell.
> Jag minns inte hur MPLAB-8 gjorde men MPLAB-X ger ett fel om device och INC skiljer.
Det jag menade var ifall det skilljer mellan device inställnigen och "list" direktivet...
Helt rätt att man inte får något larm (men sannolikt en massa andra följdfel)
om man kör med fel INC fil...
> och naturligtvis går detta att bränna helt problemfritt i en 683a
Nja, beroende på hur HEX filen ser ut så får man nog en del intressanta verifierings fel...

Slutligen så är jag fortfarande intresserad av hur Erik M gjorde för att få
dubbla BxF instruktioner till en 2-bankers modell.
Re: PICking PICling
Lemuren - att jag tittar på grunden betyder inte att jag inte vet den allmänna användningen. Oavsett skillnaden mellan häst och djur.
Och för att fortsätta på din redan från början sneda spårning - om de båda herrarna inte accepterar samma utdrag de själva svänger runt med, då är det inget att tillföra.
Min fråga var om BANKSEL verkligen skulle generera den extra, som jag tyckte verkade onödig, BCF STATUS,0x6 vid varje BANKSEL. Svaret var att så borde det inte vara, det var svar nog för mig.
Ville någon gräva vidare i detta föreslogs att göra detta på lämpligare ställe än i denna tråd.
Då denna tråds substans nu är borttrollad lämnar jag den därhän.
Och för att fortsätta på din redan från början sneda spårning - om de båda herrarna inte accepterar samma utdrag de själva svänger runt med, då är det inget att tillföra.
Min fråga var om BANKSEL verkligen skulle generera den extra, som jag tyckte verkade onödig, BCF STATUS,0x6 vid varje BANKSEL. Svaret var att så borde det inte vara, det var svar nog för mig.
Ville någon gräva vidare i detta föreslogs att göra detta på lämpligare ställe än i denna tråd.
Då denna tråds substans nu är borttrollad lämnar jag den därhän.
Re: PICking PICling
Ja du har fått frågan besvarad BANKSEL genererar INTE någon extra instruktion, Om du får en extra instruktion så gör du fel.
Och eftersom du ställde frågan så gör du uppenbarligen fel.
Fortfarande gäller: gör om, gör rätt, RTFM.
Det är uppenbarligen lite konstigt att du vidhåller din sak, trots att den bevisligen är helt felaktig, och dessutom fegar ur på detta sätt.
Till andra som läser tråden.
Det ÄR fullt möjligt att generera program med felaktiga inställningar i MPLAB, helt utan varningar eller nånting, Precis som Erik M har gjort.
Kontentan och sensmoralen är:
Se till att MPLAB är konfigurerat på rätt sätt, Sätt alltid konfigurationsregistren i koden, dvs använd aldrig den i MPLAB inbyggda funktionen.
Huruvida det är möjligt att göra samma fel i MPLABX låter jag vara osagt, då jag inte använder MPLABX.
Och eftersom du ställde frågan så gör du uppenbarligen fel.
Fortfarande gäller: gör om, gör rätt, RTFM.
Det är uppenbarligen lite konstigt att du vidhåller din sak, trots att den bevisligen är helt felaktig, och dessutom fegar ur på detta sätt.
Till andra som läser tråden.
Det ÄR fullt möjligt att generera program med felaktiga inställningar i MPLAB, helt utan varningar eller nånting, Precis som Erik M har gjort.
Kontentan och sensmoralen är:
Se till att MPLAB är konfigurerat på rätt sätt, Sätt alltid konfigurationsregistren i koden, dvs använd aldrig den i MPLAB inbyggda funktionen.
Huruvida det är möjligt att göra samma fel i MPLABX låter jag vara osagt, då jag inte använder MPLABX.
Re: PICking PICling
> det var svar nog för mig.
Kan du svara på en enkel ja/nej fråga i alla fall?
Det borde inte vara allt för besvärligt...
Får du *fortfarande* 2 st. BxF instruktioner mot en 2 banks modell?
Kan du svara på en enkel ja/nej fråga i alla fall?
Det borde inte vara allt för besvärligt...

Får du *fortfarande* 2 st. BxF instruktioner mot en 2 banks modell?
Re: PICking PICling
Anledningen varför det kändes fullständigt ointressant var hur det, speciellt av Tomas, förutsattes att jag gjort fel.
Det blev än mer ointressant, rent av otrevligt, när Tomas inte ens gav rätt svar på frågan om timer och interupt.
Istället bara rapade ur sig text från databladet, som om det var ett svar ej redan genomgått - ett antal gånger.
Man frågar för att kontrollera sin egen förståelse - inte för att ifrågasätta den tillfrågades kunskap.
Dennes kunskap är ju vad man söker... Utrop i stil med "RTFM!" är direkt anstötliga.
Anstötliga på samma vis som Lemurens försök göra sig lustig över vad han inbillar sig veta om mig...
...jag skulle knappast åstadkommit vad jag gjort (med start som datalärare 1980) om jag var den idiot som Lemuren låter påskina ovan (om denne nu inte tagit sitt förnuft till fånga och raderat sitt inlägg).
Nog om det, väldigt mycket nog om det.
Vad gäller BANKSEL har jag detta att säga...
Nej, jag har inte fel inställningar eller filer.
Det var naturligtvis det första som kollades när det framstod att något torde vara fel.
I de två kontrollinstanser MPLAB IDE v8.00 (fråga inte...) som förefaller ge svar på om ens kod verkar vettig, dvs vad av den som går igenom och blir... mer kodig kod, så att säga, så ger...
-> Program Memory två rader kod för BANKSEL - STATUS,5 och STATUS,6.
Detta i både Symbolic och Machine, hur det ser ut i Opcode Hex har jag inte fått anledning gräva mig ner i.
-> Disassembly Listing en rad kod för BANKSEL - STATUS,5.
Vänligen
Erik
10/4
Det blev än mer ointressant, rent av otrevligt, när Tomas inte ens gav rätt svar på frågan om timer och interupt.
Istället bara rapade ur sig text från databladet, som om det var ett svar ej redan genomgått - ett antal gånger.
Man frågar för att kontrollera sin egen förståelse - inte för att ifrågasätta den tillfrågades kunskap.
Dennes kunskap är ju vad man söker... Utrop i stil med "RTFM!" är direkt anstötliga.
Anstötliga på samma vis som Lemurens försök göra sig lustig över vad han inbillar sig veta om mig...
...jag skulle knappast åstadkommit vad jag gjort (med start som datalärare 1980) om jag var den idiot som Lemuren låter påskina ovan (om denne nu inte tagit sitt förnuft till fånga och raderat sitt inlägg).
Nog om det, väldigt mycket nog om det.
Vad gäller BANKSEL har jag detta att säga...
Nej, jag har inte fel inställningar eller filer.
Det var naturligtvis det första som kollades när det framstod att något torde vara fel.
I de två kontrollinstanser MPLAB IDE v8.00 (fråga inte...) som förefaller ge svar på om ens kod verkar vettig, dvs vad av den som går igenom och blir... mer kodig kod, så att säga, så ger...
-> Program Memory två rader kod för BANKSEL - STATUS,5 och STATUS,6.
Detta i både Symbolic och Machine, hur det ser ut i Opcode Hex har jag inte fått anledning gräva mig ner i.
-> Disassembly Listing en rad kod för BANKSEL - STATUS,5.
Vänligen
Erik
10/4
Re: PICking PICling
Både jag och Sodjan har med all önskvär tydlighet visat att:
Rätt konfigurerat ger MPLAB felfri kod i avseende BANKSEL.
Fel konfigurerad ger MPLAB felaktig kod i avseende på BANKSEL.
Beträffande TIMER0, så står det faktiskt svart på vitt hur det hela fungerar (I tydliga enkla meningar).
Texten i databladet ger ingen som helst möjlighet till tvetydighet.
Om man inte begriper den enkla texten skall man nog pyssla med något annat i stället.
Rätt konfigurerat ger MPLAB felfri kod i avseende BANKSEL.
Fel konfigurerad ger MPLAB felaktig kod i avseende på BANKSEL.
Beträffande TIMER0, så står det faktiskt svart på vitt hur det hela fungerar (I tydliga enkla meningar).
Texten i databladet ger ingen som helst möjlighet till tvetydighet.
Om man inte begriper den enkla texten skall man nog pyssla med något annat i stället.
- SeniorLemuren
- Inlägg: 8426
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: PICking PICling
Njae, det är inte riktigt nog med det. Detta med idiot är faktiskt din utsago det får stå för dig. Vad jag skrev i mitt inlägg är min uppfattning baserad på ett flertal av dina tidigare inlägg och det står jag för och ser ingen anledning att radera. Dessutom så får man faktiskt inte ta bort gjorda inlägg, läs paragraf 1.3 i forumets regelverk.Erik M skrev: ...jag skulle knappast åstadkommit vad jag gjort (med start som datalärare 1980) om jag var den idiot som Lemuren låter påskina ovan (om denne nu inte tagit sitt förnuft till fånga och raderat sitt inlägg).
Nog om det, väldigt mycket nog om det.
Re: PICking PICling
Sen är det väl frågan om ts är ett troll, det verkar onekligen så, med tanke på inläggen.
Re: PICking PICling
> Nej, jag har inte fel inställningar eller filer.
Problemet är att *vi* ju inte vet att det är som du påstår.
Du måste faktiskt *visa* att det faktiskt är så som du säger.
Med bakgrund av tidigare trådar så finns det ingen anledning
att ta det du skriver för något självklart. Knappast vårat fel...
> I de två kontrollinstanser MPLAB IDE v8.00 (fråga inte...) som förefaller ge svar på om ens
> kod verkar vettig, dvs vad av den som går igenom och blir... mer kodig kod, så att säga, så ger...
> -> Program Memory två rader kod för BANKSEL - STATUS,5 och STATUS,6.
> Detta i både Symbolic och Machine, hur det ser ut i Opcode Hex har jag inte fått anledning gräva mig ner i.
> -> Disassembly Listing en rad kod för BANKSEL - STATUS,5.
Det du behöver visa är ett komplett källkods exempel ("reproducer", det behöver
in princip inte vara mer än en BANKSEL samt list och include direktiven) samt den
resulterande list filen.
För att göra det enkelt kan du testa med detta:
När jag bygger det så får jag *en* BxF instruktion för varje BANKSEL.
Vad får du?
> MPLAB IDE v8.00
Ja, vi kanska kan visa att det fanns någon bugg i en gammal version...
Problemet är att *vi* ju inte vet att det är som du påstår.
Du måste faktiskt *visa* att det faktiskt är så som du säger.
Med bakgrund av tidigare trådar så finns det ingen anledning
att ta det du skriver för något självklart. Knappast vårat fel...
> I de två kontrollinstanser MPLAB IDE v8.00 (fråga inte...) som förefaller ge svar på om ens
> kod verkar vettig, dvs vad av den som går igenom och blir... mer kodig kod, så att säga, så ger...
> -> Program Memory två rader kod för BANKSEL - STATUS,5 och STATUS,6.
> Detta i både Symbolic och Machine, hur det ser ut i Opcode Hex har jag inte fått anledning gräva mig ner i.
> -> Disassembly Listing en rad kod för BANKSEL - STATUS,5.
Det du behöver visa är ett komplett källkods exempel ("reproducer", det behöver
in princip inte vara mer än en BANKSEL samt list och include direktiven) samt den
resulterande list filen.
För att göra det enkelt kan du testa med detta:
Kod: Markera allt
list p=12F683 ; list directive to define processor
#include <p12f683.inc> ; processor specific variable definitions
prog1 code
banksel t2con
banksel ccpr1l
bcf t2con, T2CKPS0
banksel wpu
end
Vad får du?
> MPLAB IDE v8.00
Ja, vi kanska kan visa att det fanns någon bugg i en gammal version...