Forum: Mikrocontroller und Digitale Elektronik GPIO auf High ganz am Boot/Start Anfang? Raspberry pi


von epidm (Gast)


Lesenswert?

Hallo, GPIO auf High ganz am Anfang vom Booten setzen, nicht erst kurz 
vor dem Login, wie geht das (system Raspberry pi Raspbian Jessie)?

per sudo crontab -e ist zu spät

von Michael U. (amiga)


Lesenswert?

Hallo,

und "wie üblich" geht nicht?
Passenden PullUp an den GPIO. Der dürfte auch beim Raspi nach Reset 
Input sein bis er von der Software angefaßt wird.
Was ist "ganz am Anfang" in ms?

Ganz am Anfang startet der PasPi Bootlader der GPU und versucht an eine 
SD-Card zu kommen. Der lädt dann erstmal, was Linux so zum Booten 
braucht usw. usw.
Der frühzeste Zugriff dürfe über die config.txt der Bootpartition sein, 
ich bezweifle aber stark, daß man da GPIOs beeinflussen kann.

Gruß aus Berlin
Michael

von Nick S. (c0re)


Lesenswert?

epidm schrieb:
> Hallo, GPIO auf High ganz am Anfang vom Booten setzen, nicht erst
> kurz vor dem Login, wie geht das (system Raspberry pi Raspbian Jessie)?
> per sudo crontab -e ist zu spät

Du musst schon warten bis das Linux, welchen den Pin kontrolliert, auch 
da ist...

von Georg (Gast)


Lesenswert?

epidm schrieb:
> ganz am Anfang

Das geht nur, indem der Reset-Zustand der Hardware benutzt wird, also 
z.B. ein Pin, der nach Reset ein Eingang ist, plus ein Pullup. Ein 
Betriebssystem kommt viel zu spät.

Georg

von Benjamin S. (recycler)


Lesenswert?

Dazu solltest du dir den Linux Bootvorgang ansehen.

Erst kommt der Bootloader, dann der Kernel, dann der Init Prozess der im 
Login endet (nur mal so grob).

Soweit ich weiß, ist der BL nicht frei zugänglich.
Aber spätestens beim Kernel kannst du den Device Tree so ändern, wie die 
Pins haben willst. Wie das geht, kann dir Google sagen.

Andere Möglichkeit ist, die Pins über Pull-up/down zu konfigurieren oder 
du baust eine externe Schaltung, die das erledigt.

von epidm (Gast)


Lesenswert?

>>Andere Möglichkeit ist, die Pins über Pull->>up/down zu konfigurieren oder du 
baust eine >>externe Schaltung, die das erledigt

Problem aber es sollte nach dem Power einstecken sicher 100ms zuerst auf 
low sein und dann erst auf high gehen.. vielleicht muss ich es mit einem 
0.1uF noch versuchen.
Der Pin muss auf High sobald boottexte am Display sichtbar sind. (ist 
quasi für ein Power On PIN an einem 5" TFT. Das TFT ist per RGB bzw. 
DPI18 overlay angeschlossen.)

Es gibt gemäss google neben crontab -e noch andere 
Autostart-Möglichkeiten, doch welche von all Denen startet am frühesten 
und kann GPIO steuern?

von Mick (Gast)


Lesenswert?

Das sollte mit einem DT Overlay funktionieren. Einen ersten Ansatz 
findest du bestimmt in diesem Artikel: 
http://blog.gegg.us/2017/01/setting-up-a-gpio-button-keyboard-on-a-raspberry-pi/

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.