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

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

Part Number:CC1310Other 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)空间使用计算的不一致时什么情况。

Cherry Zhou:

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

,

Cherry Zhou:

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

,

自由飞翔:

,

Cherry Zhou:

好的感谢您提供的信息,是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 空间无关系。

,

Cherry Zhou:

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

Cherry Zhou 说:

您有没有对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

,

Cherry Zhou:

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

,

Cherry Zhou:

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

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

1) 打开 CCS 9.1.0

2) 导入 CC1310 的收集器示例

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

collector_CC1310_LAUNCHXL_tirtos_ccs.txt

,

自由飞翔:

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

赞(0)
未经允许不得转载:TI中文支持网 » CC1310: 关于MAP文件的有关问题
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1