Forum: Mikrocontroller und Digitale Elektronik Was ist das für ein Chip? Hersteller? Auslesen des Flash?


von Dominic (Gast)


Angehängte Dateien:

Lesenswert?

Hi, kann mir jemand sagen was der hintere Chip für einer ist? Ich tippe 
auf Flashspeicher aber ich kann mit dem Symbol leider nichts anfangen. 
Und unter der Bezeichnung finde ich nichts.

Wie wahrscheinlich ist es den Speicher auslesen und beschreiben zu 
können (bzw. den des TI)? Leider kann man nicht mal die Pins bestimmen. 
Ich gehe mal von <10% aus.

Vielen Dank.

von SebiHQ (Gast)


Lesenswert?

Das Symbol gehört zu "Micron".

Flash Speicher könnte hinkommen...

von :-) (Gast)


Lesenswert?

da das Logo ein "M" enthält lässt sich die zugehörige Firma leicht auf 
dieser Seite hier ermitteln:

http://www.aufzu.de/semi/gif/

von No Y. (noy)


Lesenswert?

Das ist der RAM..

Micron MT41K128M16JT-125 XIT

Micron hat einen BGA Decoder der gibt dir die genaue Bezeichnung.

von No Y. (noy)


Lesenswert?

Mach Mal ordentliche Bilder.

Irgendwo wird ein EMMC , Flash oder SPI NOR sitzen..

Ggf. wird auch alles von SD geladen..
Da dort mit hoher Wahrscheinlichkeit ein Win CE oder Linux läuft wird es 
schwer mit einfach auslesen bzw. verändern..

Fileformat, Partitionen usw.

Besser die Konsole finden (UART ggf. auf der 10 pol Stiftleiste? mit dem 
Oszi beim booten Mal schauen..) und dann mit dem uboot oder barebox den 
Flash ansprechen..

Oder halt Linux , Win CE ggf gibt's ne offene telnet oder ssh..

: Bearbeitet durch User
von Dominic (Gast)


Lesenswert?

Ahhh, vielen Dank schon mal. Ich suche einen Flasch. Der scheint dann 
wohl im Controller zu sein. Auf der Unterseite ist auch nicht ms großes 
mehr.

von pegel (Gast)


Lesenswert?

Erinnert irgend wie an das hier:

http://goembed.com/index.php/Products/detail/tpid/22

Mit suchen findet man sogar Schaltpläne.
Ganz ausschliessen würde ich den Erfolg nicht.

von No Y. (noy)


Lesenswert?

Der Controller ist ein AM335 der hat kein Flash..
Nur ein minimales ROM wo der First Stage bootloader drin ist.

Da muss irgendwo was sein. SPI Nor kann auch ein SO8 sein...


Ordentliches Bild oben unten wo man Beschriftung sieht würde helfen...

: Bearbeitet durch User
von Nils Pipenbrinck (Gast)


Lesenswert?

Die CPU ist ein TI Sitara Prozessor. Es kann gut sein, das sich das 
Flash direkt als Sandwitch unter der CPU befindet.

von Dominic (Gast)



Lesenswert?

Ahhh, ich habe ihn doch noch gefunden. Das müsste er sein. Ich schaue 
mal nach einem Datenblatt.

Mein Gedanke war einfach dass ich den Speicher eines funktionierenden 
Gerätes anspinne, Auslese und hierauf schreibe. Da ist der Inhalt und 
das Betriebssystem doch irrelevant? Bei identischen Geräten?

Exakt, noy. Auf dem Gerät läuft ein Linux und es gibt sogar eine 
10polige nicht bestückte Pinleiste. Die Belegung weiß ich aber nicht und 
kenne mich wahrscheinlich für dein Vorgehen (leider) zu wenig damit aus.

von Dominic (Gast)


Angehängte Dateien:

Lesenswert?

Sry

von No Y. (noy)


Lesenswert?

