This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCSTUDIO-C2000: 定义了没有被main函数调用的函数,放到指定的flash扇区中,编译之后发现.map文件中没有出现定义的函数,相应的flash扇区used也为 0

Part Number: CCSTUDIO-C2000


#pragma CODE_SECTION (fun1,"fun1_addr")

#define fun1add (void (*)(void)) 0x3EC000    //放到flash扇区F  CMD中的flash扇区F起始地址为0x3EC000 

void fun1()

{

    XXXX.....

}

在CMD SECTIONS中加入

fun1_addr             : >FLASHF,            PAGE =0 

编译之后 .map文件中FLASHF的used显示为0,GLOBAL DATA SYMBOLS里也找不到_fun1

在main函数中加入下面两行代码,

Uint32 a;

a=(Uint32)&fun1;

编译之后 .map文件中FLASHF的used就有长度了,GLOBAL DATA SYMBOLS里也有_fun1了,请工程师和各位大佬解答一下。这是为啥,怎么处理fun1写不进flash的问题。

eg:CCS的优化是off状态,0级优化下加入上面两行代码编译,fun1也写不进flash里了。