Vad orsakade felprogrammeringen hos chippet?
Vad orsakade felprogrammeringen hos chippet?
Ultrahackade precis en databox där ena cpu hade stängt av. Vad kan det komma sig att det var så?
- Klas-Kenny
- Inlägg: 11343
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Vad orsakade felprogrammeringen hos chippet?
Väldigt skumt.
En tanke skulle ju vara som jag såg att det skrevs i Facebook-kommentarerna, att någon råkat lägga in fel binär vid en uppdatering.
Men framförallt är det väldigt konstigt om en sådan fältuppdatering ändrar på konfigurationsbitar. De brukar man inte gärna ändra på annat än vid produktion.
Men jag har faktiskt varit med om ett underligt fenomen med flashminnet i PIC-processorer.
I det fallet gjorde en felaktig timing vid skrivning av flashminnet i produktion, att flashminnet blev "halvskrivet" vilket fick effekten att det ibland lästes korrekt, ibland inte.
I det fallet uppträdde det som så att vissa enheter inte fungerade i vissa temperaturer. Det egendomliga just då var att en debugger alltid läste minnet rätt. Så man kunde laga enheterna genom att göra ungefär som du, läsa ut minnet och sen bara skriva tillbaka det utan förändringar.
Här verkar det ju vara mer konsekvent fel och även debuggern läser felet, så inte likadant som det jag var med om. Men kan ju inte utesluta att det ändå är något liknande, bara att någon bit lyckats flippa mer ordentligt.
Tillägg: Det ser ju förresten ut som att all konfiguration är ettor.
Det tyder på att någon har raderat konfigurationen, men inte lyckats skriva någon ny.
Oscillatorkonfigurationen som har värde 0xF är inte ens ett giltigt värde.
En tanke skulle ju vara som jag såg att det skrevs i Facebook-kommentarerna, att någon råkat lägga in fel binär vid en uppdatering.
Men framförallt är det väldigt konstigt om en sådan fältuppdatering ändrar på konfigurationsbitar. De brukar man inte gärna ändra på annat än vid produktion.
Men jag har faktiskt varit med om ett underligt fenomen med flashminnet i PIC-processorer.
I det fallet gjorde en felaktig timing vid skrivning av flashminnet i produktion, att flashminnet blev "halvskrivet" vilket fick effekten att det ibland lästes korrekt, ibland inte.
I det fallet uppträdde det som så att vissa enheter inte fungerade i vissa temperaturer. Det egendomliga just då var att en debugger alltid läste minnet rätt. Så man kunde laga enheterna genom att göra ungefär som du, läsa ut minnet och sen bara skriva tillbaka det utan förändringar.
Här verkar det ju vara mer konsekvent fel och även debuggern läser felet, så inte likadant som det jag var med om. Men kan ju inte utesluta att det ändå är något liknande, bara att någon bit lyckats flippa mer ordentligt.
Tillägg: Det ser ju förresten ut som att all konfiguration är ettor.
Det tyder på att någon har raderat konfigurationen, men inte lyckats skriva någon ny.
Oscillatorkonfigurationen som har värde 0xF är inte ens ett giltigt värde.