Forum: Compiler & IDEs Bottloader: Mehrere Programme im AVR?


von Stefan Seegel (Gast)


Lesenswert?

Tach Leute!

Ich hab nun schon vieles hier im Forum über Bootloader hier im Forum
gelesen, aber irgendwie fehlt bei mir im Hirnkasten noch der gewisse
"Gehirnfurz" zum Verständis:

Ich möchte gerne zwei oder mehr verschiedene Programme in einem AVR
haben, und per DIP Schalter wählen, welches nach dem Einschalten
gestartet wird. Geht das prinzipiell Überhaupt oder hab ich das mit dem
Bootloader völlig falsch verstanden ?
Wie muss ich diese Unterschiedlichen Programme dann anlegen ? Alles in
getrennten Projekten ? Wie krieg ich dann die verschiedenen .hexen in
den AVR ? Oder alles in einem Projekt ? (mehrere main.c Dateien?) Wie
sag ichs dann dem GCC ?
Weiß da jemand ein HowTo/Tutorial ?

So grob von der Funktion stelle ich mir das so vor:

*** BOOTLOADER ***
switch (DIPSCHALTER) {
  case 1:
    Starte Programm 1 (main1)
  case 2:
    Starte Programm 2 (main2)
usw.

Wäre nett wenn mich da jemand auf den "rechten Weg" führen könnte.

MfG
Stefan

von Jörg Wunsch (Gast)


Lesenswert?

Hat so keinen Sinn.

Warum legst Du die entsprechende Entscheidung nicht in das main()
Deiner Applikation?

von Stefan Seegel (Gast)


Lesenswert?

Hallo Jörg!

> "Hat so keinen Sinn."

Alles klar, das ist eigentlich dass was ich wissen wollte, sowas ist
also nicht Sinn eines Bootloaders :-)

Danke und Gruß,

Stefan

von Eugen d (Gast)


Lesenswert?

gehen würde es aber über eventuell eigene sections die man dem linker
und dem bootloader mitteilt ;-)

von DerMax (Gast)


Lesenswert?

das problem wäre dann aber das die interrupt vektoren immer an der
selben stelle stehen müssen (nämlich ganz am anfang vom Flash)
und wnen man mehrere programm hat die die gleichen Interrupts benutzen
bekommt man zwangsläufig ein problem

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.