DSP下的#program

2014年7月22日

最近调试使用TMS320C6713的片子调试SDRAM,中间经过很多波折,这里就不吐槽了。

想将数据或者代码放到SDRAM上一定要用到#pragma 。查阅资料后,感觉百度文库的资料还可以,所以将度娘的资料摘抄过来,以作记录。

 

1.在CCS编程中,如果我们不指定变量的存放位置,编译器会自动的给变量分配一个位置。但是,如果有的时候需要把变量放在一个特定的空间内,我们应该如何操作呢?CCS提供了如下的两个指令:

#pragma   CODE_SECTION

#pragma   DATA_SECTION

其中data_section是针对数据空间的,code_section是针对程序空间的。

具体的使用办法是:

#pragma CODE_SECTION(fn, ”my_sect”)

int fn(int x)

{

return c;

}

 

#pragma DATA_SECTION(bufferA, ”my_sect”)

char bufferA[512];

 

在.cmd文件中建立对应的section就可以使用了:eg:

 

     MEMORY

     {

 

        PAGE 1: spacename  : origin = 0x....,  length 0x..

     }

 

     SECTIONS

     {

        .my_sect    : {}  >spacename PAGE 1

 

     }

 

2.DATA_ALIGN:变量存储对齐格式。

 

例子:

char a;

#pragma DATA_ALIGN(a ,32)

表示存储变量a时,以32字节对齐,其变量地址的低5位为0(即32的整数倍)

原文地址:https://www.cnblogs.com/mfc1207/p/3860740.html