TI中文支持网
TI专业的中文技术问题搜集分享网站

DSP内存分配失败,急求原因

单片机是DSP28027 

这是MAP文件
MEMORY CONFIGURATION

         name            origin    length      used     unused   attr    fill
———————-  ——–  ———  ——–  ——–  —-  ——–
PAGE 0:
  P_RAML0               00008000   00000980  0000062e  00000352  RWIX
  OTP                   003d7800   00000400  00000000  00000400  RWIX
  FLASHB_D              003f0000   00006000  00003b5c  000024a4  RWIX
  D_FLASHA              003f6000   00001f80  00000088  00001ef8  RWIX
  CSM_RSVD              003f7f80   00000076  00000000  00000076  RWIX
  BEGIN                 003f7ff6   00000002  00000002  00000000  RWIX
  CSM_PWL_P0            003f7ff8   00000008  00000000  00000008  RWIX
  IQTABLES              003fe000   00000b50  00000000  00000b50  RWIX
  IQTABLES2             003feb50   0000008c  00000000  0000008c  RWIX
  IQTABLES3             003febdc   000000aa  00000000  000000aa  RWIX
  ROM                   003ff27c   00000d44  00000000  00000d44  RWIX
  RESET                 003fffc0   00000002  00000000  00000002  RWIX
  VECTORS               003fffc2   0000003e  00000000  0000003e  RWIX

PAGE 1:
  RAMM0_M1              00000000   00000800  00000797  00000069  RWIX
  D_RAML0               00008980   00000680  00000000  00000680  RWIX

SECTION ALLOCATION MAP

output                                  attributes/
section   page    origin      length       input sections
——–  —-  ———-  ———-   —————-
.pinit     0    003f0000    00000000     UNINITIALIZED

ramfuncs   0    003f0000    0000062e     RUN ADDR = 00008000
                  003f0000    00000515     ctrl.obj (ramfuncs)
                  003f0515    000000c5     proj_lab02c.obj (ramfuncs:retain)
                  003f05da    00000032     flash.obj (ramfuncs)
                  003f060c    0000001e     hal.obj (ramfuncs)
                  003f062a    00000004     usDelay.obj (ramfuncs)

.text      0    003f062e    0000345a     
                  003f062e    00000e94     fast_public.lib : ctrl_priv.obj (.text)
                  003f14c2    00000930     hal.obj (.text)
                  003f1df2    00000462     user.obj (.text)
                  003f2254    00000460     proj_lab02c.obj (.text)
                  003f26b4    0000043c     ctrl.obj (.text)
                  003f2af0    000002f0     pwm.obj (.text)
                  003f2de0    000002b8     drv8301.obj (.text)
                  003f3098    000001f8     adc.obj (.text)
                  003f3290    00000168     gpio.obj (.text)
                  003f33f8    0000012b     clk.obj (.text)
                  003f3523    00000102     pie.obj (.text)
                  003f3625    000000a9     spi.obj (.text)
                  003f36ce    0000006d     cap.obj (.text)
                  003f373b    0000005b     pll.obj (.text)
                  003f3796    00000055     proj_lab02c.obj (.text:retain)
                  003f37eb    00000047     pwr.obj (.text)
                  003f3832    00000046     wdog.obj (.text)
                  003f3878    00000045     offset.obj (.text)
                  003f38bd    00000044     rts2800_ml.lib : boot.obj (.text)
                  003f3901    00000032     timer.obj (.text)
                  003f3933    0000002d     osc.obj (.text)
                  003f3960    0000002a     rts2800_ml.lib : l_div.obj (.text)
                  003f398a    00000027     cpu.obj (.text)
                  003f39b1    00000021     filter_fo.obj (.text)
                  003f39d2    00000021     rts2800_ml.lib : fs_toul.obj (.text)
                  003f39f3    00000020     flash.obj (.text)
                  003f3a13    0000001d     rts2800_ml.lib : fs_tou.obj (.text)
                  003f3a30    00000019                    : args_main.obj (.text)
                  003f3a49    00000019                    : exit.obj (.text)
                  003f3a62    00000010     memCopy.obj (.text)
                  003f3a72    00000009     rts2800_ml.lib : _lock.obj (.text)
                  003f3a7b    00000008     CodeStartBranch.obj (.text)
                  003f3a83    00000005     pie.obj (.text:retain)

.cinit     0    003f3a88    000000d4     
                  003f3a88    000000ba     proj_lab02c.obj (.cinit)
                  003f3b42    0000000a     rts2800_ml.lib : _lock.obj (.cinit)
                  003f3b4c    0000000a                    : exit.obj (.cinit)
                  003f3b56    00000004     drv8301.obj (.cinit)
                  003f3b5a    00000002     –HOLE– [fill = 0]

.econst    0    003f6000    00000088     
                  003f6000    0000005c     fast_public.lib : ctrl_priv.obj (.econst)
                  003f605c    0000001c     ctrl.obj (.econst)
                  003f6078    00000008     user.obj (.econst)
                  003f6080    00000004     hal.obj (.econst)
                  003f6084    00000004     proj_lab02c.obj (.econst)

codestart 
*          0    003f7ff6    00000002     
                  003f7ff6    00000002     CodeStartBranch.obj (codestart)

.reset     0    003fffc0    00000002     DSECT
                  003fffc0    00000002     rts2800_ml.lib : boot.obj (.reset)

vectors    0    003fffc2    00000000     DSECT

.stack     1    00000000    00000400     UNINITIALIZED
                  00000000    00000400     –HOLE–

.ebss      1    00000400    000002d3     UNINITIALIZED
                  00000400    000002c8     proj_lab02c.obj (.ebss)
                  000006c8    00000004     rts2800_ml.lib : _lock.obj (.ebss)
                  000006cc    00000004                    : exit.obj (.ebss)
                  000006d0    00000002     drv8301.obj (.ebss)
                  000006d2    00000001     cpu.obj (.ebss)

rom_accessed_data 
*          1    00000700    000000c4     UNINITIALIZED
                  00000700    000000c4     hal.obj (rom_accessed_data)

GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE

qin jiang:

下面是CMD文件MEMORY{PAGE 0:    /* Program Memory */           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */   OTP         : origin = 0x3D7800, length = 0x000400     /* on-chip OTP */   CSM_RSVD    : origin = 0x3F7F80, length = 0x000076     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */   BEGIN       : origin = 0x3F7FF6, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */   CSM_PWL_P0  : origin = 0x3F7FF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA */   IQTABLES    : origin = 0x3FE000, length = 0x000B50     /* IQ Math Tables in Boot ROM */   IQTABLES2   : origin = 0x3FEB50, length = 0x00008C     /* IQ Math Tables in Boot ROM */   IQTABLES3   : origin = 0x3FEBDC, length = 0x0000AA     /* IQ Math 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  */   FLASHB_D    : origin = 0x3F0000, length = 0x006000     /* on-chip FLASH B, C and D */   D_FLASHA    : origin = 0x3F6000, length = 0x001F80     /* on-chip FLASH A */   P_RAML0     : origin = 0x008000, length = 0x000980     /* on-chip PRAM block L0 */PAGE 1 :   /* Data Memory */           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */           /* Registers remain on PAGE1                                                  */   RAMM0_M1    : origin = 0x000000, length = 0x000800     /* on-chip RAM block M0 + M1. 0x600 to 0x800 reserved for InstaSPIN */   D_RAML0     : origin = 0x008980, length = 0x000680     /* on-chip DRAM block L0 */}/* Allocate sections to memory blocks.   Note:         codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code                   execution when booting to flash         ramfuncs  user defined section to store functions that will be copied from Flash into RAM*/SECTIONS{   /* Allocate program areas: */   .cinit              : > FLASHB_D     PAGE = 0   .pinit              : > FLASHB_D,    PAGE = 0   .text               : > FLASHB_D     PAGE = 0   codestart           : > BEGIN        PAGE = 0   ramfuncs            : LOAD = FLASHB_D,                         RUN = P_RAML0,                         LOAD_START(_RamfuncsLoadStart),                         LOAD_END(_RamfuncsLoadEnd),                         RUN_START(_RamfuncsRunStart),                         PAGE = 0   csmpasswds          : > CSM_PWL_P0   PAGE = 0   csm_rsvd            : > CSM_RSVD     PAGE = 0   /* Allocate uninitalized data sections: */   .stack              : > RAMM0_M1     PAGE = 1   .ebss               : > RAMM0_M1     PAGE = 1   .esysmem            : > RAMM0_M1     PAGE = 1   ebss_extension      : > P_RAML0      PAGE = 0   rom_accessed_data   : > RAMM0_M1     PAGE = 1   vib_buf_data               : > D_RAML0      PAGE = 1   graph_data                   : > D_RAML0      PAGE = 1   /* Initalized sections go in Flash */   /* For SDFlash to program these, they must be allocated to page 0 */   .econst             : > D_FLASHA,    PAGE = 0   .switch             : > D_FLASHA,    PAGE = 0   /* Allocate IQ math areas: */   IQmath              : > FLASHB_D     PAGE = 0            /* Math Code */   IQmathTables        : > IQTABLES,    PAGE = 0, TYPE = NOLOAD   IQmathTables2    : > IQTABLES2, PAGE = 0, TYPE = NOLOAD   {              IQmath.lib<IQNexpTable.obj> (IQmathTablesRam)   }   /*   IQmathTables3    : > IQTABLES3, PAGE = 0, TYPE = NOLOAD   {              IQmath.lib<IQNasinTable.obj> (IQmathTablesRam)   }   .reset              : > RESET,      PAGE = 0, TYPE = DSECT   vectors             : > VECTORS     PAGE = 0, TYPE = DSECT}

单片机是DSP28027 

这是MAP文件
MEMORY CONFIGURATION

         name            origin    length      used     unused   attr    fill
———————-  ——–  ———  ——–  ——–  —-  ——–
PAGE 0:
  P_RAML0               00008000   00000980  0000062e  00000352  RWIX
  OTP                   003d7800   00000400  00000000  00000400  RWIX
  FLASHB_D              003f0000   00006000  00003b5c  000024a4  RWIX
  D_FLASHA              003f6000   00001f80  00000088  00001ef8  RWIX
  CSM_RSVD              003f7f80   00000076  00000000  00000076  RWIX
  BEGIN                 003f7ff6   00000002  00000002  00000000  RWIX
  CSM_PWL_P0            003f7ff8   00000008  00000000  00000008  RWIX
  IQTABLES              003fe000   00000b50  00000000  00000b50  RWIX
  IQTABLES2             003feb50   0000008c  00000000  0000008c  RWIX
  IQTABLES3             003febdc   000000aa  00000000  000000aa  RWIX
  ROM                   003ff27c   00000d44  00000000  00000d44  RWIX
  RESET                 003fffc0   00000002  00000000  00000002  RWIX
  VECTORS               003fffc2   0000003e  00000000  0000003e  RWIX

PAGE 1:
  RAMM0_M1              00000000   00000800  00000797  00000069  RWIX
  D_RAML0               00008980   00000680  00000000  00000680  RWIX

SECTION ALLOCATION MAP

output                                  attributes/
section   page    origin      length       input sections
——–  —-  ———-  ———-   —————-
.pinit     0    003f0000    00000000     UNINITIALIZED

ramfuncs   0    003f0000    0000062e     RUN ADDR = 00008000
                  003f0000    00000515     ctrl.obj (ramfuncs)
                  003f0515    000000c5     proj_lab02c.obj (ramfuncs:retain)
                  003f05da    00000032     flash.obj (ramfuncs)
                  003f060c    0000001e     hal.obj (ramfuncs)
                  003f062a    00000004     usDelay.obj (ramfuncs)

.text      0    003f062e    0000345a     
                  003f062e    00000e94     fast_public.lib : ctrl_priv.obj (.text)
                  003f14c2    00000930     hal.obj (.text)
                  003f1df2    00000462     user.obj (.text)
                  003f2254    00000460     proj_lab02c.obj (.text)
                  003f26b4    0000043c     ctrl.obj (.text)
                  003f2af0    000002f0     pwm.obj (.text)
                  003f2de0    000002b8     drv8301.obj (.text)
                  003f3098    000001f8     adc.obj (.text)
                  003f3290    00000168     gpio.obj (.text)
                  003f33f8    0000012b     clk.obj (.text)
                  003f3523    00000102     pie.obj (.text)
                  003f3625    000000a9     spi.obj (.text)
                  003f36ce    0000006d     cap.obj (.text)
                  003f373b    0000005b     pll.obj (.text)
                  003f3796    00000055     proj_lab02c.obj (.text:retain)
                  003f37eb    00000047     pwr.obj (.text)
                  003f3832    00000046     wdog.obj (.text)
                  003f3878    00000045     offset.obj (.text)
                  003f38bd    00000044     rts2800_ml.lib : boot.obj (.text)
                  003f3901    00000032     timer.obj (.text)
                  003f3933    0000002d     osc.obj (.text)
                  003f3960    0000002a     rts2800_ml.lib : l_div.obj (.text)
                  003f398a    00000027     cpu.obj (.text)
                  003f39b1    00000021     filter_fo.obj (.text)
                  003f39d2    00000021     rts2800_ml.lib : fs_toul.obj (.text)
                  003f39f3    00000020     flash.obj (.text)
                  003f3a13    0000001d     rts2800_ml.lib : fs_tou.obj (.text)
                  003f3a30    00000019                    : args_main.obj (.text)
                  003f3a49    00000019                    : exit.obj (.text)
                  003f3a62    00000010     memCopy.obj (.text)
                  003f3a72    00000009     rts2800_ml.lib : _lock.obj (.text)
                  003f3a7b    00000008     CodeStartBranch.obj (.text)
                  003f3a83    00000005     pie.obj (.text:retain)

.cinit     0    003f3a88    000000d4     
                  003f3a88    000000ba     proj_lab02c.obj (.cinit)
                  003f3b42    0000000a     rts2800_ml.lib : _lock.obj (.cinit)
                  003f3b4c    0000000a                    : exit.obj (.cinit)
                  003f3b56    00000004     drv8301.obj (.cinit)
                  003f3b5a    00000002     –HOLE– [fill = 0]

.econst    0    003f6000    00000088     
                  003f6000    0000005c     fast_public.lib : ctrl_priv.obj (.econst)
                  003f605c    0000001c     ctrl.obj (.econst)
                  003f6078    00000008     user.obj (.econst)
                  003f6080    00000004     hal.obj (.econst)
                  003f6084    00000004     proj_lab02c.obj (.econst)

codestart 
*          0    003f7ff6    00000002     
                  003f7ff6    00000002     CodeStartBranch.obj (codestart)

.reset     0    003fffc0    00000002     DSECT
                  003fffc0    00000002     rts2800_ml.lib : boot.obj (.reset)

vectors    0    003fffc2    00000000     DSECT

.stack     1    00000000    00000400     UNINITIALIZED
                  00000000    00000400     –HOLE–

.ebss      1    00000400    000002d3     UNINITIALIZED
                  00000400    000002c8     proj_lab02c.obj (.ebss)
                  000006c8    00000004     rts2800_ml.lib : _lock.obj (.ebss)
                  000006cc    00000004                    : exit.obj (.ebss)
                  000006d0    00000002     drv8301.obj (.ebss)
                  000006d2    00000001     cpu.obj (.ebss)

rom_accessed_data 
*          1    00000700    000000c4     UNINITIALIZED
                  00000700    000000c4     hal.obj (rom_accessed_data)

GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE

Johnson Chen1:

回复 qin jiang:

请问编译提示哪部分空间不足呢?

赞(0)
未经允许不得转载:TI中文支持网 » DSP内存分配失败,急求原因
分享到: 更多 (0)