Forum: Mikrocontroller und Digitale Elektronik Renesas M16C 30626FJPGP - Code in BLOCK A


von Christopher S. (schinken)


Lesenswert?

Hallo!

Ich hätte da mal ne Frage, hat von euch schonmal Code im Block A gelinkt 
und ausgeführt?

Ich hab meinen Code an Adresse 0x0f000 gelinkt - er hat ihn hochgeladen, 
aber ausführbar war er irgendwie nicht...

Hab ich vielleicht irgendetwas übersehen, oder geht es wirklich einfach 
nur nicht?


MFG
Schinken

von Obelix (Gast)


Lesenswert?

Es müsste eigendlich gehen, aber wie siehts mit den Vectoren knapp 
unterhalb von 0x0fffff aus? sind die auch richtig programmiert? Hast du 
den Flash mal ausgelesen, und geschaut ob dein Programm wirklich an 
Adresse 0x00f000 liegt?

von Mike (Gast)


Lesenswert?

Hallo,
ich nutze auch den Block A, allerdings nicht für ausführbaren Code, 
sondern für ROM-Konstanten, auf die der Prozessor viel einfacher 
zugreifen kann als auf Memory oberhalb von 0x0FFFF. Allerdings ist die 
Programmierung etwas pfriemelig, ich habe bisher noch keinen Programmer 
gefunden, der Block A programmieren kann. Ich musste den Flasher 
entsprechend modifizieren. Ausserdem musste noch das Bit PM10 auf 1 
gesetzt (Block A enable) werden, für genaueres guck mal ins Datenblatt!

Gruss
Mike

von Frank (Gast)


Lesenswert?

Hallo,

ich kann mich noch dran erinnern, daß bei Verwendung der unteren Blöcke 
die Speichererweiterung eingeschaltet werden muß. Damit wird RAM und ROM 
auf die maximal verfügbare Größe erweitert.

Gruss

Frank

von Mike (Gast)


Lesenswert?

Hier zur Info mein Initialisierungscode für die Processor-Mode Register

Gruss
Mike

mov.b  #02h,PRCR    ;unprotect PM registers
mov.b  #0C1h,PM0    ;set memory expansion mode
mov.b  #02h,CSR    ;enable CS1, no wait
mov.b  #0Fh,PM1    ;set reserved area expansion, CS1 address space to 12 
bits, activate block A
bclr  PRC1      ;reenable protection

von Obelix (Gast)


Lesenswert?

Liegt dein Init-Code denn außerhalb von Block-A?

von Mike (Gast)


Lesenswert?

Ja, das muss so sein, da der Block A beim Reset deaktiviert ist (PM10 
ist per default 0). Ein direkter Start in Block A ist m.W. daher nicht 
möglich.

Gruss
Mike

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.