MSP430 IAR Adresse von Variablen anpassen

Gast #2263062
Lesenswert?

Hallo zusammen,

ich habe folgendes Problem:

Anscheinend sind 4 Byte im RAM meines MSP430 defekt, d.h. sie lassen 
sich nicht beschreiben.
Zum Test habe ich eine 2. Variable deklariert (400-Byte-Array) und diese 
beschrieben--> funktioniert
Also einfach:

for (unsigned short i = 0; i<=399; i++)
{
Daten1[i] = 23;  //Daten1[20] bis Daten1[23] bleiben 0
Daten2[i] = 23;  //i.O.
}

Wie kann ich die Adresse der Variable Daten1[] ändern bzw. dem Linker 
das mitteilen?
Ansonsten muss ich wohl den MC mühsam auswechseln, da ich nur begrenzt 
RAM zur Verfügung habe.

Danke + Gruß
Andreas
Gast #2263071
Lesenswert?

du musst das linker script ändern, da sollte sowas stehen

/* Default linker script, for normal executables */
OUTPUT_FORMAT("elf32-msp430","elf32-msp430","elf32-msp430")
OUTPUT_ARCH(msp:16)
MEMORY
{
  text   (rx)     : ORIGIN = 0x8000,  LENGTH = 0x7fe0
  data   (rwx)    : ORIGIN = 0x0200,   LENGTH = 0x400,
  vectors (rw)    : ORIGIN = 0xffe0,      LENGTH = 0x20
  bootloader(rx)  : ORIGIN = 0x0c00,  LENGTH = 1K
  infomem(rx)    : ORIGIN = 0x1000,  LENGTH = 256
  infomemnobits(rx)  : ORIGIN = 0x1000,      LENGTH = 256
}

du kannst da einfach die origin werte ändern, und die länge anpassen.
die variablen landen in "data"
Gast #2263104
Lesenswert?

Versorgungsspannung ist konstant auf 3.3V

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=1C00-33 
FF
-Z(DATA)CODE_I
-Z(DATA)CSTACK+_STACK_SIZE#
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Im Linker Configuration-File ist der RAM von Adresse 1C00-33FF belegt.
Ich probiere mal, den Bereich auf 2 Bereiche zu deklarieren, wo die 4 
Bytes nicht enthalten sind.
Letztendlich, wird alles auf einen neuen MC hinauslaufen, aber ich 
bekomme erst in 2 Wochen meine bestellten Platinen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren