单片机是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:
请问编译提示哪部分空间不足呢?