mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bascom und externes EPROM an Atmega64


Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da ich soweit noch nicht weitergekommen bin,
hier meine Frage an Euch:
Ist es möglich mit Bascom ein Programm so zu
compilieren, dass ich es in einem Eprom speichern kann,
von dem aus dann der Atmega64 'läuft',
d.h. dass das Programm allein vom externen EPROM aus läuft
und nicht mehr vom internen Flash-Rom?

Für Euer Feedback wäre ich sehr dankbar !
Johannes

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BASCOM kann deinen Code auch nur in ASM bzw. Maschinencode umwandeln,
denn der AVR kann kein BASCOM, er kann nur Maschinencode (entspricht 1
zu 1 ASM-Code).
Ein Blick ins Datenblatt deines AVRs wird dir zeigen, welche
Speicherarten und Adressbereiche dein AVR hat und auf welche Art die
ASM-Befehle auf diese Speicher zugreifen können.

Du wirst sehen, dass Programmcode im Programmspeicher stehen muss, um
ausgeführt werden zu können. Und Programmspeicher ist nunmal der
interne Flash-Speicher.

Wenn du unbedingt mit externem Programmspeicher (EPROM) arbeiten
willst, dann solltest du dich mal bei den '51ern umsehen, da gibt es
glaube Möglichkeiten. Genaues weiß ich aber nicht, ich kenne mich nur
bei AVRs (halbwegs) aus.

...

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, mit Bascom ist das nicht möglich (s. Antwort oben).
Es gäbe einen Workaround: In den Flash des Atmel wird ein Interpreter
programmiert, der dann die Befehle aus dem externen EEPROM
interpretiert (Stichwort: Bytecode). Allerdings musst Du dann den
Interpreter und den dazugehörigen Compiler schreiben.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nei, ist es nicht!
Es liegt auch nicht an BASCOM, sondern an der AVR-Architektur, dass
Programme nur aus dem internen  Flash abgearbeitet werden können.

@Hannes & thkais: warum so lange Antworten?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> warum so lange Antworten?

Z.B.:

- Um zu zeigen, dass man das auch ohne unsere Hilfe erfahren kann,
  wenn man einfach mal ins Datenblatt des betreffenden Teils schaut.

- Um nicht als arrogant, unhöflich und nicht hilfsbereit dazustehen.

;-)
Grüß die Sprotten...

...

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>- Um nicht als arrogant, unhöflich und nicht hilfsbereit dazustehen.

bin ich aber gerne...
Der Satz von mir sagt doch alles aus. Über die Architektur eines AVR
steht eher wenig im Datenblatt...

Grüß mir die Christstollen...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Grüß mir die Christstollen...

Nee, ich nin da nur auf halbem Wege... Die Dresd'ner Christstollen
kommen nicht aus Magdeburg...

...

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
....es wäre allgemein schön wenn alle die Aussagen und Antworten andere
einfachstehen lassen würden, ohne sie zu bewerten,
jeder leistet den Beitrag den er kann !!!


Auf jedenfall vielen Dank Euch allen für das Feedback!

Viele Grüsse
Johannes

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun wird man für das Helfen auch noch beschimpft...

...

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwer hat hier was falsch verstanden...
Meine Antwort lief nur darauf hinaus, dass man das auch ziemlich kurz
beantworten kann: "Nö, geht nicht!"
Es war ja nicht gefragt, ob man das über den Umweg eines anderen
Controllers oder einen Byte-Interpreter machen kann, sondern nur, ob
man das machen kann. Nö, geht nicht. Liegt an der Architektur des AVR.

>Nun wird man für das Helfen auch noch beschimpft...

Manche wissen haben Hilfe halt einfach nicht verdient...
@Hannes: Gebracht zu haben, scheint es ihm ja auch nichts...

Autor: MicroMann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendie lese ich hier keine Beschimpfung. Ich glaube ihr überreagiert.

Ich finde die Lösungsansätze sehr interessant, und ein einfaches 'Nö
wegen Architektur' bildet die Wahrheit ungenügend ab (Verhindert
höchstens unangenehme Nachfragen).

Ob man den Aufwand für einen Interpreter aufbringen mag oder kann
sollte  jedem selbst überlassen bleiben.

So long.

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich mein der Basic Compiler muß ja auch irgenwie das Basic in ASM
übersetzen, man könnte ja für jeden Befehl eine unteroutine bauen, und
in der dann einfach das was der Bascom Compiler dafür erzeugen würde
einsetzen fg
Fertig ist der Basic Interpreter :D

(Naja ganz so einfach isses dann auch nicht aber wenn ers versuchen
will sollte man ihn nicht aufhalten)

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.