Forum: Mikrocontroller und Digitale Elektronik Einführung Reverse Engineering


von Peter (Gast)


Lesenswert?

Hallo Leute,

da ich momentan ein bisschen Freizeit hatte bevor mein Studium 
(lustigerweise nicht Elektrotechnik) beginnt, habe ich mir überlegt mich 
ein wenig weiter zu bilden.

Hab jetzt knapp drei Jahre lang Handys repariert, wobei sich das 
allermeiste nur auf den Austausch von Ersatzteilen belief (bis auf die 
wenigen Wasserschäden). Hab mich auch schon mit AVRs beschäftigt und 
Löten stellt in keinster Weise mehr ein Problem dar.

Jedenfalls will ich mich jetzt eine Ebene höher begeben und mehr über 
die Kommunikation in komplexeren Systemen lernen (grob ausgedrückt). Nun 
habe ich mir ohne groß drüber nachzudenken das Handy mit dem kleinsten 
Display geschnappt und es mir zur Aufgabe gemacht es zu analysieren und 
eventuell irgendwann mal anzusteuern (FPGA ist hier die Wahl, was?).

Sicherlich würden einige von euch mir hier empfehlen mich mit der Nase 
in Büchern zu vergraben und zu lernen (das tu ich sogar! :)), aber 
theoretisches Lernen hat mich noch nie gereizt.

Ich hab praktisch kein zeitliches Limit für dieses Projekt und ich lese 
auch bereits seit ca. 2 Wochen viel über das Thema, damit ich euch nicht 
zur Last falle. Dennoch tun sich mir ein paar Fragen auf, die mir 
vielleicht ein erfahrener Bastler hier beantworten kann.

Handy der Wahl war ein Samsung L700. Gibt praktisch keine Informationen 
über das Display. Alles was ich bis jetzt darüber weiß ist die 
Pinbelegung (Schaltplan) der 31 Pins am Datenkabel, dass es den 
Connector bei Molex gibt und dass scheinbar ein LJ41 Buffer von Samsung 
drin steckt, aber das scheint nicht zu helfen.

Bleibt also nur Reverse Engineering mittels Logic Analyzer oder 
Speicheroszi, richtig?
(Hab noch keine Erfahrungen mit RE und C, bin also offen für 
Buchempfehlungen usw.)
Hab auf der Handyplatine neben dem DisplayIC nun ein verdächtiges 
metallisches Bauteil mit der Aufschrift "89468" gefunden. Mein 
Bauchgefühl sagt mir, dass es sich dabei um einen Oszillator handelt, 
der mit ziemlich genau 89,468MHz läuft? Kommt das hin? :)

Brauche ich nun einen Logic Analyzer mit mindestens acht Kanälen (acht 
Datenleitungen) und mind. 90MHz oder kann man hier auch zu einem mit 
weniger Kanälen greifen und die Ergebnisse zusammenfügen oder verliert 
man dabei zu schnell den Überblick?

Bin für jede Information dankbar

von holger (Gast)


Lesenswert?

Mit deinen Kenntnissen kannst du das vergessen.

von Julian B. (julinho)


Lesenswert?

Das Display läuft sicherlich nicht mit 90Mhz.

von Dario B. (Gast)


Lesenswert?

bring' erstmal mit 'nem kleinen atmega leds zum periodischem blinken, 
dann bekommst du eine idee von der komplexität dessen, dem du mit einem 
la auf die pelle rücken willst.

von Peter (Gast)


Lesenswert?

holger schrieb:
> Mit deinen Kenntnissen kannst du das vergessen.

Mit sowas habe ich schon fast gerechnet :D Deswegen hab ich ja erstmal 
nur eine kleine Frage gestellt, weil ich mir den Rest der Kenntnisse 
selbst erarbeiten will. :)


Julian Baugatz schrieb:
> Das Display läuft sicherlich nicht mit 90Mhz.

Nicht? Eher mehr oder eher weniger? Scheint mir ganz realistisch, da 
z.B. der Ipod Nano 6G auch mit 100MHz läuft und da das Handy schon einen 
Tick älter ist, schien mir das recht plausibel.

