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.

CC1310: 关于MAP文件的有关问题

Part Number: CC1310
Other Parts Discussed in Thread: SYSBIOS,

各位专家:

我对项目的文件进行分析,有如下问题请教:

  • MEMORY CONFIGURATION
  • name            origin    length      used     unused   attr    fill
  • ---------------------- --------  ---------  --------  --------  ----  --------
  • FLASH                 00000000   0001e000  0001cb10  000014f0  R  X
  • FLASH_NV          0001e000   00001000  00001000  00000000  RW X
  • FLASH_LAST      0001f000   00001000  00001000  00000000  R  X
  • SRAM                  20000000   00005000  00003aae  00001552  RW X

 通过以上文件输出可以看到FLASH,SRAM 的使用情况,CODE 使用FLASH 0001cb10 ,FLASH 未使用: 000014f0,继续查看FLASH 使用空间情况。

SEGMENT ALLOCATION MAP

run origin load origin length init length attrs members

..。。。。。。。。。

000014e0 000014e0 00000004 00000004 r-- .const:ti_sysbios_knl_Mailbox_Instance_State_freeQue__O
000014e4 000014e4 00000004 00000004 r-- .const:ti_sysbios_knl_Mailbox_Instance_State_freeSem__O
000014e8 000014e8 00000004 00000004 r-- .const:ti_sysbios_knl_Semaphore_Instance_State_pendQ__O
000014ec 000014ec 00000004 00000004 r-- .const:ti_sysbios_knl_Task_Module_State_inactiveQ__O
000014f0 000014f0 00000fd2 00000fd2 r-- config_const
000024c4 000024c4 0001a104 0001a104 r-x .text.4
0001c5c8 0001c5c8 00000550 00000550 r-- .cinit
0001e000 0001e000 00002000 00002000 r-x

看到0001c5c8 0001c5c8 00000550 00000550 r-- .cinit  起始地址:0001c5c8 长度:550

问题1:0001c5c8+550=1cb18   比上面统计的CODE 使用FLASH 0001cb10  多出8个字节,这是什么情况。

继续查看MAP文件:

MODULE SUMMARY

Module code ro data rw data
------ ---- ------- -------

汇总信息:

D:\ti\simplelink_cc13x0_sdk_4_10_03_10\kernel\tirtos\packages\ti\targets\arm\rtsarm\lib\auto_init.aem3
auto_init.oem3 160 0 0
+--+----------------------------------------+--------+---------+---------+
Total: 160 0 0

D:\ti\simplelink_cc13x0_sdk_4_10_03_10\kernel\tirtos\packages\ti\targets\arm\rtsarm\lib\boot.aem3
boot.oem3 68 0 0
+--+----------------------------------------+--------+---------+---------+
Total: 68 0 0

Stack: 0 0 1280
Linker Generated: 448 1352 0
+--+----------------------------------------+--------+---------+---------+
Grand Total: 111310 14351 15017

我们看到:

code   = 111310 

ro data   =14351

rw data=15017

问题2:

rw data=15017 应该时SRAM 使用情况,但是和前面显示的

  • SRAM                  20000000   00005000  00003aae  00001552  RW X  :使用  00003aae =15022 少了5个字节什么情况。

问题3:

code  +ro data 应该时FLASH 使用空间=125661

根据前面的显示:

  • FLASH                 00000000   0001e000  0001cb10  000014f0  R  X
  • FLASH_NV          0001e000   00001000  00001000  00000000  RW X
  • FLASH_LAST      0001f000   00001000  00001000  00000000  R  X

