免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1166 | 回复: 0
打印 上一主题 下一主题

ADS错误“L6202E” [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-31 11:26 |只看该作者 |倒序浏览

今天在调一个开cache和MMU的ADS程序时候,可在编译链接的时候老是发现链接出问题,报的错误是:
L6202E:Section Region$$Table cannot be assigned to a non-root region

看来是我的链接脚本scat_crremap.scf出问题了:
我的scatter文件内容如下:
ESRAM 0x04000000 ;第一个加载域是位于ESRAM中
{
    ESRAM 0x04000000 ;加载域中的运行域
    {
            boot_gfd_4k2.o (BOOT, +First)
      
    }

}
SDram2 0x30100000 ;第二个加载域是位于SDRAM中
{
        SDram1 0x30000000 ;第一个运行域是准备映射中断向量表
    {   
       int_gfd.o (INT, +First)
    }

     SDram2 0x30100000 ;第二个运行域准备映射其他代码和数据
    {
           

       * (+RO,+RW,+ZI)
    }
}
看来这个文件第二个加载域出问题了:
上网无解,后来自己结合前人正确的scatter文件,我发现原来是在SDRAM的加载域中数据区有问题,数据区必须要放在和加载域在同一个部分的运行域才行,这样才没有错,后来我仔细想了一下,觉得可能是由于ADS的堆栈区必须要和加载域一致,否则ADS还得自己生成搬运自己数据区的代码,这应该是不合理的,于是我就改了下scatter文件干脆就弄了三个加载域,每个加载域中都含有一个唯一的运行域这样就没有问题了。
ESRAM 0x04000000
{
    ESRAM 0x04000000
    {
            boot_gfd_4k2.o (BOOT, +First)
    }
}
SDram1 0x30000000
{
      
    SDram1 0x30000000
    {   
       int_gfd.o (INT, +First)
}
}
SDram2 0x30100000
{
     SDram2 0x30100000
    {
       * (+RO,+RW,+ZI)
    }  
}


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/99507/showart_2136254.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP