www.mikrocontroller.net

Forum: Compiler & IDEs Bootloader für µC - System über Bus


Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen, mal kurz eine Frage bezüglich Bootloader.

Ich Arbeite zurzeit an einem Design mit LPC2138 und Attiny261. Die 
beiden sind über eine UART verbunden nur als neben Info.

Ich möchte später die beiden über eine Software updaten können 
(Bootloader). Der LPC hat ja einen, ob ich diese verwenden kann oder 
nicht weis ich noch nicht. Für den AVR gibt’s ja auch einiges im 
Internet was man eventuell anpassen könnte.

Es soll mal so funktionieren, dass ich über RS485 nur dem LPC ein File 
schicke in dem beide Hexfiles verpackt sind. Der ARM schnappt sich seins 
und das für den AVR sendet er weiter. Ich denke ihr wisst was ich meine, 
ist ja auch nichts besonders. Dennoch habe ich davon noch sehr viel 
Respekt und es erstmal ganz nach hinten geschoben. Geht so was auch wie 
ich mir das Vorstelle? Ich denke schon oder!

Jetzt noch zum eigentlichen Problem ich möchte nicht einen Pin nach 
Masse ziehen beim einschalten. Die LPC´s (es sind mehrere) hängen an 
einem Bus und ich möchte dies über diesen Bus updaten. Es gibt dann ein 
spezielles Kommando für den Update  usw. Geht auch da bin ich mir sicher 
nur muss ich was Spezielles in der Hardware vorsehen? Ich habe auf dem 
Bus ja kein RTS und CTS. :-)

Besten Dank im Voraus

mathias

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mgiaco wrote:
> Ich Arbeite zurzeit an einem Design mit LPC2138 und Attiny261. Die
> beiden sind über eine UART verbunden nur als neben Info.

Daß der ATtiny261 keine UART hat, weißt Du aber?


> Jetzt noch zum eigentlichen Problem ich möchte nicht einen Pin nach
> Masse ziehen beim einschalten. Die LPC´s (es sind mehrere) hängen an
> einem Bus und ich möchte dies über diesen Bus updaten. Es gibt dann ein
> spezielles Kommando für den Update  usw. Geht auch da bin ich mir sicher
> nur muss ich was Spezielles in der Hardware vorsehen? Ich habe auf dem
> Bus ja kein RTS und CTS. :-)

Ich mach das einfach so, daß nach nem Reset etwa 0,3s geprüft wird, ob 
ein bestimmter String über die UART reinkommt. Wenn nicht, dann startet 
der Bootloader die Applikation.
Damit braucht man keine extra Schalter und der Bootloader kann nicht 
versehentlich unerreichbar werden.


Peter

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay super danke. Der hat aber ein USI. Wird aber dann mit deinem 
Bootlaoder nicht gehen oder :-(. Habe ich übersehen danke.

Mathias

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mgiaco wrote:
> Okay super danke. Der hat aber ein USI. Wird aber dann mit deinem
> Bootlaoder nicht gehen oder :-(.

Ne, mein Bootloader läuft ab ATtiny13, macht also ne SW-UART.
Er hat ja auch nichts weiter zu tun.

Und nur mit SW-UART kann man die Polung umdrehen (kein MAX232 notwendig) 
bzw. nur einen Pin für RXD und TXD nehmen.


Peter

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke.

Das mit der Polung, keine Ahnung was du da meinst aber werde ich sicher 
noch drauf kommen.

Okay das heisst aber es müsste doch gehen ich kann ja genau die Pin´s 
nehmen die ich dan auch für die UART(mit USI) nehmen.

Stell mir das so vor: Ich sende einen Befehl an den AVR dieser springt 
dann in den Bootloader an (ich hoffe man kann das, weis ich nocht nicht) 
und von da an läufts mit der SW UART des Bootloaders. -> Klingt ja 
einfach, wird aber sicher sehr kompliziert denke ich. Aber müsste gehen 
oder nicht?

danke

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.