各位开发者:
大家好!我最近在使用C6748的深休眠功能来降低功耗,参考了TI提供的例程,网址如下:
http://processors.wiki.ti.com/index.php/Power_Module_for_C6748_and_OMAP-L138#Sleep_Modes
经检验,确实可以进入深休眠模式。之后我在例程的基础上增加了一部分关于GPIO的操作,编译的时候,报出了下面的错误:
#10099-D</a> program will not fit into linker.cmd
在linker.cmd中,有如下的错误:
.ti_sysbios_family_c674_pmi_onchip: load >> L3_CBA_RAM
.stack: load > L3_CBA_RAM
.bss: load > L3_CBA_RAM
.cinit: load > L3_CBA_RAM
.cio: load >> L3_CBA_RAM
.vecs: load >> L3_CBA_RAM
.switch: load >> L3_CBA_RAM
这是什么原因导致?
后来,我把.cfg文件中的下面代码注释掉了:
Program.sectMap[".text"] = "L3_CBA_RAM";
Program.sectMap[".far"] = "L3_CBA_RAM";
Program.sectMap[".const"] = "L3_CBA_RAM";
Program.sectMap[".stack"] = "L3_CBA_RAM";
Program.sectMap[".cio"] = "L3_CBA_RAM";
Program.sectMap[".bss"] = "L3_CBA_RAM";
Program.sectMap[".vecs"] = "L3_CBA_RAM";
Program.sectMap[".pinit"] = "L3_CBA_RAM";
Program.sectMap[".data"] = "L3_CBA_RAM";
Program.sectMap[".switch"] = "L3_CBA_RAM";
Program.sectMap[".cinit"] = "L3_CBA_RAM";
Program.sectMap[".rodata"] = "L3_CBA_RAM";
Program.sectMap[".neardata"] = "L3_CBA_RAM";
这样一来,编译不出问题了,但是却无法进入深休眠模式了,这是什么原因呢?请大家帮我看看,谢谢。
原始的程序源代码和我自己写的源代码都包含在附近中
Tony Tang:
报错是因为太大了,L3放不下,应该把它放到别的地方,如DDR上,而不是注释掉。