picc中ram分配问题

[复制链接]
5171|6
 楼主| gutian120 发表于 2008-12-29 14:34 | 显示全部楼层 |阅读模式
pic, RAM, AN, se, ps
picc中局部变量分配在bank0,是不是bank0中的字节数是整个程序中所有函数局部变量的总和?可不可以把一些局部变量定义在其他bank?<br />还有下面这两个错误什么意思?<br />Error&nbsp;&nbsp;&nbsp;[593]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0x922&nbsp;words&nbsp;(0x922&nbsp;withtotal)&nbsp;for&nbsp;&nbsp;&nbsp;psect&nbsp;&quot;text2&quot;&nbsp;in&nbsp;segment&nbsp;&quot;CODE&quot;<br />Error&nbsp;&nbsp;&nbsp;[593]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0x1&nbsp;words&nbsp;(0x1&nbsp;withtotal)&nbsp;for&nbsp;psect&nbsp;&quot;xtemp&quot;&nbsp;in&nbsp;segment&nbsp;&quot;BANK0&quot;<br />先谢谢各位了……
headwolf 发表于 2008-12-31 08:48 | 显示全部楼层

看张明峰的教程.

  
yewuyi 发表于 2008-12-31 09:23 | 显示全部楼层

~~

什么型号?
 楼主| gutian120 发表于 2008-12-31 14:58 | 显示全部楼层

谢谢2楼和3楼的回复

开始用pic16f913,然后我换成pic16f916,错我依然……<br />用pic16f913<br />Error&nbsp;&nbsp;&nbsp;[491]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0xB5&nbsp;words&nbsp;for&nbsp;psect&nbsp;&quot;rbss_0&quot;&nbsp;in&nbsp;segment&nbsp;&quot;BANK0&quot;<br />Error&nbsp;&nbsp;&nbsp;[491]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0x40&nbsp;words&nbsp;for&nbsp;psect&nbsp;&quot;rbss_1&quot;&nbsp;in&nbsp;segment&nbsp;&quot;BANK1&quot;<br />Error&nbsp;&nbsp;&nbsp;[593]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0x861&nbsp;words&nbsp;(0x861&nbsp;withtotal)&nbsp;for&nbsp;psect&nbsp;&quot;text2&quot;&nbsp;in&nbsp;segment&nbsp;&quot;CODE&quot;<br />Error&nbsp;&nbsp;&nbsp;[593]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0x1&nbsp;words&nbsp;(0x1&nbsp;withtotal)&nbsp;for&nbsp;psect&nbsp;&quot;xtemp&quot;&nbsp;in&nbsp;segment&nbsp;&quot;BANK0&quot;<br />用pic16f916:<br />Error&nbsp;&nbsp;&nbsp;[491]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0xB5&nbsp;words&nbsp;for&nbsp;psect&nbsp;&quot;rbss_0&quot;&nbsp;in&nbsp;segment&nbsp;&quot;BANK0&quot;<br />Error&nbsp;&nbsp;&nbsp;[491]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0x40&nbsp;words&nbsp;for&nbsp;psect&nbsp;&quot;rbss_1&quot;&nbsp;in&nbsp;segment&nbsp;&quot;BANK1&quot;<br />Error&nbsp;&nbsp;&nbsp;[593]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0x8A0&nbsp;words&nbsp;(0x8a0&nbsp;withtotal)&nbsp;for&nbsp;psect&nbsp;&quot;text2&quot;&nbsp;in&nbsp;segment&nbsp;&quot;CODE&quot;<br />Error&nbsp;&nbsp;&nbsp;[593]&nbsp;;&nbsp;.&nbsp;can't&nbsp;find&nbsp;0x1&nbsp;words&nbsp;(0x1&nbsp;withtotal)&nbsp;for&nbsp;psect&nbsp;&quot;xtemp&quot;&nbsp;in&nbsp;segment&nbsp;&quot;BANK0&quot;<br /><br />张明锋的教材我看过了,只是不知是否理解正确,教材中说局部变量自定义在bank0中,那我要想八该变量定义在其他bank中,是否要把该局部变量设为全局变量呢?<br />谢谢了……
soso 发表于 2008-12-31 15:09 | 显示全部楼层

好像你使用了大数组?

&nbsp;&nbsp;是不是一个函数的代码超过了2K?<br />&nbsp;&nbsp;一个ram数组超过了一个bank?<br />&nbsp;这些是有限制的。
 楼主| gutian120 发表于 2008-12-31 15:23 | 显示全部楼层

回复五楼

我只将一个64bytes的数组定义在了bank1,再没有定义其他变量,bank1的通用寄存器有80多bytes,怎么会放不下呢?
兰天白云 发表于 2008-12-31 17:50 | 显示全部楼层

把局部变量设成全局变量试试

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

26

帖子

0

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