Ofta ansluts flashminne via SPI (Serial Peripheral Interface Bus) till en processorenhet som en ARM-kärna eller en mikrokontroll.
- Hur kan man dumpa minnet?
- Kan det finnas skyddsmekanismer?
- Finns det fallgropar att undvika?
Ofta ansluts flashminne via SPI (Serial Peripheral Interface Bus) till en processorenhet som en ARM-kärna eller en mikrokontroll.
Även om jag tycker att frågorna är för breda och jag håller med @ cb88 att databladet ska ge dig allt du behöver veta, ska jag försöka svara på några.
Det första alternativet är avlödning av chipet från kortet. Efter att ha gjort det har du två alternativ
När du kan 't eller vill inte ta bort chipet har du igen två alternativ.
Du kan också använda ett klipp som är utformat för att fästa analysatorn till chipet i systemet.
I allmänhet skulle jag rekommenderar verkligen att avlasta chipet. De är nästan, om inte alltid kantförpackade (t.ex. med tydligt synliga stift på utsidan av paketet) och inte Ball Grid Array (BGA) -paket. Detta gör dem lätta att ta bort och även lätta att sätta tillbaka. Det kommer att spara huvudvärk du kan stöta på som jag beskrev i avsnittet om fallgropar nedan.
OTP-minne Några av dessa marker kan innehålla OTP-minne (One-Time Programmable) där de lagrar skyddsbitar. Jag har bara sett att detta används för att låsa området mot skrivning, inte mot läsning. Annars, vad är poängen med att ha flashminnet?
Kryptering Jag har aldrig sett eller kunde snabbt hitta några SPI-flashchips som erbjuder kryptering. Detta implementeras vanligtvis i en minneskontrollant på System on a Chip (SoC) -sidan som gör det i farten och håller det snyggt och transparent för värd-CPU: n.
Några saker att tänka på;
Om du skriver din egen sniffer, se till att den kan sampla signalerna tillräckligt snabbt. Till exempel kommer busspiraten att misslyckas i alla fall eftersom den bara kan sampla vid max ~ 32MHz där många SPI-blixtar börjar vid 40 + MHz. Så du måste åtminstone dubbla målhastigheten ( Samplingsteor)
Blixtapparaterna kan fungera i olika hastigheter upp till 100 + MHz som relaterar till de olika lägena (normalt läsa, snabbläsa, dubbelläsa, fyrläsa etc) de är i. Ett sådant läge ändrar inte bara hastigheten utan också hur data överförs. Till exempel i Quad Read-läge klockar blixten ut fyra bitar åt gången med SI / SO / WP / Hold-signaler istället för "klassiskt" läge där du läser ut 1 bit per klockcykel från SO (Serial Out).
När du agerar som värd, se bara till att du ger tillräckligt med ström och att signalerna är höga / låga vid rätt tidpunkter. All denna information finns i databladet för flashchips.