[ZLG-ARM] 芯片LPC2292,新手的基本问题!

[复制链接]
2961|8
 楼主| power5000 发表于 2008-9-24 10:35 | 显示全部楼层 |阅读模式
最近自己做了板子,芯片用的是LPC2292,有内置的FLASH和SRAM,外面没有扩展存储器.<br /><br />用H-JTAG能检测到芯片,用H-Flasher能检测到LPC2292&nbsp;0x0401ff13;<br /><br />我以为板子已调通了,去调试一个简单的I/O控制BEEP的试验,I/O口没反应,AXD里程序会跑飞,好像没有仿真,同样的程序在SmartARM2200开发板上是好的!请教斑竹,哪里出问题了!<br />
zlgarm 发表于 2008-9-24 16:31 | 显示全部楼层

RE:power5000

您好!<br />SmartARM2200的例程都是针对有外部存储器的情况的,如果需要在没有外部存储器的开发板上运行,需要用户自己修改工程中的分散加载文件。<br />关于分散加载机制用户可以参考ADS相关的书藉。
 楼主| power5000 发表于 2008-9-25 10:12 | 显示全部楼层

分散加载文件

分散加载文件是不是指mem_a.scf、mem_b.scf、mem_c.scf文件呢?<br />要修改哪些东西?刚接触ARM,整体概念还不是很清楚,谢谢赐教!
XDream 发表于 2008-9-25 23:57 | 显示全部楼层

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

去周立功网站上下载。
 楼主| power5000 发表于 2008-9-26 10:26 | 显示全部楼层

谢谢XDream

用LPC2100的模板无非就是mem_b.scf文件不同,替代原先文件就可以了吧,是这样吗?
 楼主| power5000 发表于 2008-9-26 11:31 | 显示全部楼层

分散加载文件

lpc2292不外扩的情况,请教一下<br /><br />ROM_LOAD&nbsp;0x00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;加载地址=0,是吗?<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;ROM_EXEC&nbsp;0x80000000&nbsp;;执行地址=0,是吗?<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Startup.o&nbsp;(vectors,&nbsp;+First)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;(+RO)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;IRAM&nbsp;0x40000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;片内静态RAM的起始地址<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Startup.o&nbsp;(MyStacks)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;STACKS_BOTTOM&nbsp;+0&nbsp;UNINIT&nbsp;;栈<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Startup.o&nbsp;(StackBottom)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;STACKS&nbsp;0x40004000&nbsp;UNINIT&nbsp;;栈<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Startup.o&nbsp;(Stacks)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;ERAM&nbsp;0x81000000&nbsp;;外部RAM??<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;(+RW,+ZI)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;HEAP&nbsp;+0&nbsp;UNINIT&nbsp;:堆?<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Startup.o&nbsp;(Heap)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;HEAP_BOTTOM&nbsp;0x81080000&nbsp;UNINIT&nbsp;;堆?<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Startup.o&nbsp;(HeapTop)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />UNINIT是未初始化的意思吗?<br />
hjiongh 发表于 2008-10-8 09:00 | 显示全部楼层

这么改

ROM_LOAD&nbsp;0x00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;-------&nbsp;程序烧写起始地址<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;ROM_EXEC&nbsp;0x80000000&nbsp;;-----&nbsp;&nbsp;程序执行起始地址&nbsp;exec=&nbsp;execute<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Startup.o&nbsp;(vectors,&nbsp;+First)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;(+RO)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;IRAM&nbsp;0x40000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;片内静态RAM的起始地址<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Startup.o&nbsp;(MyStacks)<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />其他不用改,如果你在内部flash跑,ROM_EXEC&nbsp;0x80000000&nbsp;&nbsp;改成0x00000000
wanglingnj 发表于 2008-10-10 00:30 | 显示全部楼层

结合启动代码

光看分散加载文件是看不懂的,你要结合启动代码startup.s看才能看明白。注意AREA的语句和分散加载文件对应看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

81

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部