Är det möjligt att dumpa HW Stacken för att sedan återställa den i 18F8622 mfl PICar.
Efter att ha studerat databladet kan jag konstatera att stacken inte är direkt läsbar, enbart TopOfStack är läsbar.
Men så finns det en del stackinstruktioner.
Är jag rätt ute när jag tänker så här:
För att dumpa:
Lagra SP
Lagra TOS, POPa stacken lagra TOS osv.
För att återställa:
PUSHa PC, ersätt med lagrat värde, PUSH igen,
ersätt med nästa osv, tills SP är samma som den ursprungliga
Är detta möjligt att genomföra?
Nån som gjort det eller har ideer om det.
Stacken i 18F8622 mfl PICAR
Nånting går in i en loop efter ett hundratal exekveringar, eftersom det är tidskritskt (nåja någorlunda) kan jag inte sätta en BP, och återstarta efter varje stopp.
Eftersom interrupten fungerar, tänkte jag att om jag dumpar SP när det händer, har jag åtmindstone en chans att hitta var jag fastnar nånstans.
Nåväl det är iofs historia nu, dumpade TOS genererade ett yttre int, och satte en BP i interrupt rutinen, och hittade var det loopar.
Visar sig att I2C rutinen av nån anledning hänger sig ibland.
Men å andra sidan kan det vara intressant ur andra perspektiv att veta hur mycket man kan manipulera stacken
Eftersom interrupten fungerar, tänkte jag att om jag dumpar SP när det händer, har jag åtmindstone en chans att hitta var jag fastnar nånstans.
Nåväl det är iofs historia nu, dumpade TOS genererade ett yttre int, och satte en BP i interrupt rutinen, och hittade var det loopar.
Visar sig att I2C rutinen av nån anledning hänger sig ibland.
Men å andra sidan kan det vara intressant ur andra perspektiv att veta hur mycket man kan manipulera stacken
Självklart !
Det händer ganska ofta att någon frågar om en liten detalj, och sedan,
när hela bilden framgår, så visar det sig inte allt för sällan att man
t.ex har missförstått något eller helt enkelt har valt en dålig
metod att lösa ett specifikt problem. Därför är det alltid viktigt/bra
att ha hela bilden klar för sig.
Det händer ganska ofta att någon frågar om en liten detalj, och sedan,
när hela bilden framgår, så visar det sig inte allt för sällan att man
t.ex har missförstått något eller helt enkelt har valt en dålig
metod att lösa ett specifikt problem. Därför är det alltid viktigt/bra
att ha hela bilden klar för sig.
Senast redigerad av sodjan 17 oktober 2006, 16:51:48, redigerad totalt 1 gång.
