-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Programm auf einer SD?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.10.2007
    Beiträge
    8

    Programm auf einer SD?

    Anzeige

    Ich wollte mal wissen, ob man ein assemblerprogramm auf einer SD-karte speichern kann. Und später natürlich von nem µ-Controller verwenden kann. Ich hab nämlich noch nen atmega8er rumliegen. aber möchte gern ein wesentlich größeres Programm laufen lassen. könnte mir einer erklären, wie das geht bzw. nicht geht?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    Es geht theoretisch schon. Das Problem ist die Harvardarchitektur, die es nicht ermöglicht, Programme aus einem anderen Speicher als dem internen Flashspeicher auszuführen. Du könntest allerdings so ne Art Interpreter für deinen Code schreiben. Der müsste dann den Code von der SDC lesen, auswerten und in AVR-Maschinenbefehle abbilden. Musst halt für dich selbst abwägen, obs dir das wert ist.
    Aber mal so aus Interesse: was soll das Programm machen, wenn das wesentlich größer als der interne Flash ist?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630
    Ist zwar interessant, aber ich würde einfach n größeren Controller nehmen
    Wie schon gesagt wird es dir die Struktur, die eigentlich sehr gut ist!, nicht leicht machen.
    Gruß Thomas \/

    Alles über AVR, PIC und CAN
    blog.cc-robotics.de

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    03.11.2004
    Ort
    Süderlügum
    Alter
    36
    Beiträge
    86
    Man muss ja nicht zwingend einen AVR oder PIC oder sowas nehmen, dann geht das schon.

    Jahrzehntelang wurde es genauso gemacht, nur meisstens hatten die nen EPROM oder ROM statt einem Flashspeicher, aber nie eine SD-Karte. Da müsste man also vielleicht nochmal ein Interface basteln, dafür könnte man dann z.B. nen AVR nehmen.

    An Chips die das eigentliche Programm bearbeiten fällt mir auf Anhieb ein:
    8088
    W78C31B (ist meine ich ein 8051er-Clon)

    Mehr hab ich grad nicht in der Bastelkiste liegen.

    MfG

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.01.2006
    Ort
    Mönchengladbach
    Beiträge
    544
    Hi zusammen,
    um es kurz zu machen: Es gibt keinen Mikrocontroller, der ein Programm direkt von einer SD-Karte ausführen kann, da dies nicht sinnvoll ist. Eine SD-Karte wird üblicherweise mit einem Dateisystem formatiert und das kann sich ja ändern(FAT32, FAT16, EXT2, EXT3,...). Man kann aber hingehen und einen Controller mit einem BIOS ausrüsten, der dann einen Bootloader von irgendwo lädt und dann das Assemblerprogramm von der SD-Karte ins RAM laden und dort ausführen. Sowas kann man z.B. mit dem AVR32 oder dem ARM7 machen. Beim normalen AVR bleibt einem aber nichts anderes übrig als eine Virtuelle Maschine zu programmieren, die das Programm interpretiert.... das ist aber um einiges langsamer als ein normales Assemblerprogramm.

    Gruß,
    SIGINT

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    12.10.2007
    Beiträge
    8
    Danke schonmal. Einen größeren Controller könnt ich selbstverständlich holen, aber drei dinge interessieren mich an dem Thema:
    1. mehr speicher (SDC mit z.B. 1gb)
    2. einfacheres programmieren (kein isp)
    3. einfach aus Interesse

    Wenn mir einer ne Seite geben kann, auf der das mit dem BIOS erklärt wird.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.01.2006
    Ort
    Mönchengladbach
    Beiträge
    544
    Ulrich Radig hat da ne interesannte Seite zum Thema:
    http://www.ulrichradig.de/home/index.php/arm/clinux4arm

    Du siehst, daß es nicht mehr so einfach ist wie ein einfacher AVR (und auch etwas teuerer)... aber den Bootloader sollte man auch auf einen kleinen ARM portieren können, wobei du preislich dann bei einem mittleren AVR landest. (LPC2103 3,80€ bei Reichelt)

    Gruß,
    SIGINT

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Beiträge
    274
    die Mega128er haben doch die Möglichkeit externes Ram anzuschließen?

    Kann man darin nicht den Code ausführen? Man müsste ja nur von SD auf Ram kopieren und run.

  9. #9
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die AVR können direkt nur das Programm aus dem Flash laufen lassen. Im RAM könte man nur einen code ablegen der dann in einem Interpreter oder Emulator läuft, aber natürlich relativ langsam. Wäre höchstens für java oder so was interessant, aber die AVR Controller haben eher zu wenig RAM dafür, und mit externem RAM wird das ganze viel zu kompliziert.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.02.2007
    Ort
    BA-Wü
    Alter
    25
    Beiträge
    165
    Darf ich mal fragen, was das Programm macht? Vielleicht kann man ja den Code einfach für 2 µC aufteilen, die dann z.B. mit I2C verbunden ist.
    Viele Grüße,
    Michael

    Sn60Pb40 Rulez
    www.silvestercountdown.de.vu- Dein Countdown bis Neujahr!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •