Speicheraufteilung TMS320F28335

Gast #908294
Lesenswert?

Hallo,
Ich hab noch ein Problem mit meinem DSP TMS320F28335.
Beim linken erscheint die Fehlermeldung

   Use
            -heap option to change the default size.
>>   error: can't allocate .text, size 00009b3f (page 0) in FLASHA (avail:
            00007f80)
>>   error: can't allocate .ebss, size 000011c8 (page 1) in RAML4 (avail:
            00001000)

Die Speicheraufteilung sieht wie folgt aus:

MEMORY
{
PAGE 0:    /* Program Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for 
data allocation */

   ZONE0 : origin = 0x004000, length = 0x001000  /* XINTF zone 0 */
   RAML0 : origin = 0x008000, length = 0x001000  /* on-chip RAM block L0 
*/
   RAML1 : origin = 0x009000, length = 0x001000  /* on-chip RAM block L1 
*/
   RAML2 : origin = 0x00A000, length = 0x001000  /* on-chip RAM block L2 
*/
   RAML3 : origin = 0x00B000, length = 0x001000  /* on-chip RAM block L3 
*/
   ZONE6 : origin = 0x0100000, length = 0x100000 /* XINTF zone 6 */
   ZONE7A: origin = 0x0200000, length = 0x00FC00 /* XINTF zone 7 - 
program space */
   FLASHH: origin = 0x300000, length = 0x008000  /* on-chip FLASH */
   FLASHG: origin = 0x308000, length = 0x008000  /* on-chip FLASH */
   FLASHF: origin = 0x310000, length = 0x008000  /* on-chip FLASH */
   FLASHE: origin = 0x318000, length = 0x008000  /* on-chip FLASH */
   FLASHD: origin = 0x320000, length = 0x008000  /* on-chip FLASH */
   FLASHC: origin = 0x328000, length = 0x008000  /* on-chip FLASH */
   FLASHA: origin = 0x338000, length = 0x007F80  /* on-chip FLASH */
   CSM_RSVD    : origin = 0x33FF80, length = 0x000076     /* Part of 
FLASHA.  Program with all 0x0000 when CSM is in use. */
   BEGIN       : origin = 0x33FFF6, length = 0x000002     /* Part of 
FLASHA.  Used for "boot to Flash" bootloader mode. */
   CSM_PWL     : origin = 0x33FFF8, length = 0x000008     /* Part of 
FLASHA.  CSM password locations in FLASHA */
   OTP         : origin = 0x380400, length = 0x000400     /* on-chip OTP 
*/
   ADC_CAL     : origin = 0x380080, length = 0x000009     /* ADC_cal 
function in Reserved memory */

   IQTABLES: origin = 0x3FE000, length = 0x000b50  /* IQ Math Tables in 
Boot ROM */
   IQTABLES2: origin = 0x3FEB50, length = 0x00008c /* IQ Math Tables in 
Boot ROM */
   FPUTABLES   : origin = 0x3FEBDC, length = 0x0006A0     /* FPU Tables 
in Boot ROM */
   ROM         : origin = 0x3FF27C, length = 0x000D44     /* Boot ROM */
   RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of 
boot ROM  */
   VECTORS     : origin = 0x3FFFC2, length = 0x00003E     /* part of 
boot ROM  */

PAGE 1 :   /* Data Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for 
program allocation */
           /* Registers remain on PAGE1 
*/

   BOOT_RSVD   : origin = 0x000000, length = 0x000050     /* Part of M0, 
BOOT rom will use this for stack */
   RAMM0       : origin = 0x000050, length = 0x0003B0     /* on-chip RAM 
block M0 */
   RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM 
block M1 */
   RAML4       : origin = 0x00C000, length = 0x001000     /* on-chip RAM 
block L1 */
   RAML5       : origin = 0x00D000, length = 0x001000     /* on-chip RAM 
block L1 */
   RAML6       : origin = 0x00E000, length = 0x001000     /* on-chip RAM 
block L1 */
   RAML7       : origin = 0x00F000, length = 0x001000     /* on-chip RAM 
block L1 */
   ZONE7B      : origin = 0x20FC00, length = 0x000400     /* XINTF zone 
7 - data space */
   FLASHB      : origin = 0x330000, length = 0x008000     /* on-chip 
FLASH */
}

Kann mir jemand nen Tipp geben, wie ich die Speicheraufteilung 
bearbeiten kann?

mfg
Marco
#908598
Lesenswert?

Du kannst es doch selbst verändern wie du es brauchst, also statt
   FLASHC: origin = 0x328000, length = 0x008000  /* on-chip FLASH */
   FLASHA: origin = 0x338000, length = 0x007F80  /* on-chip FLASH */

z.B. sowas schreiben
   FLASHA: origin = 0x328000, length = 0x00FF80  /* on-chip FLASH */

Damit sollte es egtl. gehen solange FLASHC nicht irgendwo verändert 
wird, ansonsten kannst du die Bereiche einfach etwas verschieben. Origin 
ist die Startadresse und length die Länge der Sektion.
Gast #911521
Lesenswert?

> Damit sollte es egtl. gehen solange FLASHC nicht irgendwo verändert
> wird, ansonsten kannst du die Bereiche einfach etwas verschieben. Origin
> ist die Startadresse und length die Länge der Sektion.
Sollte egtl. verwendet statt verändert heißen, aber da es geklappt 
hat ist das ja egal... ;)

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