打印
[ZLG-ARM]

芯片LPC2292,新手的基本问题!

[复制链接]
1948|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
power5000|  楼主 | 2008-9-24 10:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近自己做了板子,芯片用的是LPC2292,有内置的FLASH和SRAM,外面没有扩展存储器.

用H-JTAG能检测到芯片,用H-Flasher能检测到LPC2292 0x0401ff13;

我以为板子已调通了,去调试一个简单的I/O控制BEEP的试验,I/O口没反应,AXD里程序会跑飞,好像没有仿真,同样的程序在SmartARM2200开发板上是好的!请教斑竹,哪里出问题了!

相关帖子

沙发
zlgarm| | 2008-9-24 16:31 | 只看该作者

RE:power5000

您好!
SmartARM2200的例程都是针对有外部存储器的情况的,如果需要在没有外部存储器的开发板上运行,需要用户自己修改工程中的分散加载文件。
关于分散加载机制用户可以参考ADS相关的书藉。

使用特权

评论回复
板凳
power5000|  楼主 | 2008-9-25 10:12 | 只看该作者

分散加载文件

分散加载文件是不是指mem_a.scf、mem_b.scf、mem_c.scf文件呢?
要修改哪些东西?刚接触ARM,整体概念还不是很清楚,谢谢赐教!

使用特权

评论回复
地板
XDream| | 2008-9-25 23:57 | 只看该作者

还是用LPC2100的模板吧,就不用改分散加载文件了。

去周立功网站上下载。

使用特权

评论回复
5
power5000|  楼主 | 2008-9-26 10:26 | 只看该作者

谢谢XDream

用LPC2100的模板无非就是mem_b.scf文件不同,替代原先文件就可以了吧,是这样吗?

使用特权

评论回复
6
power5000|  楼主 | 2008-9-26 11:31 | 只看该作者

分散加载文件

lpc2292不外扩的情况,请教一下

ROM_LOAD 0x00000000     ;加载地址=0,是吗?
{
    ROM_EXEC 0x80000000 ;执行地址=0,是吗?
    {
        Startup.o (vectors, +First)
        * (+RO)
    }

    IRAM 0x40000000     ;片内静态RAM的起始地址
    {
        Startup.o (MyStacks)
    }

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

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

    ERAM 0x81000000 ;外部RAM??
    {
        * (+RW,+ZI)
    }

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

    HEAP_BOTTOM 0x81080000 UNINIT ;堆?
    {
        Startup.o (HeapTop)
    }
}
UNINIT是未初始化的意思吗?

使用特权

评论回复
7
hjiongh| | 2008-10-8 09:00 | 只看该作者

这么改

ROM_LOAD 0x00000000     ;------- 程序烧写起始地址
{
    ROM_EXEC 0x80000000 ;-----  程序执行起始地址 exec= execute
    {
        Startup.o (vectors, +First)
        * (+RO)
    }

    IRAM 0x40000000     ;片内静态RAM的起始地址
    {
        Startup.o (MyStacks)
    }
}

其他不用改,如果你在内部flash跑,ROM_EXEC 0x80000000  改成0x00000000

使用特权

评论回复
8
wanglingnj| | 2008-10-10 00:30 | 只看该作者

结合启动代码

光看分散加载文件是看不懂的,你要结合启动代码startup.s看才能看明白。注意AREA的语句和分散加载文件对应看。

使用特权

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

本版积分规则

37

主题

81

帖子

1

粉丝