mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik persistente GPIO-Konfiguration


Autor: Simon Budig (nomis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits.

Ich suche nach einer Möglichkeit, die Bootpins einer CPU "nachträglich" 
umzukonfigurieren. Eine Möglichkeit wäre ein IC, das eigentlich nicht 
mehr als ein paar bit EEPROM darstellt, und diese auf seinen Anschlüssen 
rausführt.

Eine Overkill-Möglichkeit wäre vermutlich einer von den kleinen AVRs, 
der (unprogrammiert) seine IO-Pins als Eingänge konfiguriert hat, die 
Bootpins können also mit Pullup/downs auf die gewünschte initiale 
Konfiguration gelegt werden. Später kann der AVR dann mit einem 
Minimalprogramm programmiert werden, welches die Pins als Output mit 
konfiguriert und so den Bootmodus der CPU persistent ändern.

Das einzige was hier nicht passt, ist dass ein attiny[4,5,9,10] gerne 
mit 5V programmiert würde, die CPU aber nur 3.3V IO-Pins hat. Wenn da 
jetzt noch Pegelwandler etc. dazwischen müssten, wird es endgültig 
Overkill...

Fallen Euch Alternativen ein? Es muss nicht unbedingt eine reversible 
Lösung sein, obwohl das schick wäre...

Viele Grüße,
        Simon

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin nicht sicher, ob ich verstanden habe warum es geht. Aber für 
mich klingt es, also ob du krampfhaft nach einem Ersatz für ein 
Mäuseklavier suchst.
http://produkt.conrad.de/45973183/dil-schalter-10-polig.htm

Autor: Simon Budig (nomis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joh, ein Mäuseklavier, das ich von der CPU aus umschalten kann  :)

Viele Grüße,
        Simon

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon Budig schrieb:
> Ich suche nach einer Möglichkeit, die Bootpins einer CPU "nachträglich"
> umzukonfigurieren.

Was sind denn Bootpins?
Was für eine CPU?


Peter

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon Budig schrieb:
> Es muss nicht unbedingt eine reversible
> Lösung sein
Hä? DU kannst natürlich einfach eine normale GLassicherung nehmen mit 
möglichst kleinem Auslösestrom, dann einmal vom uC kurzschließen und 
schon hast du dein eigenes EPROM. Wenn du Sicherungshalter nimmst kannst 
du sogar das ganze bei Bedarf "reversibel" machen ;)

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon Budig schrieb:
> Hallo allerseits.
>
> Ich suche nach einer Möglichkeit, die Bootpins einer CPU "nachträglich"
> umzukonfigurieren. Eine Möglichkeit wäre ein IC, das eigentlich nicht
> mehr als ein paar bit EEPROM darstellt, und diese auf seinen Anschlüssen
> rausführt.

Dafür gibt es sogenannte State Saver:

http://de.farnell.com/ramtron/fm1107/fram-state-sa...

fchk

Autor: Simon Budig (nomis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal vielen Dank für die Antworten.

Die FRAMs sind cool, Samples sind bestellt   :)
(wobei mich etwas irritiert, dass in den Datenblättern anscheinend nix 
über den Auslieferungszustand des Speichers drinsteht...)

Eine Sicherung ist natürlich auch möglich, allerdings erstaunlich 
teuer...

Um die Frage nach den Bootpins noch zu beantworten:

Es gibt diverse CPUs (Blackfin, diverse ARM-Varianten) die kein Flash 
oder Eeprom enthalten (wie man das z.B. von den AVRs kennt). Damit die 
an ihr Programm/Betriebssystem zum Ausführen kommen, haben die einen 
ROM-Bootloader eingebaut, der z.B. das Programm aus NOR-Flash laden und 
dann anspringen kann. Das muss aber nicht die einzige Möglichkeit sein: 
Es gibt CPUs die von USB, Ethernet, NAND-Flash, etc. pp. booten können.

Der ROM-Bootloader muss irgendwoher die Information bekommen, welche der 
möglichen Optionen er denn nun verwenden soll. Typischerweise gibt es 
für diesen Zweck eine Handvoll von sog. Bootpins, die der Hardwerker auf 
einen definierten Pegel legt und damit festlegt, dass die CPU z.B. aus 
dem NAND booten soll.

Wenn das System also aus dem NAND booten soll und man die Pins 
entsprechend konfiguriert, hat man ein Problem: wie kriegt man ein 
initiales System auf die Hardware? Entweder man kauft vorprogrammiertes 
NAND oder man bespielt das System via JTAG o.ä. Beide Optionen haben 
ihre Lästigkeiten.

Wenn man die Bootpins aber so gestaltet, dass die einmal umkonfiguriert 
werden können, könnte man die Hardware so (fertig) bauen, das Gerät 
einmal an z.B. Ethernet anschließt, die CPU in ein Spezialprogramm 
bootet, welches (auch wieder fix über Ethernet) das eigentliche 
Betriebssystem ins NAND flasht und anschließend die Bootpins 
umkonfiguriert. Dann ist das System fertig und kann nicht mehr "aus 
Versehen" neu geflasht oder gar gebrickt werden, weil zufällig im 
Netzwerk ein Bootserver was halbwegs passendes liefert...

Viele Grüße,
         Simon

Autor: Stefan Kunz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn du so vorgehen willst, kannst du auch gleich das Programm über 
Jtag in den Nand schieben, da ich keinen Chip kenne, der einen 
eingebauten Bootloader über Ethernet hat. Und wenn du über Ethernet 
flashen willst, mußt du das Programm auch erstmal da reinbekommen, also 
wofür doppelten aufwand betreiben? nebenei kannste auch einfach PullUp 
Widerstände nehmen und die bei Bedarf rein und raus löten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.