打印
[ZLG-ARM]

使用内部FLASH,外部RAM,分散加载文件如何配置

[复制链接]
1563|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cwh521|  楼主 | 2007-10-9 17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   我做的扳子,使用LPC2292,UCOS-II操作系统,做TCPIP通讯,内部RAM空间不够,扩展了一片外部RAM,连接到BANK0,请问分散加载文件如何配置?

   我也做了实验,使用了如下的分散加载文件mem_c
ROM_LOAD 0x0
{
    ROM_EXEC 0x00000000
    {
        Startup.o (vectors, +First)
        * (+RO)
    }

    IRAM 0x40000000
    {
        Startup.o (+RW,+ZI)
        os_cpu_a.o (+RW,+ZI)
    }

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

    HEAP +0 UNINIT
    {
        heap.o (+ZI)
    }

    STACKS 0x40004000 UNINIT
    {
        stack.o (+ZI)
    }
}
Image entry point  0x00000000
使用片内FLASH仿真结果:
    程序在设置串行口函数处停止,既在void InitialiseUART0(uint32 bps)
函数内的最后一个大括号处发生取数据中止(我使用的是ZLG的LPC2200工程模板,没有改动)
    当把设置串口函数屏蔽掉后,程序又在进入C语言主程序之前发生取数据中止,这是什么原因呢,可以排除硬件原因,因为我在ZLG的EasyARM2200开发板也做过实验,都是一样的结果。什么原因呢,请知道的朋友讲解一下,谢谢!

    QQ:530708772

相关帖子

沙发
zlgARM| | 2007-10-9 17:57 | 只看该作者

re

    估计不是模版的分散加载问题,可以参考EasyARM2200光盘提供TCP/IP程序例子,完全可以正常使用。
    出现取数中止,可能是堆栈溢出造成的,建议增大任务的堆栈,并且不要使用很大的数组的局部变量。

使用特权

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

本版积分规则

3

主题

8

帖子

1

粉丝