This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSP2812生成的.out文件有200多K,实际烧写到flash的时候用了多少K?



DSP2812生成的.out文件有200多K,内部SRAM实际只用了12K存放代码,烧写到flash时也只使用了一个16K存放代码,

想问如何获取实际下载或者烧写的代码大小?

  •  不一定,实际大小要看map文件,你看吧.map文件贴出来,可以一起一起算一下

  • 对应在内部SRAM中调试的CMD如图

  • CMD只能知道你的分配情况,你的项目在编译后会有一个.map文件,他会有一个分析告诉你内存的使用情况,把这个贴出来看一下

  • ******************************************************************************
    TMS320C2000 COFF Linker PC v4.1.3
    ******************************************************************************
    >> Linked Fri Aug 26 15:23:01 2016

    OUTPUT FILE NAME: <./Debug/JDmotion.out>
    ENTRY POINT SYMBOL: "_c_int00" address: 003f98f7


    MEMORY CONFIGURATION

    name origin length used attr fill
    ---------------------- -------- --------- -------- ---- --------
    PAGE 0: RAMM0 00000000 00000400 00000024 RWIX
    RAML0 00008000 00001000 00000e4c RWIX
    DSRAM0 00100000 00040000 00000000 RWIX
    BEGIN 003f8000 00000002 00000002 RWIX
    PRAMH0 003f8002 00001ffe 00001f18 RWIX
    BOOTROM 003ff000 00000b50 00000b50 RWIX
    RESET 003fffc0 00000002 00000000 RWIX

    PAGE 1: RAMM1 00000400 00000400 00000400 RWIX
    DEV_EMU 00000880 00000180 000000d2 RWIX
    FLASH_REGS 00000a80 00000060 00000008 RWIX
    CSM 00000ae0 00000010 00000010 RWIX
    XINTF 00000b20 00000020 00000020 RWIX
    CPU_TIMER0 00000c00 00000008 00000008 RWIX
    PIE_CTRL 00000ce0 00000020 0000001a RWIX
    PIE_VECT 00000d00 00000100 00000100 RWIX
    ECANA 00006000 00000040 00000034 RWIX
    ECANA_LAM 00006040 00000040 00000040 RWIX
    ECANA_MOTS 00006080 00000040 00000040 RWIX
    ECANA_MOTO 000060c0 00000040 00000040 RWIX
    ECANA_MBOX 00006100 00000100 00000100 RWIX
    SYSTEM 00007010 00000020 00000020 RWIX
    SPIA 00007040 00000010 00000010 RWIX
    SCIA 00007050 00000010 00000010 RWIX
    XINTRUPT 00007070 00000010 00000010 RWIX
    GPIOMUX 000070c0 00000020 00000020 RWIX
    GPIODAT 000070e0 00000020 00000020 RWIX
    ADC 00007100 00000020 0000001a RWIX
    EVA 00007400 00000040 00000032 RWIX
    EVB 00007500 00000040 00000032 RWIX
    SCIB 00007750 00000010 00000010 RWIX
    MCBSPA 00007800 00000040 00000025 RWIX
    RAML1 00009000 00001000 000002ec RWIX
    DSRAM1 00140000 00040000 00000000 RWIX
    CSM_PWL 003f7ff8 00000008 00000008 RWIX


    SECTION ALLOCATION MAP

    output attributes/
    section page origin length input sections
    -------- ---- ---------- ---------- ----------------
    .switch 0 00000000 00000024
    00000000 00000024 CanProcess.obj (.switch)

    .pinit 0 00008000 00000000 UNINITIALIZED

    ramfuncs 0 00008000 00000bfd
    00008000 0000001c AD5752.obj (ramfuncs)
    0000801c 00000080 DataBank.obj (ramfuncs)
    0000809c 0000004f DSP281x_CpuTimers.obj (ramfuncs)
    000080eb 00000170 DSP281x_ECan.obj (ramfuncs)
    0000825b 000000cb DSP281x_Ev.obj (ramfuncs)
    00008326 000000ae DSP281x_Gpio.obj (ramfuncs)
    000083d4 00000023 DSP281x_PieCtrl.obj (ramfuncs)
    000083f7 00000020 DSP281x_PieVect.obj (ramfuncs)
    00008417 0000000a DSP281x_Spi.obj (ramfuncs)
    00008421 00000017 DSP281x_SysCtrl.obj (ramfuncs)
    00008438 00000004 DSP281x_usDelay.obj (ramfuncs)
    0000843c 0000004c DSP281x_Xintf.obj (ramfuncs)
    00008488 00000064 EXT_RAM.obj (ramfuncs)
    000084ec 000001cd isr.obj (ramfuncs)
    000086b9 00000287 SPlan.obj (ramfuncs)
    00008940 0000013c Tools.obj (ramfuncs)
    00008a7c 00000181 VPlan.obj (ramfuncs)

    .cinit 0 00008bfd 0000024f
    00008bfd 0000003a AGC_Control.obj (.cinit)
    00008c37 000000dc CanProcess.obj (.cinit)
    00008d13 00000057 DataBank.obj (.cinit)
    00008d6a 00000020 DSP281x_Ev.obj (.cinit)
    00008d8a 00000005 EXT_FLASH.obj (.cinit)
    00008d8f 0000000a EXT_RAM.obj (.cinit)
    00008d99 00000028 Guide.obj (.cinit)
    00008dc1 0000000a isr.obj (.cinit)
    00008dcb 0000001c SPlan.obj (.cinit)
    00008de7 00000010 status.obj (.cinit)
    00008df7 0000002e Tools.obj (.cinit)
    00008e25 0000000a VPlan.obj (.cinit)
    00008e2f 0000000e rts2800_ml.lib : exit.obj (.cinit)
    00008e3d 0000000a : _lock.obj (.cinit)
    00008e47 00000004 : errno.obj (.cinit)
    00008e4b 00000001 --HOLE-- [fill = 0]

    codestart
    * 0 003f8000 00000002
    003f8000 00000002 DSP281x_CodeStartBranch.obj (codestart)

    textfuncs
    * 0 003f8002 00001469
    003f8002 000000ef AD5752.obj (textfuncs)
    003f80f1 000007dc AGC_Control.obj (textfuncs)
    003f88cd 00000609 CanProcess.obj (textfuncs)
    003f8ed6 00000082 DSP281x_ECan.obj (textfuncs)
    003f8f58 000001b8 EEPROM.obj (textfuncs)
    003f9110 00000070 Guide.obj (textfuncs)
    003f9180 00000082 PID.obj (textfuncs)
    003f9202 00000076 Scia_232.obj (textfuncs)
    003f9278 000000be status.obj (textfuncs)
    003f9336 00000135 Tools.obj (textfuncs)

    .text 0 003f946b 00000a12
    003f946b 0000001f AD5752.obj (.text)
    003f948a 00000012 DSP281x_Adc.obj (.text)
    003f949c 00000008 DSP281x_CodeStartBranch.obj (.text)
    003f94a4 0000014f DSP281x_DefaultIsr.obj (.text)
    003f95f3 00000011 DSP281x_InitPeripherals.obj (.text)
    003f9604 00000001 DSP281x_Mcbsp.obj (.text)
    003f9605 00000015 DSP281x_MemCopy.obj (.text)
    003f961a 00000009 DSP281x_PieCtrl.obj (.text)
    003f9623 00000001 DSP281x_Sci.obj (.text)
    003f9624 0000001e DSP281x_Spi.obj (.text)
    003f9642 00000059 DSP281x_SysCtrl.obj (.text)
    003f969b 000000bc EXT_FLASH.obj (.text)
    003f9757 0000009a tianlang.obj (.text)
    003f97f1 00000067 Tools.obj (.text)
    003f9858 0000009f rts2800_ml.lib : atan.obj (.text)
    003f98f7 00000044 : boot.obj (.text)
    003f993b 0000004a : exit.obj (.text)
    003f9985 00000083 : fd_mpy.obj (.text)
    003f9a08 0000001f : fd_tol.obj (.text)
    003f9a27 00000078 : fs_add.obj (.text)
    003f9a9f 00000017 : fs_cmp.obj (.text)
    003f9ab6 00000083 : fs_div.obj (.text)
    003f9b39 0000005a : fs_mpy.obj (.text)
    003f9b93 00000005 : fs_neg.obj (.text)
    003f9b98 0000001c : fs_tofd.obj (.text)
    003f9bb4 00000025 : fs_toi.obj (.text)
    003f9bd9 00000029 : fs_tol.obj (.text)
    003f9c02 0000001d : fs_tou.obj (.text)
    003f9c1f 00000021 : fs_toul.obj (.text)
    003f9c40 0000001a : i_tofs.obj (.text)
    003f9c5a 00000041 : memcpy.obj (.text)
    003f9c9b 0000008f : sin.obj (.text)
    003f9d2a 00000051 : sqrt.obj (.text)
    003f9d7b 00000092 : tan.obj (.text)
    003f9e0d 00000010 : u_tofs.obj (.text)
    003f9e1d 00000013 : ul_tofs.obj (.text)
    003f9e30 00000009 : _lock.obj (.text)
    003f9e39 00000014 : args_main.obj (.text)
    003f9e4d 00000030 : ldexp.obj (.text)

    举个例子,RAML0 Length是1000,Used是e4c,所以你的RAML0就用了这么多,按照这个道理,把所有memory加起来就知道了。