Thread 中讨论的其他器件:SYSBIOS
您好!
我正在尝试从 simple_peripheral_oad_onchip 示例构建 oad_target_cc2640r2lp_app 项目。 链接器给出了错误"C:/ti/simplelink_cc2640r2_sdk_1_30_00_25/source/ti/blestack/common/cc26xx/ccs/cc26xx_app_oad_onchip.cmd、第255行:错误#10099-D:程序将无法放入可用存储器。 ".text"大小0x5b36"段的对齐方式放置失败
我的设置:
全新安装的 CCS 7.1.0.00015和 simplelink_cc2640r2_sdk_1_30_00_25 SDK。
TI ARM 编译器16.9.0
XDC 工具3.50.00.10
为了进行测试、我已将 cc26xx_app_oad_onchip.cmd 中的图像 A 的大小增加到8个闪存页面:
#define FLASH_IMG_A_END (FLASH_START +(PAGE_SIZE * 8))
现在、构建成功。 查看我看到的映射文件
。
。
00001328 00001328 00000004 00000004 r-.const:ti_SysBIOS_ROM_ROM_XDC_RUNTIME_System_SupportProxy_abort__E
0000132c 0000132c 00000004 00000004 r-.const:ti_sysbios_rom_rom_xdc_runtime_System_SupportProxy_Exit_E_E
00001330 00001330 00005cf8 00005cf8 r-x .text
因此.text 段的起始地址为1330、结束地址为7028、比原始7个闪存页的限制多29个字节。
一件奇怪的事情是、在映射文件的开头、我看到:
00000010 00000010 00000704 00000704 r--
00000010 00000010 0000003c 0000003c r-.Vecresets
0000004c 0000004c 0000037c 0000037c r-.const
000003c8 000003c8 0000034c 0000034c r-.cinit
00001000 00001000 00006028 00006028 r-x
00001000 00001000 00000028 00000028 r-.const:ti_sysbios_bst_HeapMem_Module_Fxns__C
00001028 00001028 00000024 00000024 r-.const:ti_sysbios_gates_GateHwi_Module_Fxns__C
cinit 和 ti_sysbios_堆_HeapMem_Module_Fxns__C 之间有一个未使用的空洞 看起来 ti_sysbios_b堆_HeapMem_Module_Fxns__C 与闪存边界对齐、但我找不到命令的位置。
有什么想法出错了吗?
请查找构建日志和映射文件 attached.e2e.ti.com/.../0167.build.loge2e.ti.com/.../oad_5F00_target_5F00_cc2640r2lp_5F00_app_5F00_map.txt