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
Gast
#556749
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?
Gast
#556757
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
Gast
#556787
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
Gast
#556796
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
Gast
#556800
Liegt dein Init-Code denn außerhalb von Block-A?
Gast
#556808
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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.