imx233: GPIO-Pin via Pullup auf "High" --> Bootet nicht mehr

Hallo,

gerade habe ich eine gefühlte Ewigkeit einen Fehler auf meiner Platine gesucht. Die Basisplatine (Olinuxino Maxi) bootet aber kaum steckt meine Tochterplatine drauf bleibt er vor dem Bootvorgang stecken.

Ich habe vereinfacht folgende Schaltung auf meiner Platine:

______ ______ +3.3V ----|______|----+-----|______|---- GPIO-Eingang 10k | 10k | Signalquelle ---------'

Die Signalquelle hat am "Ausgang" den Kollektor eines Transistors der gegen GND schaltet.

Wenn ich nun einfach mit Steckbrücken einen 10k-Widerstand zwischen 3,3V und den fraglichen GPIO-Pin hänge, dann bootet die Platine reproduzierbar nicht mehr. Wenn der Bootvorgang eingeleitet ist, kann ich meinen Pullup anklemmen und alles läuft wie geplant.

Falls jemand etwas damit anfangen kann: Ich nutze "Pin2" vom Olinuxino. Laut Datenblatt ist das "MX23_PAD_LCD_D01__LCD_D1". Im System ist es "GPIO33".

Wie kann man das ganze so umbauen, dass der Bootvorgang nicht gestört wird?

Danke im Voraus

Gruß

Manuel

Reply to
Manuel Reimer
Loading thread data ...

Manuel Reimer schrieb:

Anderen GPIO nehmen. Ich kenne mich mit dem Board oder dem verwendeten Prozessor ja nicht aus, aber ein kurzer Blick wahlweise ins "User Manual" des Boards oder ins "Reference Manual" der Prozessorfamilie verrät sofort, dass LCD_D01 einer der Pins ist, der den "Boot Mode" festlegt, also von welchen Speichermedium der Prozessor versucht zu booten.

Christian

--
Christian Zietz  -  CHZ-Soft  -  czietz (at) gmx.net 
WWW: http://www.chzsoft.de/ 
PGP/GnuPG-Key-ID: 0x6DA025CA
Reply to
Christian Zietz

Ist vermutlich ein Pin, der während des Resets eine andere Bedeutung hat. Gibt da manchmal Pins, die z.B. bei High während des Resets einen Bootloader starten o.ä. Einfach mal ins Datenblatt schauen (oder ggf. auch dem Schaltplan des Olinuxion Maxi) und einen passenden anderen Pin nehmen.

Oder wenn das nicht geht, die Reset-Leitung suchen (falls vorhanden) und per 7400 mit deiner Signalquelle verknüpfen (jeweils ein Gatter bei Bedarf zur Invertierung eines Signals), sodaß während des Resets der GPIO-Eingang auf Low bleibt. Falls keine Reset-Leitung da ist, ein RC-Glied für eine manuelle Verzögerung dazubauen.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Genau das ist das Problem. Danke für den Tipp. Kritisch sind Pin 1 bis 4.

Gruß

Manuel

Reply to
Manuel Reimer

Was ein Aufwand. Den Widerstand einfach nach Reset statt nach +3,3 zu legen hätte es wohl auch getan. Natürlich kann man die Leitung in der Richtung nicht sonderlich belasten, aber wegen einmal 10k würde ich mir noch keine Sorgen machen.

Marcel

Reply to
Marcel Müller

Oder den Widerstand nach +3,3V einfach weglassen und nach dem Booten den Pullup des betreffenden GPIO aktivieren.

Gruß

Stefan

Reply to
Stefan

Ja, sowas soll wohl gehen. Allerdings habe ich bisher nicht rausfinden können, wie genau.

Auf jedem Fall geht es wohl nicht unkompliziert über die Treiber-Schnittstelle sondern da wird wohl irgendein Hack nötig sein.

Der einfachere Weg war da dann doch einfach auf Pin 1 bis 4 zu verzichten und den Pullup in Hardware zu bestücken.

Gruß

Manuel

Reply to
Manuel Reimer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.