"Pop Flash" und dann noch für drunter hab ich noch nie gesehen... Erst 
Recht nicht für den AM335 und auf dem Bild die Chiphöhe passt nicht für 
Pop..

von Tine Guillo (Gast)


Lesenswert?

Mach doch ma Bilder bitte.

von Dominic (Gast)


Lesenswert?

Das Foto ganz oben ist zusammen gesetzt um die Beschriftung zu zeigen, 
ich wollte deswegen noch 2 riesige Fotos einzeln hochladen. Der Flash 
sitzt auf der Rückseite unter den Kondensatoren.

von Dominic (Gast)



Lesenswert?

Hier nochmal vollständig

von No Y. (noy)


Lesenswert?

Ja ist RAW Flash..

Also das anfädeln und 1:1 auslesen (weiß gerade nicht Mal ob es so 
einfach geht, bin aber auch kein softi...) ist deutlich mehr Arbeit / 
schwieriger als mal die Pins beim booten mit einem Logic analyzer oder 
Oszi anzuschauen und dann nen ftdi anzutüdeln und ne com aufzumachen..

Ggf. kurz Mal noch Spannung an jedem Pin messen... Nicht das da 
irgendwelche hohen Displayspannungen oder so anliegen...


Hat ja sogar Ethernet... Hast du geschaut ob nicht ssh , telnet offen 
ist?

Wenn du über die UART dran kommst kannst du sogar die einzelnen 
Partitionen  über Ethernet oder auf USB sichern..

: Bearbeitet durch User
von Dominic (Gast)


Lesenswert?

Hier habe ich das Datenblatt: 
https://www.micron.com/-/media/documents/products/data-sheet/nand-flash/20-series/2gb_nand_m29b.pdf

