本帖最后由 0410910218 于 2012-6-20 15:56 编辑
10分算不算多?呵呵
工具IAR,目标器件STM32F103VB
问题:
我想把Test1(), Test2()这两个函数放在iapcode这个区:
#pragma location = "iapcode" //接下来的代码放在iapcode区
void Test1(void)
{
u32 u32Temp=uc32GlobalVarible;
u32Temp++;
}
void Test2(void)
{
u32 u32Temp=uc32GlobalVarible;
u32Temp++;
}
结果只有Test1()是在iapcode区,而Test2()仍在默认的区
如果在Test2()前面加上#pragma location = "iapcode" 的话:
#pragma location = "iapcode" //接下来的代码放在iapcode区
void Test1(void)
{
u32 u32Temp=uc32GlobalVarible;
u32Temp++;
}
#pragma location = "iapcode" //接下来的代码放在iapcode区
void Test2(void)
{
u32 u32Temp=uc32GlobalVarible;
u32Temp++;
}
两个函数都在iapcode区了。
但是我不要在每个函数前面都加一句废话, ugly!
IAR有没有像MDK中#pragma arm section [section_sort_list]这样似的编译命令?像下面这样的?
#pragma arm section code = "iapcode" //接下来的代码放在iapcode区
void Test1(void)
{
u32 u32Temp=uc32GlobalVarible;
u32Temp++;
}
void Test2(void)
{
u32 u32Temp=uc32GlobalVarible;
u32Temp++;
}
#pragma arm section code //接下来的代码放在默认区
我现在只能每个函数、每个变量去指定,想想你都会蛋疼. |