verschiedene programme im avr

Gast #402387
Lesenswert?
• ▲
▼
hallo, ich möchte ein grundprogramm in den avr laden und von da aus
verschiedenene andere routinen ausführen lassen. die routinen sollen
alles einzelprogramme sein, die nacheinander geladen werden sollen in
den avr.

das grundprogramm soll dann zb zur flashadresse 6500 springen und nach
ausführung wieder zurueck. ist so etwas durchführbar? und wo legt man
die ladeadressen fest.

wenn ich jetzt oben ein programm reinlade, wird das unterer immer
gelöscht, auch wenn es adressmäßig nicht in konflikt kommt?
Gast #402389
Lesenswert?
• ▲
▼
Das gleiche habe ich mir auch schon einmal überlegt, aber nicht
durchgeführt.

Anwendung bei mir: Ich habe ein Gerät (eine Hardware) die ich mit
verschiedenen Softwaren für verschiedene Zwecke gebrauchen kann. Jede
Software ist dabei völlig eigenständig entwickelt, d.h. jede hat ein
main().

Praktisch ist das eigentlich recht einfach zu lösen. Man muss die
jeweiligen Programme in verschiedene nichtüberlappende Speicherbereiche
compilieren. Dann eine Art Bootloader Program schreiben, dass das
jeweilige Hauptprogramm startet.

Nachteil ist, dass man bei jedem Flashen alle Programme neu schreiben
muss. Sinnnvollerweise baut man sich also aus den einzelnen hex-files
ein grosses hex-file zusammen.
Gast #402391
Lesenswert?
• ▲
▼
Ich halte das aber für nicht so praktikabel, weil bei jedem
"Ladevorgang" das Flash beansprucht wird und somit bald verbraucht
ist. Was ist denn gegen einen Controller mit viel Flash (Mega 128 oder
größer) einzuwenden, der alle benötigten Programmteile beherbergt, die
dann von einer Art Menü aus gestartet werden. Da muß dann nichts
umgeladen werden und alle "Programme" sind sofort verfügbar. Ich
denke, daß 1 Hauptprogramm mit entprechend vielen Unterprogrammen den
Zweck besser erfüllt - aber muß jeder selber wissen.
Gast #402393
Lesenswert?
• ▲
▼
ich habe einen roboter mit einem avr32 mmc-karte 128mb und einer
gameboycam dran. die routine für die mmc-karte(schreiben /lesen) kriege
ich nur mit winavr-c zum laufen (klappt wunderbar).

den anderen rest progge ich mit fasvar-basic.

oder!!!! gibt es irgendwo eine mmc-routine für einen avr in asm, das
würde mir auch helfen, weil ich den originalen asm-code dann mit
fastavr-basic einlesen kann.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.