Ich würde ungern etwas dran löten. Die Pin-Abstände sind mir da etwas 
winzig, aber darf das Board leider auch nicht ausführen 
(Uni-Forschungsbereich). Also war mein Gedanke einen Controller zu 
nehmen, ihn zu programmieren, dass er die Blöcke ausliest und dann auf 
ein anderes Board 1:1 schreibt. Ich habe Pin-Werkzeug (soetwas 
https://www.ecu-cables.de/images/product_images/original_images/bootframe_3.jpg) 
zur Verfügung.

noy: Meinst du einen FTDI Chip an den Flasch oder den Controller? Der 
wird doch sicher mehrere UARTS haben?

Ja, genau, Ethernet ist onboard. Das Problem ist aber wohl, dass der 
Speicher verloren gegangen ist. Der Fehler liegt in fehlerhafter 
Software des Herstellers und ist kein Einzelfall. Es bootet bis 
irgendwohin, aber nicht ins Linux. Scheinbar liegen relevante 
Bootloader-Teile auch auf dem Flasch, denn dieser (Update über USB) 
funktioniert auch nicht mehr. Beide Ethernetleds sind permanent an. Und 
Ethernet ohne Funktion. Es reagiert nicht mal auf einen Req auf Layer 2.

von pegel (Gast)


Lesenswert?

Ich würde davon ausgehen, dass bei den 10 Pins RX und TX dabei sind.

Lausche einfach mal auf allen beim Einschalten.

von pegel (Gast)


Lesenswert?

Wenn du Glück hast, meldet sich UBoot.

von No Y. (noy)


Lesenswert?

FTDI an den Controller. Ja hat mehrere UART aber Chancen sind doch hoch 
das es auf dem Stecker liegt?
Ansonsten schauen ob es noch was anderes gibt was nach "Debug" 
ausschaut. Testpunkte? Anderer kleiner Stecker?

Der AM335 bootet folgendermaßen:
1. Stage Bootloader aus dem Controller ROM läd von der eingestellten 
Bootquelle (bootstrap Widerstände) (bei dir wohl Flash) den 2. Stage 
Bootloader ins controller interne RAM (sehr klein) das geschieht soviel 
ich weiß sogar ohne ECC korrektur. Sofern ich mich erinnern kann sucht 
der ROM ganz am Anfang vom Flash nach dem 2.Stage..

Der 2. Stage Bootloader (barebox oder uboot abgespeckt) initialisiert 
den externen RAM und lädt die "große" Version der barebox oder uboot 
dort hinein ab hier wohl auch mit ECC. Und springt dann dorthin.

Von da an wird dann der Kernel geladen usw.

Wenn da gar nix mehr bootet kann es auch schon 2. Stage Bootloader 
sein...

Du willst also mit den Nadeln das Flash "anfahren" und von extern mit 
einem entsprechend programmierten und fähigen Controller auslesen? Wie 
versorgst du das Flash mit Spannung ohne das der AM335 startet durch 
Rückspannung? Also eher ablöten also das Flash oder noch die Reset 
Leitung finden und den AM335 in den Reset setzten, Board direkt über den 
"offiziellen" Spannungsstecker versorgen und dann auslesen.

Aber bzgl. Controller entsprechend zum auslesen programmieren usw. und 
ob dann noch was vernünftiges rauskommt muss dir eher ein Softi helfen 
da hab ich weniger Ahnung von...

Alternativ Bootpins des AM335 finden und die Bootquelle wechseln und 
eine andere Bootquelle benutzen. USB ? Oder UART ggf. ETH und dann einen 
angepassten  2. Stage Bootloader über UART oder andere Bootquelle 
schicken..
Schau Mal im Datenblatt vom AM335 nach der Bootreihenfolge und 
Bootquellen weiß es nicht mehr auswendig...

: Bearbeitet durch User
von Dominic (Gast)


Lesenswert?

No Y. schrieb:
> ECC

Das werde ich morgen probieren, Danke.

Und auch vielen Dank schon mal an dich für deine ausführliche Hilfe, 
noy.

No Y. schrieb:
> Ansonsten schauen ob es noch was anderes gibt was nach "Debug"
> ausschaut. Testpunkte? Anderer kleiner Stecker?

Auf dem Board ist noch ein weiterer MSP430 Controller mit 5 unbestückten 
Pads. Dessen Funktion kann ich mir aber nicht ausmalen. Auf alle Fälle 
werde ich erstmal alle Pins nach TX abklappern.

Und, ja, genau das war meine Idee. Ein Eval Board (STM oder TI) genommen 
und darüber den Speciher angesprochen und 1:1 komplett ausgelesen. Und 
dann wieder gespeichert. Ob das funktioniert weiß ich nicht genau. 
Wahrscheinlich liegt die Seriennummer und MAC etc auf dem Flasch und 
vllt führt dieser sogar eine Plausabilitätsprüfung (mittels SN oder 
irgendwas anderem vor dem Boot durch. Es betrifft leider nicht nur 
dieses Board sondern mittlerweile liegt hier schon ein ganzer Stapel 
(Danke, Siemens). Den Flasch müsste ich dann an einer passenden Stelle 
(GND ist recht ausgeprät) mit einem Messer trennen oder den Controller 
auf Reset ziehen (war mein eigentlicher Gedanke aber BGS sei Dank wird 
das wohl schwierig). Aber auf alle Fälle checke ich erstmal deine 
nichtzerstörersichen Vorschläge ab.

Deine andere Bootquelle ist natürlich auch ein genialer Vorschlag, wobei 
ich befürchte dass dieser zu genial für mich ist. Das wäre ja schon ein 
größeres Projekt. Aber wie schon gesagt, vielen Dank erstmal. :)

von No Y. (noy)


Lesenswert?

Die MAC Adresse ist von TI aus schon im AM335.
Wegen Reset würde ich nach einem Spannungs Supervisor suchen da ist 
meißt auch der Reset dran. Oder aber schau bei der ethernet phy (ich 
hinter der Ethernet Buchse) da kannst du den Pin für Reset aus dem 
Datenblatt raussuchen und ggf ist es derselbe Reset wie der am335.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Der Ablauf bei den Embedded Systemen ist häufig identisch:

1st stage Loader läd sich sein Zeugs aus einem NOR-Flash (SPI)
2nd stage Loader (U-Boot) holt sich sein Zeugs aus dem NAND Flash.

hier mal etwas zum "ansehen" (ca 22:00)
https://www.youtube.com/watch?v=DV5S_ZSdK0s

--

Ich knoble an einer ähnlichen Aufgabe wir du:
Philips Glotze, QFU2.1E Board. Tut nix mehr.

Gottseidank gibts ein RS232 Interface. ich hab ein PL2303 dran getüdelt, 
und kann mir dann die Bootlogs des Bootloaders ansehen.

Das Nand scheint bei mir zermurkst zu sein, ich bekomme jede Menge 
Meldungen der Art
UBI: fixable bit-flip detected at PEB 143
UBI: schedule PEB 143 for scrubbing

und zum Schluss crasht mir das Zeugs beim Anstarten des Linux Kernel:

Kernel panic - not syncing: VFS: Unable to mount root fs on 
unknown-block(249,0)

-->
@dominic:

Vielleicht ist es ja was ähnliches bei dir.

Da wäre es zweckmäßig, nach RX-TX Leitungen Ausschau zu halten, und mal 
abzuschüffeln mit  dem Oszi, ob oder wo da aus TX irgendwelche Meldungen 
rausposaunt werden. PL2303 USB Adapter (TTL-Eingang,Ausgang) kostet 3 
EUR in der e-Bucht, CuteCom für Linux gibts umsonst (Ansonsten mit 
Hyperterm oder so unter Windows). 3 Leitungen anklemmen, fertig (RX, TX, 
GND).
Schon bist du nicht mehr ganz so blind.

wegen Flash auslesen: Irgendwo auf dem Board wirds bestimmt ein JTAG 
Interface geben, darüber solltest du den Speicher auslesen können. 
Braucht 3-4 weitere Leitungen.

von No Y. (noy)


Lesenswert?

Flash in der Größe wird selten über JTAG programmiert dauert viel zu 
lange es durch die Chain zu schieben...

Auslesen willst du es doch auf einem i.O. Board und dann clonen auf die 
kaputten oder?

Ein kaputtes auslesen bringt ja nix. Würdest ja die Fehler mitclonen.

Ansonsten Debug halt suchen und schauen was dir das "kaputte" um die 
Ohren haut.

Wenn da der Bootloader schon nicht geht musst du es neu flashen.. und 
dazu musst du ggf. zuerst von einer anderen Bootquelle booten. Sofern 
1:1 clonen nicht geht..

Wenn der AM335 nichts bootbares findet gibt er "CCCCCCC...." Über die 
Boot UART aus. Im Datenblatt steht von welcher UART gebootet wird und 
welche Pins es sind..

Supervisor ggf. einer der sot-23 bei den schaltreglern. Einen PMIC sehr 
ich nicht...

von Dominic (Gast)


Lesenswert?

Danke auch, Wegstaben. Ich bin erstmal nach Hause. Schaue dann morgen 
Abend weiter. Ich habe auch mal deine Typenbezeichnung gegoogelt und es 
scheinen wirklich einige Probleme mit diesem Flasch zu haben. Wenn man 
allerdings bedenkt, dass es sich bei dir um ein Consumer Produkt handelt 
und hierbei um ein Industrieprodukt was für ein Sehrvielvielfaches der 
Hardwarekosten verkauft wird, dann ist das schon echt interessant.

Ich überprüfe morgen mal die Pins auf UART, mal schauen wo ich ggf die 
Resetleitung finde und dann mal weiter.

von No Y. (noy)


Lesenswert?

Bester/ einfachster Ansatz wäre:

Flash von einem i.O Board sauber ablöten mit Heißluft..

Dann auf einen Universalprogrammer (elnec beeprog2 und Adapter oder 
ähnliches...) schnallen der das Flash unterstützt und auslesen.
Danach wieder auflöten.

Anschließend kaputtes ablöten, ebenfalls auf den Programmer schnallen 
und programmieren und wieder auflöten.

TSSOP-48 geht ja noch ..

von Dominic (Gast)


Lesenswert?

Genau, noy.

Ich schaue erstmal ob ich irgendwelche Highlevel-Meldungen über einen TX 
bekommen (das wäre natürlich schon mal etwas), falls das nicht klappt, 
dann würde ich ein anderes (baugleiches) Board auslesen, vllt mal drüber 
schauen ob es ggf verschlüsselt ist oder irgendwo eine Checksumme steht 
und dann versuchen diese auf den defekten Flash zu schreiben. Dann 
nochmal lesen und schauen ob vllt ein ein Sektor defekt ist (dann wäre 
es das an dieser Stelle für mich, da noch irgendwelche jmp Befehle 
reinzubasteln, ist dann wohl doch etwas über das Ziel hinaus geschossen, 
sofern es überhaupt möglich ist (ich gehe immer noch von einer 
Checksumme über den gesamten Flash mit Einbeziehung der Seriennummer 
aus)). Und mit etwas Glück funktioniert es sogar, dann würde ich vllt 
versuchen das zu vertextlichen.

von Dominic (Gast)


Lesenswert?

Auch wenn ich es ungern zugebe, aber bisher habe ich mehr kaputt 
gelötet, als ganz. Aber ich werde mich mal umhören wer sich hier das 
zutraut.

von No Y. (noy)


Lesenswert?

Glück hast du, dass es ein AM335 ist..
Sowas wie Secureboot usw. kann der nicht..

Und ich denke die MAC Adresse (woher sollte die Software die 
Seriennummer wissen, außer die steht irgendwo in einem eeprom...) wird 
nicht abgefragt denn dann müsste die Software ja bei jedem Board nach 
dem flashen irgendwie an die MAC  des Controllers  oder Seriennummer 
angepasst werden...(denke mehr Aufwand als nutzen...)

Falls Seriennummer im Flash steht wird ja alles mitgeklont samt 
Checksumme (sofern Badblocks im  Ziel Flash da nicht Probleme 
machen....)

Und verschlüsselt denke ich auch nicht zumindest nicht der 2. Stage 
Bootloader.. Der interne ROM Bootloader kann keine Verschlüsselung. Wenn 
dann geht es erst bei Barebox/Uboot mit verschlüsselt los... Aber 
zumindest in den Bootloader solltest du kommen...

: Bearbeitet durch User
von discoqueen (Gast)


Lesenswert?

:-) schrieb:
> da das Logo ein "M" enthält lässt sich die zugehörige Firma leicht auf
> dieser Seite hier ermitteln:
>
> http://www.aufzu.de/semi/gif/

