打印
[ZLG-ARM]

2214问题,外部ram已去掉,光盘里的程序运行不了,怎么改?

[复制链接]
1964|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuchina|  楼主 | 2007-3-29 11:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我将外部ram去掉了,(因为做产品要节约成本), 我用开发板光盘里面的程序调试,设置成 DebugInChipFlash
然后将mem_c.scf 的
ROM_LOAD 0x0
{
    ROM_EXEC 0x00000000
    {
        Startup.o (vectors, +First)
        * (+RO)
    }

    IRAM 0x40000000
    {
        Startup.o (MyStacks)
    }

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

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

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

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

    HEAP_BOTTOM 0x80080000 UNINIT
    {
        Startup.o (HeapTop)
    }
}
修改了一下,(我想如果要上面这段,程序如果用到0x80000000,就可能跑飞,所以删除),(另外,我看到一些例子程序的mem_c.scf 也是跟下面一样的):
ROM_LOAD 0x0
{
    ROM_EXEC 0x00000000
    {
        Startup.o (vectors, +First)
        * (+RO)
    }

    IRAM 0x40000000
    {
        Startup.o (MyStacks)
    }

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

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

结果ads编译报警了
Could not place Os_cpu_c.o(.bss) in any Execution region
......

请问怎么改呢?为什么有些简单的例子程序用上面这个mem_c.scf 就可以,没有报警呢?

另外没有改之前,设置成DebugInExRam编译可以通过,但仿真的时候一进 main()就跑飞了。

相关帖子

沙发
zlgARM| | 2007-3-29 17:56 | 只看该作者

zhuchina

  找个2100的模板来试一下,该模板有内部FLASH的生成目标的。

使用特权

评论回复
板凳
zlgarm| | 2007-3-29 22:20 | 只看该作者

2200的模板要求使用外部SRAM。

你的系统中没有外部SRAM,故只能使用2100的模板来建立工程。

使用特权

评论回复
地板
zhuchina|  楼主 | 2007-3-29 22:22 | 只看该作者

用2100工程试过,进不了串口中断,只能发不能收

谢谢周工解答,
用2100工程试过,将2294.h头文件改成21xx.h程序是能运行正常,不会跑飞,但进不了串口中断(可能是我比较笨)

还有usb-d12程序不是要重新改?
ucosii也要重新改 这两个改起来要费点时间,

如果实在不行就只能把项目完成时间拖一拖了,

使用特权

评论回复
5
zhuchina|  楼主 | 2007-3-29 22:26 | 只看该作者

或者可能我下载的lpc2100的有问题

周工老大,你们有2100工程的模版下载吗,最好是for ucosii的,如果网站没有能不能发到我邮箱?zhumingsz@21cn.com 先谢谢啦,

使用特权

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

本版积分规则

5

主题

15

帖子

1

粉丝