DEMO版也可以** 就成了正版了

[复制链接]
3039|19
 楼主| 救火车 发表于 2008-11-28 19:42 | 显示全部楼层 |阅读模式
assembling&nbsp;Startup.s...<br />compiling&nbsp;main.c...<br />linking...<br />Program&nbsp;Size:&nbsp;Code=1236&nbsp;RO-data=16400&nbsp;RW-data=0&nbsp;ZI-data=1256&nbsp;&nbsp;<br />FromELF:&nbsp;creating&nbsp;hex&nbsp;file...<br />&quot;IO_2101.axf&quot;&nbsp;-&nbsp;0&nbsp;Error(s),&nbsp;0&nbsp;Warning(s).<br /><br />版本&nbsp;RealView&nbsp;MDK-ARM&nbsp;Version:3.24<br /><br />我用的是LPC2101&nbsp;只有8K。这个编译器给我放到16K多的地方。我很郁闷.<br /><br /><br /><br />
luhuaren 发表于 2008-11-28 22:15 | 显示全部楼层

re

不明白为什么你RW段的大小会是0
jack.king 发表于 2008-11-29 10:35 | 显示全部楼层

LZ的软件那里下啊?

  
古道热肠 发表于 2008-11-29 16:57 | 显示全部楼层

Keil有评估版软件,在英蓓特网站上下载

最大支持16K代码上限的编译.
avocationA 发表于 2008-11-29 19:19 | 显示全部楼层

俺有**文件

  
avocationA 发表于 2008-11-29 19:21 | 显示全部楼层

1

  <br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/200811/20081129191817713.rar'>https://bbs.21ic.com/upfiles/img/200811/20081129191817713.rar</a>
avocationA 发表于 2008-11-29 19:22 | 显示全部楼层

呵呵 火车都来ARM版了,

  
jack.king 发表于 2008-11-29 20:49 | 显示全部楼层

avocationA能说明下选c51和arm的区别不?

  
avocationA 发表于 2008-11-29 20:59 | 显示全部楼层

C51注册51的 ARM注册 ARM的

  
jack.king 发表于 2008-11-29 21:12 | 显示全部楼层

网站上面搞不下来什么都填写了

http://arm.embedinfo.com/ApplyDemo_Save.asp
 楼主| 救火车 发表于 2008-11-30 18:20 | 显示全部楼层

我用的就是KEIL的DEMO版(32K限制)

只把管口置高、置低所以RW段是0<br />我用的是LPC2101&nbsp;只有8K。这个编译器给我放到16K多的地方。<br />谁知道怎么设置?让编译器编到8K以里的地方去。<br />
avocationA 发表于 2008-11-30 18:41 | 显示全部楼层

DEMO版也可以** 就成了正版了

  
 楼主| 救火车 发表于 2008-12-1 12:17 | 显示全部楼层

我是想问如何让编译器编到8K以里的地方去。

  
dld2 发表于 2008-12-1 16:45 | 显示全部楼层

16k大小的内容怎么也放不到8k里面

是字库吗?
 楼主| 救火车 发表于 2008-12-1 18:09 | 显示全部楼层

也许是我没说明白。

