Forum: Mikrocontroller und Digitale Elektronik M16C mit NC30 Compiler, Tutorial oder andere gute Anleitung


von Benedikt (Gast)


Lesenswert?

Kennt jemand ein Tutorial, eine Anleitung oder sonstiges zum NC30
Compiler ?
Das Orginalmanual ist nicht gerade ausführlich, und beantwortet die
wenigsten von meinen Fragen,
wie z.B. kann ich ein externes EPROM direkt einlesen ?
Einzelne Byteadressen lassen sich mit
#pragma ADDRESS LCD_Daten 40000H
volatile char LCD_Daten;

#pragma ADDRESS LCD_Befehl 40001H
volatile char LCD_Befehl;

...
LCD_Daten=123;
usw.
ansprechen.

Um jetzt aber ein 32kB EPROM an Adress 78000 auszulesen, habe ich
folgendes versucht:

#pragma ADDRESS EPROM 78000H
volatile char EPROM[32768];

Ich bekomme aber nur Datenmüll...
Gibt es keine andere Möglichkeit um einen Speicherbereich in C
einzulesen ?

von judge (Gast)


Lesenswert?

Schau mal ins Programming Manual (C) und ins Datasheet. Es gibt zwei
Adressierungsweisen: Einmal über das "#pragma ADDRESS ... ..." und
dann über Pointer "*(char *)...". Hilfreich (Beispiele) sind auch die
Application notes (z.B. External Bus).
Wie Du das Eprom auslesen musst hängt davon ab welche
Chip-Select-Leitung und welchen Controller (M16C/62A?) Du verwendest.
Jeder CS-Leitung ist ein bestimmter Bereich zugeordnet. Beim M16C/62A
beispielsweise beginnt CS3 bei 0x04000.
Um nun die Adresse 0x02 des externen Bausteins auszulesen müsstest Du
dann die Adresse 0x04002 ansprechen.
Mit CS3 sind bei dem Controller allerdings nur 16 kb addressierbar
(ohne das reserved bit, vgl. Datasheet).

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.