工具/软件: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
