Other Parts Discussed in Thread: SYSBIOS, CC2642R
主题中讨论的其他部件:SysBIOS, CC2642R
我正在尝试寻找更多的空间,以便我可以将使用CC2640R2的现有产品移植到BLE5堆栈,并且我注意到,使用BLE 4.2 堆栈simple_peripheral示例项目,当我构建项目时,.cinit.data.load部分已压缩, 但是对于BLE5堆栈 simple_peripheral示例项目 ,它不是。 我似乎无法说服链接器压缩它(这可能会为我节省足够的空间!)。
下面是我在地图文件中获得的有关BLEStack simple_peripheral示例项目的信息:
cinit 0.0103万b00000053c</s>0.0053万
0.0103万b0 000003f30.0003万f3 (.cinit..data.load)[加载图像,压缩= lzss]
0.0107万a3 00000029300000029 (.cinit..data:ti_SysBIOS_family_arm_m3_HWI_Module__state__V.load)[加载图像,压缩= lzss]
0.0107万cc 0.0021万 (.cinit.data:ti_SysBIOS_KNL_Task_Module__state__V.load)[加载图像,压缩= lzss]
0.0107万ed 0.0001万f (.cinit..data:ti_SysBIOS_BIOS_Module__state__V.load)[加载图像,压缩= lzss]
0.108万c 0.0001万d (.cinit.data:ti_SysBIOS_KNL_Clock_Module__state__V.load)[加载图像,压缩= lzss]
0.0108万29 000000102.9万00010 (0.001万 (.cinit..data:ti_SysBIOS_KNL_Swi_Module__state__V.load)[加载映像,压缩= lzss]
0.0108万39 000000033.9万00003 --0.0003万 --孔--[填充=0 ]
0.1083万c 0万c (__TI_handler_table)
1.0848万0000000b (0万 (.cinit.data:ti_SysBIOS_family_arm_cc26xx_Timer_Module__state__V.load)[加载图像,压缩= lzss]
0.0108万53 000000055.3万00005 --0.0005万 --孔--[填充=0 ]
0.0108万58 000000085.8万00008 (.cinit..bss.load)0.0008万 (.cinit..bss.load)[加载图像,压缩= zero_init]
1.086万00000008 (0.0008万 (.cinit..data:xdc_runtime内存模块__state__V.load)[加载图像,压缩= lzss]
1.0868万00000007 (0.0007万 (.cinit.data:ti_SysBIOS_family_arm_cc26xx_TimestampProvider_Module__state__V.load)[加载图像,压缩= lzss]
0.1086万f 0.0007万 (.cinit..data:xdc_runtime启动模块__state__V.load)[加载图像,压缩= lzss]
0.0108万76 000000077.6万00007 (0.0007万 (.cinit..data:xdc_runtime系统模块__state__V.load)[加载图像,压缩= lzss]
0.1087万d 0.0006万 (.cinit..data:xdc_runtime错误_模块__state__V.load)[加载图像,压缩= lzss]
0.0108万83 000000018.3万00001 --hole0.0001万 --hole --[填充=0 ]
0.0108万84 000000688.4万00068 (0.0068万 (__TI_cinit_table)
下面是我在地图文件中获得 的关于BLE5 stack simple_peripheral示例项目的信息:
cinit 0.0199万b8 00000fec800000fec
0.0199万b8 00000ea7800000ea7 (.cinit.data.load)[加载图像]
0001a85f 0.0029万 (.cinit.data:ti_SysBIOS_family_arm_m3_Hwi_Module__state__V.load)[加载映像,压缩= lzss]
0001a888 0000002188.8万00021 (0.0021万 (.cinit.data:ti_SysBIOS_KNL_Task_Module__state__V.load)[加载映像,压缩= lzss]
0001a8a9 0000001f90000001f (.cinit..data:ti_SysBIOS_BIOS_Module__state__V.load)[加载映像,压缩= lzss]
0001a8c8 0000001e80000001e (.cinit..data:ti_SysBIOS_KNL_Clock_Module__state__V.load)[加载映像,压缩= lzss]
0001a8e6 00000010600000010 (.cinit..data:ti_SysBIOS_KNL_Swi_Module__state__V.load)[加载映像,压缩= lzss]
0001a8f6 00000002600000002 --孔--[填充=0]
0001a8f8 0000000c80000000c (__TI_handler_table)
0001a904 0000000b9.04亿0b (.cinit.data:ti_SysBIOS_family_arm_cc26xx_Timer_Module__state__V.load)[加载图像,压缩= lzss]
0001a90f 0.0001万 --hole --[填充=0]
0001a910 0000000891万00008 (0.0008万 (.cinit.bss.load)[加载映像,压缩= zero_init]
0001a918 0000000891.8万00008 (0.0008万 (.cinit..data:xdc_runtime _Memory_Module__state__V.load)[加载映像,压缩= lzss]
0001a920 0000000792万00007 (0.0007万 (.cinit.data:ti_SysBIOS_family_arm_cc26xx_TimestampProvider_Module__state__V.load)[加载图像,压缩= lzss]
0001a927 0000000792.7万00007 (0.0007万 (.cinit..data:xdc_runstue_Startup_Module__state__V.load)[加载映像,压缩= lzss]
0001a92e 0.0007万 (.cinit..data:xdc_runstue_System_Module__state__V.load)[加载映像,压缩= lzss]
0001a935 0000000693.5万00006 (0.0006万 (.cinit..data:xdc_runtime _Error_Module__state__V.load)[加载映像,压缩= lzss]
0001a93b 0.0001万 --孔--[填充=0 ]
0001a93c 0.0068万 (__TI_cinit_table)
链接程序设置中的设置--cinit_compression=lzss不会更改此设置。
这与CCS SDK.CC2640R2 0.0.0007万 5.30 .11.2 00.03 一起使用。 编译器为ti-CGT-arm_LTS.5.LTS 20.2。
但是,我使用CCS 9.3 和0.0.0012万 3.40 00.10 获得了相同的结果。
我无法理解为什么该部分在一个项目中压缩而不是在另一个项目中压缩。 是否有人对链接器有足够的了解来解释这一点,或者请提供解决方案?