Zitat Zitat von CowZ
Hi,

da ich ein etwas umfangreicheres Board mit einem Mega32 plane, wollte ich euch fragen, ob es möglich ist, dessen Programmspeicher zu erweitern. Der hat ja "nur" 32Kb (sind das jetzt eigentlich KB oder KiB?)

Oder, wenn es beim Mega32 nicht geht, kann das überhaupt einer der AVRs?
Nein. AVRs können kein Programmcode aus externem Flash-Speicher (wie auch immer angeschlossen) ausführen.
Was ebenfalls nicht geht bei AVR, ist Programmcode aus dem RAM (egal ob intern oder extern) oder aus dem EEPROM auszuführen.

Die Möglichkeit, Programmcode nachzuladen, besteht. Diese Möglichkeit ist aber keineswegs trivial. Dazu brauchst du einen Bootloader (easy) und einen dynamischen Linker. Zudem muss deine Software entscheiden können, welche Module vorhanden sind, welche gebraucht und nachgeladen werden müssen, wie die Abhängkeiten zwischen den Modulen sind, es muss entschieden werden, wo diese Module hingeladen werden sollen und es muss Interfaces geben, um diese Module (die ja immer woanders stehen können) von deinem Programmcode und auch von den Modulen aus(!) anspringen zu können.

Dazu dient wie gesagt ein dynamischer Linker. Wenn du den erst noch proggen willst, hast du garantiert keine Zeit mehr frei für deine eigentlichen Aufgaben

Ergo: Man wählt einen µC, dessen Ressourcen ausreichen. Um das wiederum abzuschätzen, ist Erfahrung notwendig, die du offenbar hast -- sonst würdest du kein solches Projekt planen... Also wähle einen µC der deinen Ansprüchen genügt, bzw eine Programmiersprache/Compiler die hinreichen dichten Code generiert.

Zu letzerem Punkt sei angemerkt, daß Assembler oft nur in der Theorie den dichtesten Code liefert. Ein optimierender Compiler wie GCC ist da oft besser als ein Asm-Programmierer, weil er Optimierungsstrategien einsetzt, von denen manche Programmierer noch nicht mal wissen, daß es sie gibt ...