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