打印

求助28027的DRAML0 和 PRAML0 地址分配

[复制链接]
1918|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
杨琳lin|  楼主 | 2015-11-23 14:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的程序编译出现下述问题:
[Linking...] "C:\CCStudio_v3.3\C2000\cgtools\bin\cl2000" -@"Debug.lkf"
<Linking>
"E:\\dsp\\JN_flash_28027\\Upgrade28027\\Example_Flash28027_API.cmd", line 137: error:
   run placement fails for object ".ebss", size 0x9c9 (page 1).  Available
   ranges:
   DRAML0       size: 0x9c8        unused: 0x9c8        max hole: 0x9c8     
"E:\\dsp\\JN_flash_28027\\Upgrade28027\\Example_Flash28027_API.cmd", line 125: error:
   run placement fails for object "ramfuncs", size 0x209 (page 0).  Available
   ranges:
   PRAML0       size: 0x638        unused: 0x103        max hole: 0x103     
error: errors encountered during linking; "./Debug/Example_Flash2802x_API.out"
   not built

>> Compilation failure

Build Complete,
  3 Errors, 0 Warnings, 0 Remarks.
其中地址分配如下:
MEMORY
{
PAGE 0:    /* Program Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */

   PRAML0      : origin = 0x008000, length = 0x000638     /* on-chip RAM block L0 */
   /*PRAML0      : origin = 0x008000, length = 0x000538*/     /* on-chip RAM block L0 */
   OTP         : origin = 0x3D7800, length = 0x000400     /* on-chip OTP */
   /*FLASHD      : origin = 0x3F4000, length = 0x001000*/     /* on-chip FLASH */
   /*FLASHC      : origin = 0x3F5000, length = 0x001000*/     /* on-chip FLASH */
   /*FLASHC      : origin = 0x3F4000, length = 0x002000*/     /* on-chip FLASH */
   FLASHC      : origin = 0x3F4000, length = 0x001C00     /* on-chip FLASH */
   //FLASHA      : origin = 0x3F7000, length = 0x000F80     /* on-chip FLASH */
   FLASHA      : origin = 0x3F6C00, length = 0x001380     /* on-chip FLASH */
   CSM_RSVD    : origin = 0x3F7F80, length = 0x000076     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */
   BEGIN       : origin = 0x3F7FF6, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */
   CSM_PWL_PROG: origin = 0x3F7FF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA */
   
   IQTABLES    : origin = 0x3FE000, length = 0x000B50     /* IQ Math Tables in Boot ROM */
   IQTABLES2   : origin = 0x3FEB50, length = 0x00008C     /* IQ Math Tables in Boot ROM */  
   IQTABLES3   : origin = 0x3FEBDC, length = 0x0000AA          /* IQ Math Tables in Boot ROM */

   ROM         : origin = 0x3FF27C, length = 0x000D44     /* Boot ROM */        
   RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of boot ROM  */
   VECTORS     : origin = 0x3FFFC2, length = 0x00003E     /* part of boot ROM  */

PAGE 1 :   /* Data Memory */
           /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */
           /* Registers remain on PAGE1                                                  */

   BOOT_RSVD   : origin = 0x000000, length = 0x000050     /* Part of M0, BOOT rom will use this for stack */  
   RAMM0       : origin = 0x000050, length = 0x0003B0     /* on-chip RAM block M0 */
   RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
   DRAML0      : origin = 0x008638, length = 0x0009c8     /* on-chip RAM block L0 */  
   /*DRAML0      : origin = 0x008538, length = 0x000Ac8*/     /* on-chip RAM block L0 */
   FLASHB      : origin = 0x3F6000, length = 0x001000     /* on-chip FLASH */
}
有以下问题:
1、我查了一下有的说是RAM地址分配有问题,我按照错误提示的长度修改过相应存储空间大小,但改过后还是会反复出现,请大神指点一下问题出在哪里?
2、上面提示错误“DRAML0       size: 0x9c8        unused: 0x9c8        max hole: 0x9c8 ”分配 size: 0x9c8 ,不能用的“unused: 0x9c8”,是不是DRAML0里面都是空的但无法存储数据?
3、上面提示错误 “run placement fails for object "ramfuncs", size 0x209 (page 0).  Available
   ranges:
   PRAML0       size: 0x638        unused: 0x103        max hole: 0x103”        意思是不是说"ramfuncs size 0x209 (page 0)“,但PRAML0剩余空间unused: 0x103,所以存储空间不够?
4、”PRAML0      : origin = 0x008000, length = 0x000638     /* on-chip RAM block L0 */“和”DRAML0      : origin = 0x008638, length = 0x0009c8     /* on-chip RAM block L0 */“也就是RAML0一共就这么大,提示空间不足,还怎么扩展?
5、FLASHA部分出现过类似的问题,也是反复修改、增加存储空间的,修改后还是会出现。
纠结两天了,不知道怎么解决,还请各位前辈能指导一下,非常感谢!

相关帖子

沙发
zhangmangui| | 2015-11-23 21:31 | 只看该作者
先找一个能编译过得吧      对照手册中的内存结构图  对比理解一下  
然后做相关修改

使用特权

评论回复
板凳
杨琳lin|  楼主 | 2015-11-24 17:35 | 只看该作者
问题已经解决,扩充RAM。方法:打开map文件,找到未用到的功能占用的空间,选好地址和长度,扩展RAM。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

96

帖子

2

粉丝