完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
当我在绝对地址0x000处声明数组时,是否存在错误1359(没有用于[函数名称]参数的空间)的原因?如果我从地址0x002放入数组,错误就消失了……似乎有一个16位的自动变量“希望”保持在0x000。
|
|
相关推荐
15个回答
|
|
|
你没有告诉我们你用的是哪种芯片,甚至连家里都没有。我对PIC18系列有点熟悉,内存映射表明重置向量是0x0000(0x0008处的高prio iRQ和0x0018处的低prio IRQ)。
|
|
|
|
|
|
我猜想,编译器使用Access传递参数,而您只是使用变量来访问整个访问区域。
|
|
|
|
|
|
是的,我怀疑。
|
|
|
|
|
|
WREG和SFRs位于上层RAM库中的访问和非访问SFR区域。我不能张贴更多,因为它很难从我的智能手机张贴,我们已经失去了互联网连接,因为另一个ISP提供商正在我们的社区进行安装。不管怎么说,似乎有一个“假”变量。
|
|
|
|
|
|
最后得到了“笑话”:定位3kBytes的Pixel[]@0x000阻塞了所有PIC资源:GPR、SFR等。难怪编译器允许以@0x002x开始的分配。虽然我不会打赌这种软件会产生任何有用的结果。
|
|
|
|
|
|
我会张贴更多,但PIC确实有超过3 KIB的SRAM。有一个变量名为“假”;
|
|
|
|
|
|
很明显,这个PIC有3kB以上的RAM。但是重要的资源(见上面)位于最低的银行/地址中。我不敢存储变量,例如在一些定时器配置寄存器中:)
|
|
|
|
|
|
不,他们不。所有的SFRs位于地址0xe00以上。WREG在0xFE8。
|
|
|
|
|
|
不,它不会阻塞任何东西。分配只在0x00 2x?我还有其他项目,从0x000开始就有了38个40B阵列,它们工作得很好。这是PIC18F24J50的数据存储器映射图。我的3KB数组没有覆盖SFR。它覆盖了Access RAM和我不使用的USB BDT区域。这是一个空闲ram空间的问题,将数组大小减小到[1000*3]解决了这个问题。
|
|
|
|
|
|
好的,让我们的互联网连接再次运行。用这个程序和XC8 v1.38自由模式:编译18F24J50不会产生错误并且不会占用数据空间:内存摘要:程序空间使用Ch(12)的3FF8h字节(0.1%),数据空间使用0h(0)的EC0h字节(0.0%),同时编译18F24K50生成此错误:错误[1250 ] .xC8v1.38 源公共xFutf.c;44。无法为变量Fake找到空间(1字节),但是在xxtofl.c文件中没有变量“Fake”。将绝对地址更改为@0x002,导致内存摘要:程序空间使用4000h字节的Ch(12)(0.1%),数据空间使用800h字节的C00h(3072)(150.0%)。这个“假”变量是什么?
|
|
|
|
|
|
只是一个猜测。0的地址可能有特殊的意义,通常用来表示空。“假”变量可能在链接器脚本中,或者硬编码到编译器中,以防止地址0x000被使用。它是一个设备,而不是另一个设备。
|
|
|
|
|
|
在XC8用户指南中发现这一点:(1413)指针比较涉及位于地址0x0的“*”的地址,可能无效(代码生成器)放置在地址0的绝对对象已经获取了它的地址。根据定义,这是NULL指针和检查NULL的代码(即,检查地址是否有效)可能失败。int foobar@0x00;int*ip;voidmain(void){ip=&foobar;//oops--0不是有效的地址。
|
|
|
|
|
|
对不起,我错了。改为1000×3并不能解决@ 0x000问题。
|
|
|
|
|
|
如果用户手册上写着“不要做”,那就不足为奇了。:)
|
|
|
|
|
|
PIC18F24J50编译测试项目:也就是“int i”变量的大小。如果我把地址改为0×002:我得到这个:3074是我的数组的大小和“int i”的大小。XC8忘记添加变量的大小为0×000。荒谬…无论如何,我决定删除一些静态函数,使他们的代码内联。不要问我为什么…
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
503 浏览 0 评论
5812 浏览 9 评论
2350 浏览 8 评论
2237 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3544 浏览 3 评论
1159浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1122浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
889浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
503浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 02:36 , Processed in 1.173616 second(s), Total 102, Slave 85 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5997