工具/软件:Code Composer Studio
当我尝试为我的 CCS 工程启用日志记录时、遇到内存分配错误。 我能够在不进行日志记录的情况下构建项目、但当我更改 tirtos_builds_CC1352P1_LAUNCHXL_release_ccs 中 release.cfg 文件中的以下行时、我会收到一个内存分配错误。
release.cfg:
/*========================= ROM 配置======================== // * *要在闪存中使用 BIOS,请注释掉下面的代码块。 // /var ROM = xdc.useModule('ti.sysbios.rom.ROM'); //rom.romName = ROM.CC13X2; BIOS.logsEnabled = true; //日志记录配置*/ var 日志设置= xdc.useModule('ti.uia.sysbios.LoggingSetup'); //*启用 CPU 负载记录*/ LoggingSetup.loadLogging = true; // *启用任务、Swi 和 Hwi 负载记录。 这使空闲任务 *的用法更有意义。 否则、Hwi 和 Swi 负载被计入 *每个任务的使用情况。 */ LoggingSetup.loadTaskLogging = true; LoggingSetup.loadSwiLogging = true; LoggingSetup.loadHwiLogging = true;
以前、我对 release.cfg 文件进行了这些更改、从而能够在另一个项目中启用 CPU 日志记录。 现在,当我尝试构建这个特定项目时,我得到:
"../CC1352P1_LAUNCHXL_TIRTOS.cmd",第107行:错误#10099-D:程序不能装入可用内存。 对齐方式运行".bss"大小为0x3b95的定位失败。 可用存储器范围: SRAM 大小:0x14000 未使用:0x4ea8 最大空洞:0x34e0 错误#10010:链接期间遇到错误;"../../bin/ia_aac_lc_enc_cm4_eval_rel_pkg.out 未生成 >>编译失败 makefile:178:目标'./../bin/ia_aac_lc_enc_cm4_eval_rel_pkg.out 的配方失败 gmake[1]:***[./../bin/ia_aac_lc_enc_cm4_eval_rel_pkg.out ]错误1 gmake:***[All]错误2 makefile:171:目标'All'的配方失败
我尝试进入 CC1352P1_LAUNCHXL_TIRTOS.cmd 文件、并更改 RAM 的大小。 程序已构建、但当我在调试模式下运行它时、它从未在 main 停止、这样我才能继续在代码中运行、因此我认为它必须是运行时错误。
分配漏洞是否不足以专门用于.bss 段? 在错误中、虽然 RAM 中未使用的空间是0x4ea8、'max hole sizes'是0x34e0、但.bss 段的大小是0x3b95。 是否有办法重新排列空间以使其适合?
我尝试进入 Project Properties -> ARM Linker -> Basic Options 并更改堆和堆栈大小、但这没有帮助。
我还尝试提高优化级别、该级别为0。 最多3个、我有相同的错误、在4个时、我有 一个#10192链接时优化错误。
下面是我的内存分配窗口:
请告知我应采取哪些进一步步骤来解决此问题。
此致、
Samyukta