完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个PSoC5LP项目已经有好几年了。
本周我安装了最新的PSoC创建者3.1更新,现在我的系统将不完全。 它或多或少地正常运行,除了每一个MalCube()都失败了。 好像系统突然从RAM中跑出来了。 这是一个非常大的项目,但实际上在RAM中并没有很大的量,而且在更新CealTPR 3.1并重新编译之前,它工作得很好。 在编译结束时,我得到了这样的信息: 闪存使用:262144字节(110520)中的42.2%个。Bootloader:16128字节。应用:94392字节SRAM使用:65536字节(28453)中的43.4%个。堆栈:2048字节。堆:128字节。 这表明我有大量的无公羊。然而,通过测试不同大小的MALOC,我确定只有116个字节是免费的!这听起来不对!在运行时有没有确定正确的空闲SRAM量的方法? |
|
相关推荐
9个回答
|
|
|
|
|
|
谢谢鲍伯
我可以这样做,但我还是想知道为什么我的系统工作在我更新的创造者3.1不是现在。 3.1我的系统一般都在创造自由的SRAM几KB,现在只有116个字节!!有错的地方,我需要找到。 可能会有一些问题与新的组件包或编译器。 阿尔索 |
|
|
|
我的意思是,堆设置是0x1000和堆栈0x4000。
|
|
|
|
|
|
|
|
肯尼,你只需要设置你的堆大小来合理数量。我刚刚查过了,我可以证明给malloc()分配的字节数+ 8bytes请求内部客房。编译报道,你堆只有128个字节。
这是我的支票程序 eatmem虚空(void){ UInt32数= 0;UInt32金额= 0;void*指针;#定义ChunkSize 20(永远){指针= malloc(分片);如果(指针= = null){ return;//设置断点来检查局部变量。}=CukSige;计数+++;} |
|
|
|
嗨,鲍伯
是的,但我没有将堆大小设置为128字节。自从上次建造以来,我没有改变任何东西。 我看到汇编报告说我有,但我没有!有人改变了它!!!! 我做了和你几乎完全一样的测试,我知道我只有116字节的空闲。 我想知道如何更新到创建者3.1导致我的堆大小变得如此之小。 不管怎样,我已经手动地把它改回来了,现在效果好多了。 |
|
|
|
(晚餐回来)
既然你的项目再次运行,我们就可以放松了! 什么改变了你的设置?我会认为创造者改变了这些价值观。Prime3.1 MalCube()没有像它应该做的那样从堆中获取内存。最后一次使用的RAM位置增加了地址的内存,而堆栈从最上面的地址运行到较低的地址。检查是否MALROCUR()已经运行到堆栈区域。当您手动将堆栈更改为由MalCube()检索的内存块时,或者当您试图为自己的目的使用特定内存区域时,这会崩溃。现在使用3.1,MalCube()的行为类似于任何其他系统。以前你没有指定任何堆使用,所以在3.1,它默认为0x80,堆栈大小0x4000是imHO有点过火,除非你分配更大的结构或数组作为堆栈上的本地VAR。 鲍勃 |
|
|
|
因为你的程序已经运行多年,我有一种预感,malloc导致内存碎片。你能消除malloc的使用只声明一个数组?
|
|
|
|
谢谢鲍伯
我真的很幸运,硬件方面的东西,我已经有几百个板,他们都工作除了少数。在那些不起作用的情况下,很明显,板的内部层有短裤,可能是由于与外层不对齐。 最令人头痛的是创建者软件:i)仿真EEPROM中的讨厌的bug,这使得我的客户板死亡。(ii)为PSoC5放弃支持对于我们来说是一个巨大的问题,并且iii)更新到创建者3.1的Bootloader,用3.1构建的二进制文件不能被加载到板上(同样的Bootloader!)使用创建者3构建。所以,我们的客户都是停留在当前版本中,或者他们必须把单位还给我们被编程使用miniprog-3。 我不再设计Cypress PSoC产品到我们的新设计,我做的头痛。我已经从其他的供应商如芯片和ATMEL这些头痛无。 |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2101 浏览 1 评论
1848 浏览 1 评论
3666 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1783 浏览 6 评论
1533 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
564浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
418浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
434浏览 2评论
380浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
909浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 14:19 , Processed in 0.998310 second(s), Total 95, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号