完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
IM使用DSPIC33 EP256MC206,我知道内存没有被填充。我使用PSV内存0x9000地址到0x11994填充所有地址之间的内存。静态cont int属性(空间(PSV),地址(0x9000))t0 [ 5 ]={20,80160180220};…静态cont int属性((空间(PSV),地址(0x11994)))t3xxx [ 5 ]={24,35,11116140};IM意识不到把数组放在内存边界附近。我目前没有固定,但错误是不相关的。它已经2天IM搜索和尝试,请帮助我。我已经用另一台PC尝试过TH的错误了。我得到了同样的结果。要清楚的是,我可以使用命令的静态常数It-属性((空间(PSV),地址(0x11994)))T3xxx [5 ]={24,35,39 116140};但是只有当我擦除一些数据时,它才起作用,否则就会出错。
以上来自于百度翻译 以下为原文 Im using dspic33ep256mc206 and i know memory is not filled. Im using psv memory 0x9000 adress to 0x11994 im filling all memory between these addresses. static const int __attribute__ ((space(psv),address (0x9000))) T0[5]={ 20,80,160,180,220 }; . . . static const int __attribute__ ((space(psv),address (0x11994))) T3XXX[5]={ 24,35,39,116,140 }; Im aware not to put array near by memory boundries. I didnt fixed currently but error is not relevant with that. Its been 2 days im searching and trying please help me. Is thıs error abaout pc memory I have tried with another pc. I got same result. To be clear I can use thıs command static const int __attribute__ ((space(psv),address (0x11994))) T3XXX[5]={ 24,35,39,116,140 }; to put constant to address 0x11994 ıts workıng. But its only working when I erased some data otherwise ı got error. |
|
相关推荐
2个回答
|
|
是编译器或链接器的错误-我猜链接器,因为它是一个通常与内存玩。为什么你试图迫使变量/数组在特定的位置?简单地通过名字来引用变量并让链接器对它们所指派的地址进行连接/引用几乎总是更好的。为什么要尝试使用PSV空间。您已经告诉编译器/链接器,这些值是const,所以它将尝试将它们放在闪存中。您可以出现(链接器)耗尽空间的一个原因是,当您开始分配地址,但使它们出错,或者留下空隙(无法填补)。占用比你想象的更多的内存)或重叠地址范围(因此链接器试图将变量放在已分配内存的顶部)。苏珊
以上来自于百度翻译 以下为原文 Is the error from the compiler or the linker - I'm guessing the linker as it is the one that generally plays with memory. Why are you trying to force variables/arrays to be in specific locations? It is almost always better to simply refer to the variables by name and let the linker make the connections/references to whatever address it assigns to them. Why are you trying to use PSV space. You have already told the compiler/linker that the values are const so it will be trying to place them in flash memory already. One reason you can appear (to the linker) to run out of space is when you start assigning addresses but get them wrong and either leave gaps (which cannot be filled and so take up more memory than you think) or overlap address ranges (so the linker tries to place the variable over the top of already allocated memory). Susan |
|
|
|
PSV空间只有32 K,没有分页。如果你想成为链接器,那么你就必须使用链接器。我假设你没有使用编译器的文本段和代码。
以上来自于百度翻译 以下为原文 The PSV Space is only 32K without Paging. If you want to Be the linker, then you have to Bee the linker. And I assume you are not using up the Compilers Text segment, And code for that matter. |
|
|
|
只有小组成员才能发言,加入小组>>
5244 浏览 9 评论
2035 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3214 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2261 浏览 5 评论
779浏览 1评论
673浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
599浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
683浏览 0评论
580浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 20:28 , Processed in 1.509917 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号