打印
[ZLG-ARM]

请教周工,当外部RAM仿真的时候RO代码写在那里了?

[复制链接]
1257|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Ice_River|  楼主 | 2007-7-28 10:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zlgARM| | 2007-7-30 06:47 | 只看该作者

Ice_River

您好:
    请告诉我您用的是哪一份分散加载文件,或者就在此处贴出文件内容。

使用特权

评论回复
板凳
Ice_River|  楼主 | 2007-7-30 09:08 | 只看该作者

下面是文件!

您模版里面的外部RAM仿真的b.SCF文件。
ROM_LOAD 0x80000000                 
{
    ROM_EXEC 0x80000000
    {
        Startup.o (vectors, +First)
        * (+RO)              如果RO段代码加在这里,那么加载RW段的时候
    }                        ERAM 0x80040000(下面)     大于256K了?


    IRAM 0x40000000
    {
        Startup.o (MyStacks)
    }

    STACKS_BOTTOM +0 UNINIT
    {
        Startup.o (StackBottom)
    }

    STACKS 0x40004000 UNINIT
    {
        Startup.o (Stacks)
    }

    ERAM 0x80040000
    {
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        Startup.o (Heap)
    }

    HEAP_BOTTOM 0x80080000 UNINIT          此处的代码到达512K
    {                                      岂不是越界了?
        Startup.o (HeapTop)
    }

}
外部256x16 RAM 

使用特权

评论回复
地板
Ice_River|  楼主 | 2007-7-30 09:11 | 只看该作者

程序在外面跑的时候,死在取数据终止上面了!

为什么内部没有这个情况,和数据定义有什么关系吗?

使用特权

评论回复
5
zlgARM| | 2007-7-30 09:55 | 只看该作者

Ice_River

您好:
  可以考虑增加为RW段分配的空间、以及用户模式/系统模式堆栈空间、堆空间等。
  尝试一下极端方法,尽量减小RO代码。  
  也可以直接致电020-22644384,李工。我们电话里一起讨论一下。谢谢!

使用特权

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

本版积分规则

149

主题

1882

帖子

0

粉丝