mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Speicheraufteilung TMS320F28335


Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael K. (kichi)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke hat geklappt.

mfg
Marco

Autor: Michael K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.