M mit Kringel? Lässt sich auf dieser Seite ermitteln:

https://youtu.be/Hxe0jtlSV_4?t=78

von Dominic (Gast)


Lesenswert?

So, ich habe mir die Platine mal genauer angeschaut. Die Pinleiste 
scheint in der Tat für's Debugging gedacht zu sein, ist allerinds im 
weiteren nicht bestückt :/. ich bekomme also außer 3.3V und GND nicht 
viel mehr raus. Eine Resetleitung ist auch da, allerdings auch nicht 
vollständig bestückt, aber sie führt zum SVS. Das ist ein TPS386000 und 
irgendwie sind Pinleiste und SVS mit einem SOT23 Bauteil mit der 
aufschrift M52 vebunden. Ich dachte erst an einen Transistor, aber das 
macht von der Beschaltung keinne Sinn.

Was mich allerdings sehr iritiert ist, dass der SVS mit 5V läuft. Ich 
finde aktuell echt keine Resetverbindung zum Processor. Ich wünsche mir 
einfach TTL-Bestückung wieder zurück.

Falls du das noch liest, noy, was machst du beruflich? Entwickelst du 
solche Platinen? Falls ja, wie lange brauch man denn für das Schematic 
und das Layout eines solchen Boards? Ich gehe von 4-6 Layern aus.