Dario B. schrieb:
> bring' erstmal mit 'nem kleinen atmega leds zum periodischem
> blinken,
> dann bekommst du eine idee von der komplexität dessen, dem du mit einem
> la auf die pelle rücken willst.

Schon passiert :) War sogar eines meiner ersten Projekte. Mittlerweile 
habe ich sogar schon mehrere von denen hier liegen.

von klausr (Gast)


Lesenswert?

Peter schrieb:
> Bleibt also nur Reverse Engineering mittels Logic Analyzer oder
> Speicheroszi, richtig?
> (Hab noch keine Erfahrungen mit RE und C, bin also offen für
> Buchempfehlungen usw.)

Will man so was "reverse engineeren", sollte man was ähnlich schon mal 
"forward engineered" haben. Also

1) Erstmal C lernen, auf dem PC, dann
2) C Kenntnisse auf dem AVR weiterentwickeln, LED blinken lassen, 
7-Segment, LCD ansteuern, Tasten abfragen, Drehencoder usw.
3) Mit FPGA Entwicklung beginnen, Buch von Schwarz kaufen, Devboard von 
Altera oder Xilinx besorgen, VHDL (oder Verilog) lernen,
4) Bei E-Bay ein PSP Display besorgen, das mit dem FPGA ansteuern.
5) Das Ganze dann messen mit Logic Analyzer und/oder Speicheroszi. Wirst 
du eh brauchen, um dein Design zu debuggen
6) Verstehen, was du misst (aufgrund der vielen Leitungen gehe ich davon 
aus, dass das L700 Display parallel angesteuert wird, daher das PSP 
Display -> viele Handydisplays werden nur seriell angesteuert)
7) So, und jetzt (eine zweistellige Zahl an Monaten später) kannst du 
anfangen, Probes an das L700 Display zu löten und zu messen…

von Peter (Gast)


Lesenswert?

klausr schrieb:
> Will man so was "reverse engineeren", sollte man was ähnlich schon mal
> "forward engineered" haben.

Na das ist doch mal was womit man arbeiten kann! :)
Dann will ich mal keine Zeit mehr verlieren und mich direkt dranmachen, 
Danke!

von Peter (Gast)


Lesenswert?

Eins noch:
Bücher für C gibts viele. Irgendwelche Empfehlungen?

von Guest (Gast)


Lesenswert?

Peter schrieb:
> Bücher für C gibts viele. Irgendwelche Empfehlungen?

Alle ignorieren und lernen durch Betrachten von Source Code, kurzen 
dokumentierten Beispielen und Ausprobieren.

von Salewski, Stefan (Gast)


Lesenswert?

Guest schrieb:
> Alle ignorieren und lernen durch Betrachten von Source Code, kurzen
> dokumentierten Beispielen und Ausprobieren.

Und dann wird wieder der Buchegger gequält -- bis auch er irgendwann die 
Lust verliert den Kids die Grundlagen zu erklären.

von flavy (Gast)


Lesenswert?

Peter schrieb:
> Handy der Wahl war ein Samsung L700. Gibt praktisch keine Informationen
> über das Display.

So schwer ist das jetzt auch nicht wenns nur darum geht das Display vom 
L700 anzusteuern.

Google Suche nach: "Samsung L700 Service Manual" bringt einem die 
Pinbelegung des LCD Conectors:

Da steht dann was von LCD_CS, WR, LCD_RESET, VSYNC, RS, RD und 
LCD0-LCD7.

klausr lag mit der Annahme das es sich um ein paralleles Display handelt 
also richtig. Mit den beschriebenen Pins und dem Studium von vorhandenen 
Projekten die parallele LCDs nutzen, wird man also schnell Ergebnisse 
vorweisen können.

Viele Grüße

von Guest (Gast)


Lesenswert?

Salewski, Stefan schrieb:
> Guest schrieb:
>> Alle ignorieren und lernen durch Betrachten von Source Code, kurzen
>> dokumentierten Beispielen und Ausprobieren.
>
> Und dann wird wieder der Buchegger gequält -- bis auch er irgendwann die
> Lust verliert den Kids die Grundlagen zu erklären.

Wenn man zu blöd is muss mans halt bleiben lassen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.