TI中文支持网
TI专业的中文技术问题搜集分享网站

F28M35H52C1RAM的使用问题

工程师你好!

我目前正在使用双核F28M35芯片进行项目开发,按照说明书里M3有32K的16位RAM,C28有36K的16位RAM,共享RAM有64K,可是我在C28系统里为什么只能定义2K,再往大定义到4K就编译不过去了。

错误如下:

"C:\F28M35\F28M35x_common\cmd\F28M35x_generic_C28_FLASH.cmd", line 148: error #10099-D:

   program will not fit into available memory.  run placement with
>> Compilation failure
   alignment/blocking fails for section ".ebss" size 0x1060 page 1.  Available
   memory ranges:
   RAML2        size: 0x1000       unused: 0x1000       max hole: 0x1000   error #10010: errors encountered during linking; "D_blinkly_dc_c28.out" not
   built
gmake: *** [D_blinkly_dc_c28.out] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****

 

后来我指定了

Uint16 Mc_Dat1[2048];
Uint16 Mc_Dat2[2048];

#pragma DATA_SECTION(Mc_Dat1,"SHARERAMS0");
#pragma DATA_SECTION(Mc_Dat2,"SHARERAMS0");

这样的声明,用来使用共享RAM区

可是在McBSP口采集到的数据往这两个数组里放,根本放不进去,debug调试的时候,一直都是0,,McBSP口确实有数据过来。

  Mc_Dat1[Mc_Cnt]= McbspaRegs.DRR1.all;仿真的时候,这里DRR1可以看到数据。
  Mc_Cnt++;

请问cmd文件该如何编写呢

JianXue Chen:

问题已经解决,C28要使用共享RAM,必须在M3的初始化程序里进行声明。

RAMMReqSharedMemAccess((S0_ACCESS | S1_ACCESS | S2_ACCESS),C28_MASTER);

这句表明,S0、S1、S2三个区可以供C28使用。

赞(0)
未经允许不得转载:TI中文支持网 » F28M35H52C1RAM的使用问题
分享到: 更多 (0)