von pegel (Gast)


Lesenswert?

Hast du dir meinen link vom 10.04.2019 21:14 angesehen?

Da gibt es Schaltpläne, Datenblätter, Bootloader und Linux für den µC.

Beitrag #5806083 wurde von einem Moderator gelöscht.
von No Y. (noy)


Lesenswert?

Ja ich lese noch mit, will doch wissen ob du weiter kommst...
Was meinst du mit "weiteren nicht bestückt"? vVerfolge mal die 
"unklaren" Pins im Layout ggf. sind einfach nur Serienwiderstände nicht 
bestückt worden um es nicht "zu einfach" zu machen.

Der TPS386000 ist doch ein Supervisor IC. Schau doch mal ob wie gesagt 
ggf. eine der Leitungen auch an das Reset der Ethernet Phy geht bringt 
ggf. zusätzlich klarheit. Oder aber der MAX17075 neben dem Flash aht 
auch einen Reset ggf. hängt der auch an einem "globalen" Reset..

Den rest der ICs kann ich auf den Bildern nicht entziffern. Was ist da 
noch so an "größeren" ICs drauf? Z.B. der neben dem Goldcap? Oder die 
paar auf der Unterseite?

M52 auf einem SOT-23-3 könnte ein ADM810RARTZ sein. Könnte also passen.
5V an SVS ist doch ok. Ist ja die Versorgung vom IC aber hat ja mehrere 
Sense und die Ausgänge sind Open Drain sollte also auch passen mit Reset 
Leitung.


