求教:iar下。xcl文件的写法

[复制链接]
8680|20
 楼主| btiger2000 发表于 2008-8-3 15:58 | 显示全部楼层 |阅读模式
既有内部RAM,又有外部扩展的RAM,&nbsp;.xcl文件该怎么写?<br /><br />比如内部:<br /><br />40000000--40003FFF<br /><br />外部:<br />80000000--80003FFF<br /><br />
Swd21ic 发表于 2008-8-3 18:23 | 显示全部楼层

re

你把内部和外部的RAM范围定义出来,比如<br />IRAMSTART&nbsp;40000000<br />IRAMEND&nbsp;&nbsp;&nbsp;40003FFF<br /><br />ERAMSTART&nbsp;8000000<br />ERAMEND&nbsp;&nbsp;&nbsp;80003FFF<br /><br />然后你的各个DATA段是怎么分配,就可以自己定义了.比如<br /><br />-Z&nbsp;DATA_I&nbsp;=&nbsp;IRAMSTART-IRAMEND<br />-Z&nbsp;DATA_Z&nbsp;=&nbsp;ERAMSTART-ERAMEND<br /><br />建议先去看几个例子就明白了<br /><br />
 楼主| btiger2000 发表于 2008-8-3 22:03 | 显示全部楼层

多谢了!我没找到例子!只好在这问了!

  
 楼主| btiger2000 发表于 2008-8-4 15:46 | 显示全部楼层

郁闷!

我照着这个方法作了!可是,只要把数据段分配到外部RAM,程序就会取数终止,或者出现图中的错误,外部RAM是可用的
 楼主| btiger2000 发表于 2008-8-4 16:40 | 显示全部楼层

我直接用指针对外部RAM的读写都没错!!

  
Swd21ic 发表于 2008-8-4 22:20 | 显示全部楼层

re

那个是JTAG的错误吧..<br />跟xcl有关系吗.?不太明白
 楼主| btiger2000 发表于 2008-8-5 08:41 | 显示全部楼层

在xcl文件中不使用外部RAM,就不会出以上的问题!!

不知道该如何结决!
lomeisi_99 发表于 2008-8-5 10:20 | 显示全部楼层

5.11以上版本都已经改了,不再使用XCL.而是用XCF.

  
 楼主| btiger2000 发表于 2008-8-5 10:46 | 显示全部楼层

我用的4.42

我将<br /><br />-DRAMSTART<br />-DRAMEND<br /><br />改为我实际的外部ram,80000000-8001FFFF,&nbsp;编译、运行,就会取数终止,设置成内部RAM则没有问题!!<br />
 楼主| btiger2000 发表于 2008-8-5 11:34 | 显示全部楼层

22xx的例子

我用iar&nbsp;下22xx的例子,将存储器设置改成跟我的板子一样,运行,就直接跳到__DEBUGBREAK(反汇编窗口看到)
 楼主| btiger2000 发表于 2008-8-7 15:47 | 显示全部楼层

仿真可以,脱机不运行!

使用.mac文件,仿真可以使用外部ram,&nbsp;但是脱机不运行!!<br /><br />不知道该怎么办了!!<br />请大虾指教啊!
lomeisi_99 发表于 2008-8-8 09:06 | 显示全部楼层

LZ邮箱是什么?我发个文档给你,应该对你有帮助

  
 楼主| btiger2000 发表于 2008-8-8 11:26 | 显示全部楼层

先行谢过了!!

btiger2000@tom.com
 楼主| btiger2000 发表于 2008-8-8 11:31 | 显示全部楼层

先行谢过了!!

btiger2000@tom.com
 楼主| btiger2000 发表于 2008-8-8 11:36 | 显示全部楼层

不好意思,网络问题,多发了一遍!

  
lomeisi_99 发表于 2008-8-8 16:48 | 显示全部楼层

发给你了

里面有比较详细的说明
 楼主| btiger2000 发表于 2008-8-11 09:29 | 显示全部楼层

收到了!谢谢!!不过好像还是不解决问题!

现在遇到了一个新问题,我都无法进入仿真了!运行llink-arm.exe&nbsp;提示无法找到目标cpu,而且连isp,也无法识别芯片了!!真是郁闷!!
 楼主| btiger2000 发表于 2008-8-11 14:26 | 显示全部楼层

换了一片2214,又可以调试了!

  
wujianbo 发表于 2008-8-12 06:43 | 显示全部楼层

盼望你有个结果

我还真没有做过这种分散的ram,很想知道真正的解决办法是啥,让大家共同进步
 楼主| btiger2000 发表于 2008-10-30 16:44 | 显示全部楼层

到目前为止,还是没能使用外部RAM

我就是想直接把外部RAM指定为数据区或者堆栈区,<br /><br />也就是在xcl文件中<br /><br />-DXRAMSTART=80000000<br />-DXRAMEND=8007FFFF<br />//************************************************<br />//&nbsp;Data&nbsp;segments.<br />//************************************************<br /><br />-Z(DATA)DATA_I,DATA_Z,DATA_N=XRAMSTART-XRAMEND<br /><br /><br />//*************************************************************************<br />//&nbsp;Stack&nbsp;and&nbsp;heap&nbsp;segments.<br />//*************************************************************************<br /><br />-D_CSTACK_SIZE=2000<br />//&nbsp;-D_SVC_STACK_SIZE=10<br />-D_IRQ_STACK_SIZE=100<br />-D_HEAP_SIZE=2000<br /><br />-Z(DATA)CSTACK+_CSTACK_SIZE=XRAMSTART-XRAMEND<br />//&nbsp;-Z(DATA)SVC_STACK+_SVC_STACK_SIZE=RAMSTART-RAMEND<br />-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_SIZE=XRAMSTART-XRAMEND<br /><br /><br /><br /><br />但是,这样程序运行就不正常。<br /><br />通过指针对外部RAM读写操作都正常!!说明外部RAM的硬件访问没有问题!!实在不知怎么办了!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

1178

帖子

6

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