FLASH 使用空间= 0001cb10+00002000=125712 和(code  +ro data 应该时FLASH 使用空间=125661)空间使用计算的不一致时什么情况。

  • 您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

  • 您好,请问您使用的是哪个编译器来制作该map文件?

  • 好的感谢您提供的信息,是TI CCS编译器。

    工程师目前无法确定当您构建工程时该问题是如何发生的。

    您有没有对linker命令文件中的闪存定义进行任何更改? 通常如果对象overlapping,linker会出现一个错误。

    您是否可以检查您的map file是否在相关地址中也有其他内容?

    以及您是否使用 FLASH_NV 进行任何操作?

  • MEMORY CONFIGURATION

    name origin length used unused attr fill
    ---------------------- -------- --------- -------- -------- ---- --------
    FLASH 00000000 0001e000 0001c956 000016aa R X
    FLASH_NV 0001e000 00001000 00001000 00000000 RW X
    FLASH_LAST 0001f000 00001000 00001000 00000000 R X
    SRAM 20000000 00005000 00003bae 00001452 RW X

    SEGMENT ALLOCATION MAP

    run origin load origin length init length attrs members
    ---------- ----------- ---------- ----------- ----- -------
    00000000 00000000 0001c960 0001c960 r-x

    此时显示 1c956 0001c960  差4个字节。

    0001c408    0001c408    00000558   00000558    r-- .cinit  计算:0001c408+ 00000558=0001c960

    cinit 段

    .cinit 0 0001c408 00000558
    0001c408 0000041b (.cinit..data.load) [load image, compression = lzss]
    0001c823 00000028 (.cinit..data:ti_sysbios_family_arm_m3_Hwi_Module__state__V.load) [load image, compression = lzss]
    0001c84b 00000021 (.cinit..data:ti_sysbios_knl_Task_Module__state__V.load) [load image, compression = lzss]
    0001c86c 0000001f (.cinit..data:ti_sysbios_BIOS_Module__state__V.load) [load image, compression = lzss]
    0001c88b 0000001e (.cinit..data:ti_sysbios_knl_Clock_Module__state__V.load) [load image, compression = lzss]
    0001c8a9 00000010 (.cinit..data:ti_sysbios_knl_Swi_Module__state__V.load) [load image, compression = lzss]
    0001c8b9 00000003 --HOLE-- [fill = 0]
    0001c8bc 0000000c (__TI_handler_table)
    0001c8c8 0000000b (.cinit..data:ti_sysbios_family_arm_cc26xx_Timer_Module__state__V.load) [load image, compression = lzss]
    0001c8d3 00000005 --HOLE-- [fill = 0]
    0001c8d8 00000008 (.cinit..bss.load) [load image, compression = zero_init]
    0001c8e0 00000008 (.cinit..data:xdc_runtime_Memory_Module__state__V.load) [load image, compression = lzss]
    0001c8e8 00000007 (.cinit..data:ti_sysbios_family_arm_cc26xx_TimestampProvider_Module__state__V.load) [load image, compression = lzss]
    0001c8ef 00000007 (.cinit..data:xdc_runtime_Startup_Module__state__V.load) [load image, compression = lzss]
    0001c8f6 00000007 (.cinit..data:xdc_runtime_System_Module__state__V.load) [load image, compression = lzss]
    0001c8fd 00000003 --HOLE-- [fill = 0]
    0001c900 00000060 (__TI_cinit_table)

    0001c900 00000060 (__TI_cinit_table) 因该是这段引起的。与FLASH_NV 空间无关系。

  • 您好,您能再解释下您说的问题吗?

    您有没有对linker命令文件中的闪存定义进行任何更改? 通常如果对象overlapping,linker会出现一个错误。

    您是否可以检查您的map file是否在相关地址中也有其他内容?

    以及您是否使用 FLASH_NV 进行任何操作?

    您能否提供以上信息?

    因该是这段引起的。与FLASH_NV 空间无关系。

    您没有操作FLASH_NV 空间是吗?

  • 多谢回复:我在重复一下我出现的问题。

    我应用的是 simplelink_cc13x0_sdk_4_10_03_10 下的COLLECTOR 例程,

    项目链接命令文件 cc13x0lp.cmd 

    #define FLASH_BASE 0x00000000
    #ifdef ONE_PAGE_NV
    #define FLASH_SIZE 0x1E000
    #define FLASH_NV_BASE 0x1E000
    #define FLASH_NV_SIZE 0x1000
    #else
    #define FLASH_SIZE 0x1D000
    #define FLASH_NV_BASE 0x1D000
    #define FLASH_NV_SIZE 0x2000
    #endif
    #define FLASH_LAST_BASE 0x1F000
    #define FLASH_LAST_SIZE 0x1000
    #define RAM_BASE 0x20000000
    #define RAM_SIZE 0x5000


    /* System memory map */

    MEMORY
    {
    /* Application stored in and executes from internal flash */
    FLASH (RX) : origin = FLASH_BASE, length = FLASH_SIZE
    /* FLASH NV */
    FLASH_NV (RWX) : origin = FLASH_NV_BASE, length = FLASH_NV_SIZE
    /* Last flash page */
    FLASH_LAST (RX) : origin = FLASH_LAST_BASE, length = FLASH_LAST_SIZE
    /* Application uses internal RAM for data */
    SRAM (RWX) : origin = RAM_BASE, length = RAM_SIZE
    }

    /* Section allocation in memory */

    SECTIONS
    {
    .intvecs : > FLASH_BASE
    /*
    flash_last_text
    {
    nvocop.obj(.text)
    macTask.obj(.text)
    } > FLASH_LAST
    */
    .text : >> FLASH_LAST | FLASH

    config_const { mac_user_config.obj(.const) } > FLASH

    .const : > FLASH
    .constdata : > FLASH
    .rodata : > FLASH
    .cinit : > FLASH
    .pinit : > FLASH
    .init_array : > FLASH
    .emb_text : > FLASH
    .ccfg : > FLASH_LAST (HIGH)

    GROUP > SRAM
    {
    .data
    .bss
    mysection
    .vtable
    .vtable_ram
    vtable_ram
    .sysmem
    .nonretenvar

    } LOAD_END(heapStart)

    .stack : > SRAM (HIGH) LOAD_START(heapEnd)
    }

    /* Create global constant that points to top of stack */
    /* CCS: Change stack size under Project Properties */
    __STACK_TOP = __stack + __STACK_SIZE;
    //__STACK_TOP = __stack + 0x600;

    通过上面的.CMD 文件可以看到,对MEMORY 空间进行了定义,闪存中分了三个区域 FLASH  FLASH_NV  FLASH_LAST 和一个RAM 区域:SRAM

    /* Application uses internal RAM for data */
    SRAM (RWX) : origin = RAM_BASE, length = RAM_SIZE

    并且定义了各个段的输出区域。

    现在的问题是:应用编译链接后 在FLASH段分配的空间尺寸 通过MAP 文件对照不一致,只是分析FLASH段的空间分配,我想和FLASH_NV 和 FLASH_LAST内存区域无关。

    MAP 文件:

    MEMORY CONFIGURATION

    name origin length used unused attr fill
    ---------------------- -------- --------- -------- -------- ---- --------
    FLASH 00000000 0001e000 0001c956 000016aa R X
    FLASH_NV 0001e000 00001000 00001000 00000000 RW X
    FLASH_LAST 0001f000 00001000 00001000 00000000 R X
    SRAM 20000000 00005000 00003bae 00001452 RW X

    FLASH 00000000 0001e000 0001c956 000016aa R X 可以看到 该FLASH 段 SIZE=0001e000 和FLASH_SIZE  定义的一致,使用SIZE=0001c956 

    那么我们继续分析FLASH  区域的具体分配情况。

    SEGMENT ALLOCATION MAP

    run origin load origin length init length attrs members
    ---------- ----------- ---------- ----------- ----- -------
    00000000 00000000 0001c960 0001c960 r-x
    00000000 00000000 0000003c 0000003c r-- .resetVecs
    0000003c 0000003c 00000d86 00000d86 r-- .const

    我们看到 FLASH LENGTH=0001c960  此时就与上面(FLASH 00000000 0001e000 0001c956 000016aa R X)长度不一致。我疑惑的就是这个问题为什么不一致,这个问题是在FLASH段 发生的与其它段应该无关。

    那么我们继续往下看FLASH 的具体分配:

    00000000 00000000 0000003c 0000003c r-- .resetVecs
    0000003c 0000003c 00000d86 00000d86 r-- .const
    00000dc4 00000dc4 0000023c 0000023c r-x .text.1
    00001000 00001000 0000003c 0000003c r-- .const:ti_sysbios_knl_Task_Object__PARAMS__C
    0000103c 0000103c 00000034 00000034 r-- .const:ti_sysbios_knl_Mailbox_Object__PARAMS__C
    00001070 00001070 00000030 00000030 r-- .const:ti_sysbios_family_arm_m3_Hwi_Object__PARAMS__C
    000010a0 000010a0 0000002c 0000002c r-- .const:ti_sysbios_hal_Hwi_Object__PARAMS__C
    000010cc 000010cc 00000028 00000028 r-- .const:ti_sysbios_heaps_HeapMem_Module__FXNS__C
    000010f4 000010f4 00000028 00000028 r-- .const:ti_sysbios_knl_Swi_Object__PARAMS__C
    0000111c 0000111c 00000024 00000024 r-- .const:ti_sysbios_gates_GateHwi_Module__FXNS__C
    00001140 00001140 00000024 00000024 r-- .const:ti_sysbios_gates_GateMutex_Module__FXNS__C
    00001164 00001164 00000024 00000024 r-- .const:ti_sysbios_heaps_HeapMem_Object__PARAMS__C
    00001188 00001188 00000024 00000024 r-- .const:ti_sysbios_knl_Clock_Object__PARAMS__C
    000011ac 000011ac 00000024 00000024 r-- .const:ti_sysbios_knl_Semaphore_Object__PARAMS__C
    000011d0 000011d0 00000020 00000020 r-- .const:ti_sysbios_family_arm_m3_Hwi_Object__DESC__C
    000011f0 000011f0 00000020 00000020 r-- .const:ti_sysbios_gates_GateHwi_Object__DESC__C
    00001210 00001210 00000020 00000020 r-- .const:ti_sysbios_gates_GateMutex_Object__DESC__C
    00001230 00001230 00000020 00000020 r-- .const:ti_sysbios_hal_Hwi_Object__DESC__C
    00001250 00001250 00000020 00000020 r-- .const:ti_sysbios_heaps_HeapMem_Object__DESC__C
    00001270 00001270 00000020 00000020 r-- .const:ti_sysbios_knl_Clock_Object__DESC__C
    00001290 00001290 00000020 00000020 r-- .const:ti_sysbios_knl_Mailbox_Object__DESC__C
    000012b0 000012b0 00000020 00000020 r-- .const:ti_sysbios_knl_Queue_Object__DESC__C
    000012d0 000012d0 00000020 00000020 r-- .const:ti_sysbios_knl_Semaphore_Object__DESC__C
    000012f0 000012f0 00000020 00000020 r-- .const:ti_sysbios_knl_Swi_Object__DESC__C
    00001310 00001310 00000020 00000020 r-- .const:ti_sysbios_knl_Task_Object__DESC__C
    00001330 00001330 00000018 00000018 r-- .const:ti_sysbios_gates_GateHwi_Object__PARAMS__C
    00001348 00001348 00000018 00000018 r-- .const:ti_sysbios_gates_GateMutex_Object__PARAMS__C
    00001360 00001360 00000018 00000018 r-- .const:ti_sysbios_knl_Queue_Object__PARAMS__C
    00001378 00001378 00000008 00000008 r-- .const:ti_sysbios_knl_Idle_funcList__C
    00001380 00001380 00000004 00000004 r-x .text.2
    00001384 00001384 00000004 00000004 r-- .const:ti_sysbios_family_arm_cc26xx_Timer_startupNeeded__C
    00001388 00001388 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_E_alreadyDefined__C
    0000138c 0000138c 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_E_hwiLimitExceeded__C
    00001390 00001390 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_NUM_INTERRUPTS__C
    00001394 00001394 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_Object__count__C
    00001398 00001398 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_Object__table__C
    0000139c 0000139c 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_ccr__C
    000013a0 000013a0 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_excHandlerFunc__C
    000013a4 000013a4 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_nullIsrFunc__C
    000013a8 000013a8 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_numSparseInterrupts__C
    000013ac 000013ac 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_Hwi_priGroup__C
    000013b0 000013b0 00000004 00000004 r-- .const:ti_sysbios_family_arm_m3_TaskSupport_stackAlignment__C
    000013b4 000013b4 00000004 00000004 r-- .const:ti_sysbios_heaps_HeapMem_E_memory__C
    000013b8 000013b8 00000004 00000004 r-- .const:ti_sysbios_heaps_HeapMem_Module__gateObj__C
    000013bc 000013bc 00000004 00000004 r-- .const:ti_sysbios_heaps_HeapMem_Object__count__C
    000013c0 000013c0 00000004 00000004 r-- .const:ti_sysbios_heaps_HeapMem_Object__table__C
    000013c4 000013c4 00000004 00000004 r-- .const:ti_sysbios_heaps_HeapMem_reqAlign__C
    000013c8 000013c8 00000004 00000004 r-- .const:ti_sysbios_knl_Clock_serviceMargin__C
    000013cc 000013cc 00000004 00000004 r-- .const:ti_sysbios_knl_Mailbox_Object__count__C
    000013d0 000013d0 00000004 00000004 r-- .const:ti_sysbios_knl_Mailbox_Object__table__C
    000013d4 000013d4 00000004 00000004 r-- .const:ti_sysbios_knl_Mailbox_maxTypeAlign__C
    000013d8 000013d8 00000004 00000004 r-- .const:ti_sysbios_knl_Queue_Object__count__C
    000013dc 000013dc 00000004 00000004 r-- .const:ti_sysbios_knl_Queue_Object__table__C
    000013e0 000013e0 00000004 00000004 r-- .const:ti_sysbios_knl_Swi_Object__count__C
    000013e4 000013e4 00000004 00000004 r-- .const:ti_sysbios_knl_Swi_Object__table__C
    000013e8 000013e8 00000004 00000004 r-- .const:ti_sysbios_knl_Swi_numPriorities__C
    000013ec 000013ec 00000004 00000004 r-- .const:ti_sysbios_knl_Task_Object__count__C
    000013f0 000013f0 00000004 00000004 r-- .const:ti_sysbios_knl_Task_Object__table__C
    000013f4 000013f4 00000004 00000004 r-- .const:ti_sysbios_knl_Task_allBlockedFunc__C
    000013f8 000013f8 00000004 00000004 r-- .const:ti_sysbios_knl_Task_defaultStackHeap__C
    000013fc 000013fc 00000004 00000004 r-- .const:ti_sysbios_knl_Task_defaultStackSize__C
    00001400 00001400 00000004 00000004 r-- .const:ti_sysbios_knl_Task_numConstructedTasks__C
    00001404 00001404 00000002 00000002 r-x .text.3
    00001406 00001406 00000002 00000002 r-- .const:ti_sysbios_family_arm_cc26xx_Timer_Module__id__C
    00001408 00001408 00000002 00000002 r-- .const:ti_sysbios_family_arm_cc26xx_TimestampProvider_useClockTimer__C
    0000140a 0000140a 00000002 00000002 r-- .const:ti_sysbios_family_arm_m3_Hwi_Module__id__C
    0000140c 0000140c 00000002 00000002 r-- .const:ti_sysbios_gates_GateHwi_Module__id__C
    0000140e 0000140e 00000002 00000002 r-- .const:ti_sysbios_gates_GateMutex_Module__id__C
    00001410 00001410 00000002 00000002 r-- .const:ti_sysbios_heaps_HeapMem_Module__id__C
    00001412 00001412 00000002 00000002 r-- .const:ti_sysbios_knl_Task_initStackFlag__C
    00001414 00001414 00000001 00000001 r-- .const:ti_sysbios_knl_Clock_tickMode__C
    00001418 00001418 00000008 00000008 r-- .const:xdc_runtime_Startup_firstFxns__C
    00001420 00001420 00000008 00000008 r-- .const:xdc_runtime_Startup_lastFxns__C
    00001428 00001428 00000004 00000004 r-- .const:xdc_runtime_Assert_E_assertFailed__C
    0000142c 0000142c 00000004 00000004 r-- .const:xdc_runtime_Error_E_memory__C
    00001430 00001430 00000004 00000004 r-- .const:xdc_runtime_Error_policyFxn__C
    00001434 00001434 00000004 00000004 r-- .const:xdc_runtime_IGateProvider_Interface__BASE__C
    00001438 00001438 00000004 00000004 r-- .const:xdc_runtime_IHeap_Interface__BASE__C
    0000143c 0000143c 00000004 00000004 r-- .const:xdc_runtime_IModule_Interface__BASE__C
    00001440 00001440 00000004 00000004 r-- .const:xdc_runtime_Main_Module__diagsEnabled__C
    00001444 00001444 00000004 00000004 r-- .const:xdc_runtime_Main_Module__diagsIncluded__C
    00001448 00001448 00000004 00000004 r-- .const:xdc_runtime_Main_Module__diagsMask__C
    0000144c 0000144c 00000004 00000004 r-- .const:xdc_runtime_Memory_defaultHeapInstance__C
    00001450 00001450 00000004 00000004 r-- .const:xdc_runtime_Startup_execImpl__C
    00001454 00001454 00000004 00000004 r-- .const:xdc_runtime_Startup_maxPasses__C
    00001458 00001458 00000004 00000004 r-- .const:xdc_runtime_Startup_sfxnRts__C
    0000145c 0000145c 00000004 00000004 r-- .const:xdc_runtime_Startup_sfxnTab__C
    00001460 00001460 00000004 00000004 r-- .const:xdc_runtime_Startup_startModsFxn__C
    00001464 00001464 00000004 00000004 r-- .const:xdc_runtime_SysCallback_abortFxn__C
    00001468 00001468 00000004 00000004 r-- .const:xdc_runtime_SysCallback_exitFxn__C
    0000146c 0000146c 00000004 00000004 r-- .const:xdc_runtime_System_abortFxn__C
    00001470 00001470 00000004 00000004 r-- .const:xdc_runtime_System_exitFxn__C
    00001474 00001474 00000004 00000004 r-- .const:xdc_runtime_System_maxAtexitHandlers__C
    00001478 00001478 00000004 00000004 r-- .const:xdc_runtime_Text_charTab__C
    0000147c 0000147c 00000004 00000004 r-- .const:xdc_runtime_Text_nameEmpty__C
    00001480 00001480 00000004 00000004 r-- .const:xdc_runtime_Text_nameStatic__C
    00001484 00001484 00000004 00000004 r-- .const:xdc_runtime_Text_nameUnknown__C
    00001488 00001488 00000002 00000002 r-- .const:xdc_runtime_Main_Module__id__C
    0000148a 0000148a 00000002 00000002 r-- .const:xdc_runtime_Memory_Module__id__C
    0000148c 0000148c 00000002 00000002 r-- .const:xdc_runtime_Text_charCnt__C
    0000148e 0000148e 00000002 00000002 r-- .const:xdc_runtime_Text_isLoaded__C
    00001490 00001490 00000001 00000001 r-- .const:xdc_runtime_Error_policy__C
    00001494 00001494 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_AONRTCChannelEnable
    00001498 00001498 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_AONRTCCompareValueSet
    0000149c 0000149c 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_AONRTCCurrentCompareValueGet
    000014a0 000014a0 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_AONRTCEventClear
    000014a4 000014a4 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_getCount64__E
    000014a8 000014a8 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_getCurrentTick__E
    000014ac 000014ac 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_getMaxTicks__E
    000014b0 000014b0 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_initDevice__I
    000014b4 000014b4 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_setNextTick__E
    000014b8 000014b8 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_setThreshold__I
    000014bc 000014bc 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_start__E
    000014c0 000014c0 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_TimestampProvider_get32__E
    000014c4 000014c4 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_xdc_runtime_Startup_getState__I
    000014c8 000014c8 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_xdc_runtime_System_SupportProxy_abort__E
    000014cc 000014cc 00000004 00000004 r-- .const:ti_sysbios_rom_ROM_xdc_runtime_System_SupportProxy_exit__E
    000014d0 000014d0 00000004 00000004 r-- .const:ti_sysbios_gates_GateMutex_Instance_State_sem__O
    000014d4 000014d4 00000004 00000004 r-- .const:ti_sysbios_knl_Clock_Module_State_clockQ__O
    000014d8 000014d8 00000004 00000004 r-- .const:ti_sysbios_knl_Mailbox_Instance_State_dataQue__O
    000014dc 000014dc 00000004 00000004 r-- .const:ti_sysbios_knl_Mailbox_Instance_State_dataSem__O
    000014e0 000014e0 00000004 00000004 r-- .const:ti_sysbios_knl_Mailbox_Instance_State_freeQue__O
    000014e4 000014e4 00000004 00000004 r-- .const:ti_sysbios_knl_Mailbox_Instance_State_freeSem__O
    000014e8 000014e8 00000004 00000004 r-- .const:ti_sysbios_knl_Semaphore_Instance_State_pendQ__O
    000014ec 000014ec 00000004 00000004 r-- .const:ti_sysbios_knl_Task_Module_State_inactiveQ__O
    000014f0 000014f0 00000fd2 00000fd2 r-- config_const
    000024c4 000024c4 00019f44 00019f44 r-x .text.4
    0001c408 0001c408 00000558 00000558 r-- .cinit

    看这里FLASH 段分配完毕:此时使用SIZE应该是:0001c408 +00000558=1C960 该值与0001c956 不一致

    下面是 FLASH_NV 和 FLASH_LAST 段的具体分配
    0001e000 0001e000 00002000 00002000 r-x                                     (FLASH_NV  FLASH_LAST  SIZE=00002000 )
    0001e000 0001e000 00001000 00001000 r-- .TI.bound:NV_FLASH  (FLASH_NV  SIZE=00001000 )

    0001f000 0001f000 00000fa8 00000fa8 r-x .text.5(下面两个区域是FLASH_LAST  分配)
    0001ffa8 0001ffa8 00000058 00000058 r-- .ccfg

    所以我的问题在MAP文件中 FLASH 段 中,它的使用SIZE 为什么不一致

    1:FLASH 00000000 0001e000 0001c956 000016aa R X

    2:00000000 00000000 0001c960 0001c960 r-x

  • 好的感谢您提供的信息,已跟进给工程师,有答复会尽快给到您!

  • 您好,工程师这边无法重现该问题,您能提供所有必要的步骤吗?

    工程师已测试了以下内容:

    1) 打开 CCS 9.1.0

    2) 导入 CC1310 的收集器示例

    3) 构建项目,以下链接为工程师得到的map file(请注意,已将以 map 结尾的文件更改为 txt)

    collector_CC1310_LAUNCHXL_tirtos_ccs.txt

  • 多谢回复,我在查下。有问题在联系