Ist das ein Display Anschluss das Flachbandkabel?
Bekommst du die Belegung über den Display Typ / Datenblatt raus?

Beim AM335 sind die RGB TTL Pins fürs Display nämlich auch die Bootstrap 
Pins ;-)

Da kannst du rausfinden was du betüdeln musst um die Bootquelle zu 
ändern...


Beruflich bin ich Hardware Entwickler für kundenspezifische 
Entwicklungen bei der Phytec ;-)

Also ja, ich entwickel ähnliche Platinen. Habe aber den Vorteil, dass 
ich meißt keine Flatdesigns sondern unsere SOMs einsetzten kann. Aber 
die Beschaltung von denen kenne ich halt auch...

Wenn man eine ordentliche Bauteillib (alle Bauteile bereits angelegt 
usw.) und etwas Erfahrung / ggf. erprobte Schaltungsteile welche 
wiederverwendet werden können (Schaltregler usw.) Und natürlich den 
Prozessor mit seinen Eigenheiten usw. gut kennt, schafft man einen 
Schaltplan für eine solche Platine wie du da zeigst in 1-1,5 Wochen. 
Schon mit etwas Puffer eingeplant aber ich weiß jetzt nicht was Siemens 
da noch alles vorgesehen, aber nicht bestückt hat.
Das Layout dauert wohl auch 1-2 Wochen, manches auf der Platine geht 
schnell anderes dauert länger (DDR3 Anbindung) hängt aber auch vom 
genutzten Programm ab. Wir nutzen Mentor DxDesigner und Expedition PCB 
da kann man sehr viel einstellen (Impedanz, Differential Pairs, 
Längenabgleiche, Routing Reihenfolge usw.) was alles beim Layouten hilft 
und die Zeit verkürzt. Und unsere Layouter machen halt nichts anderes 
als Layouts seit zig Jahren...

: Bearbeitet durch User
von No Y. (noy)


Lesenswert?

Und wie sieht es aus?

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.