jjtz 发表于 2023-2-18 15:52:50

qcc5171 变量最大可以用多大内存?

本帖最后由 jjtz 于 2023-2-18 16:53 编辑

测试600byte的变量,都会死机,比如uint8 data。

有啥规则吗?没看到相关的文档。

jjtz 发表于 2023-2-18 16:03:06

普通单片机栈的空间好像不能超过1K,qcc517x的堆空间是app_pools那个表决定吗?也不能申请很大的一个空间,测试了静态存储区,也就是static变量也比较小。

hyfhot 发表于 2023-2-20 15:52:13

我申请1096的静态空间,好像没有问题呀

hyfhot 发表于 2023-2-20 15:52:47

申请动态空间好像不行,是否pool内存的粒度决定的?

jjtz 发表于 2023-2-20 16:37:10

hyfhot 发表于 2023-2-20 15:52
我申请1096的静态空间,好像没有问题呀

1096是全局变量吗? 或者static?const属于代码存储区了,没限制

swh的学长 发表于 2023-2-20 17:24:29

申请动态内存试试,我没试过直接申请这么大的静态ram过

jjtz 发表于 2023-2-20 21:29:08

局部变量测试,400byte ok,600byte ng。

malloc的话就是看,apps1.fw.pmalloc.info()。

所有内存信息查询,apps1.subsystem.memory_usage()

yuankan 发表于 2023-11-26 17:55:23

好像没有问题呀

xtge 发表于 2024-3-18 15:05:45

没深究,也还没用过FreeRTOS,但每个Task动态申请的内存可能是放在堆栈中的。而QCC5171每个Task的堆栈默认只有700Byte。Task局部变量本身占用了一部分,所以导致无法申请大的RAM。如果Task数目不多,可以该大些试试。当然如果task多,那么FreeRTOS整个系统申请分配的总RAM Size也要改大:

页: [1]
查看完整版本: qcc5171 变量最大可以用多大内存?