#include&nbsp;&ltLPC21xx.h&gt<br /><br />#define&nbsp;&nbsp;LED_PIN&nbsp;&nbsp;&nbsp;21&nbsp;<br />#define&nbsp;&nbsp;LED_OFF&nbsp;(IO0CLR=(1&lt&ltLED_PIN))<br />#define&nbsp;&nbsp;LED_ON&nbsp;&nbsp;(IO0SET=(1&lt&ltLED_PIN))<br /><br /><br />int&nbsp;main&nbsp;(void)<br />{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;long&nbsp;i;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;IO0DIR&nbsp;&nbsp;|=&nbsp;(1&nbsp;&lt&lt&nbsp;(LED_PIN));&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt&nbsp;6000000;&nbsp;i++);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;LED_ON;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt&nbsp;6000000;&nbsp;i++);<br />&nbsp;&nbsp;&nbsp;&nbsp;LED_OFF;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt&nbsp;6000000;&nbsp;i++);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />以上是源程序,以下是Disassembly窗口的内容<br />&nbsp;&nbsp;&nbsp;239:&nbsp;Vectors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;Reset_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />0x00000000&nbsp;&nbsp;E59FF018&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,[PC,#0x0018]<br />&nbsp;&nbsp;&nbsp;240:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;Undef_Addr&nbsp;<br />0x00000004&nbsp;&nbsp;E59FF018&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,[PC,#0x0018]<br />&nbsp;&nbsp;&nbsp;241:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;SWI_Addr&nbsp;<br />0x00000008&nbsp;&nbsp;E59FF018&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,[PC,#0x0018]<br />&nbsp;&nbsp;&nbsp;242:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;PAbt_Addr&nbsp;<br />0x0000000C&nbsp;&nbsp;E59FF018&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,[PC,#0x0018]<br />&nbsp;&nbsp;&nbsp;243:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;DAbt_Addr&nbsp;<br /><br />。。。。。。。。//中间省略若干行。。。。。。。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;13:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0DIR&nbsp;&nbsp;|=&nbsp;(1&nbsp;&lt&lt&nbsp;(LED_PIN));&nbsp;&nbsp;<br />0x000041C4&nbsp;&nbsp;E59F1074&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,[PC,#0x0074]<br />0x000041C8&nbsp;&nbsp;E5911008&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,[R1,#0x0008]<br />0x000041CC&nbsp;&nbsp;E3811602&nbsp;&nbsp;ORR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,R1,#0x00200000<br />0x000041D0&nbsp;&nbsp;E59F2068&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,[PC,#0x0068]<br />0x000041D4&nbsp;&nbsp;E5821008&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,[R2,#0x0008]<br />&nbsp;&nbsp;&nbsp;&nbsp;14:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt&nbsp;6000000;&nbsp;i++);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />0x000041D8&nbsp;&nbsp;E3A00000&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,#0x00000000<br />0x000041DC&nbsp;&nbsp;EA000000&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x000041E4<br />0x000041E0&nbsp;&nbsp;E2800001&nbsp;&nbsp;ADD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,R0,#0x00000001<br />0x000041E4&nbsp;&nbsp;E59F1058&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,[PC,#0x0058]<br />0x000041E8&nbsp;&nbsp;E1500001&nbsp;&nbsp;CMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,R1<br />0x000041EC&nbsp;&nbsp;3AFFFFFB&nbsp;&nbsp;BCC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x000041E0<br />&nbsp;&nbsp;&nbsp;&nbsp;15:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(1)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;16:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />0x000041F0&nbsp;&nbsp;EA000011&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000423C<br />&nbsp;&nbsp;&nbsp;&nbsp;17:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LED_ON;&nbsp;<br />0x000041F4&nbsp;&nbsp;E3A01602&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,#0x00200000<br />0x000041F8&nbsp;&nbsp;E59F2040&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,[PC,#0x0040]<br />0x000041FC&nbsp;&nbsp;E5821004&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,[R2,#0x0004]<br />&nbsp;&nbsp;&nbsp;&nbsp;18:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt&nbsp;6000000;&nbsp;i++);&nbsp;<br />0x00004200&nbsp;&nbsp;E3A00000&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,#0x00000000<br />0x00004204&nbsp;&nbsp;EA000000&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000420C<br />0x00004208&nbsp;&nbsp;E2800001&nbsp;&nbsp;ADD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,R0,#0x00000001<br />0x0000420C&nbsp;&nbsp;E59F1030&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,[PC,#0x0030]<br />0x00004210&nbsp;&nbsp;E1500001&nbsp;&nbsp;CMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,R1<br />0x00004214&nbsp;&nbsp;3AFFFFFB&nbsp;&nbsp;BCC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00004208
 楼主| 救火车 发表于 2008-12-1 18:11 | 显示全部楼层

LPC2101程序最大地址才到0x2000,编译器给我弄到0x000041C4

我想问的就是怎么把程序编译到8K(0x2000)以内去.
dld2 发表于 2008-12-1 18:51 | 显示全部楼层

按照连接信息

Program&nbsp;Size:&nbsp;Code=1236&nbsp;RO-data=16400&nbsp;RW-data=0&nbsp;ZI-data=1256<br /><br />也就是说:<br />&nbsp;&nbsp;&nbsp;&nbsp;只读数据有16K。<br />&nbsp;&nbsp;&nbsp;&nbsp;ZI变量有1K多。&nbsp;&nbsp;<br />这不象是这个程序能得到的结果。<br /><br />另外,需要看看linker设置。
 楼主| 救火车 发表于 2008-12-2 18:51 | 显示全部楼层
 楼主| 救火车 发表于 2008-12-3 11:33 | 显示全部楼层

原因找到了,原来是DEMO版的限制。

http://www.keil.com/demo/limits.asp<br /><br />The&nbsp;vector&nbsp;table,&nbsp;reset&nbsp;handler,&nbsp;and&nbsp;library&nbsp;initialization&nbsp;code&nbsp;are&nbsp;linked&nbsp;at&nbsp;the&nbsp;base&nbsp;address.&nbsp;The&nbsp;remaining&nbsp;user&nbsp;code&nbsp;and&nbsp;constants&nbsp;are&nbsp;offset&nbsp;from&nbsp;the&nbsp;base&nbsp;address&nbsp;by&nbsp;0x4000&nbsp;(16&nbsp;KBytes).&nbsp;Programs&nbsp;generated&nbsp;with&nbsp;the&nbsp;Evaluation&nbsp;Version&nbsp;of&nbsp;the&nbsp;tools&nbsp;may&nbsp;not&nbsp;be&nbsp;programmed&nbsp;into&nbsp;single-chip&nbsp;devices&nbsp;with&nbsp;less&nbsp;than&nbsp;16&nbsp;KBytes&nbsp;of&nbsp;on-chip&nbsp;ROM/Flash.
古道热肠 发表于 2008-12-4 10:09 | 显示全部楼层

哈哈,好象是说评估版前16K不给您用

幸好俺用的那芯片有64K空间,空掉16K也不心疼.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

113

主题

1249

帖子

2

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