qcc5171 变量最大可以用多大内存?
本帖最后由 jjtz 于 2023-2-18 16:53 编辑测试600byte的变量,都会死机,比如uint8 data。
有啥规则吗?没看到相关的文档。
普通单片机栈的空间好像不能超过1K,qcc517x的堆空间是app_pools那个表决定吗?也不能申请很大的一个空间,测试了静态存储区,也就是static变量也比较小。 我申请1096的静态空间,好像没有问题呀 申请动态空间好像不行,是否pool内存的粒度决定的? hyfhot 发表于 2023-2-20 15:52
我申请1096的静态空间,好像没有问题呀
1096是全局变量吗? 或者static?const属于代码存储区了,没限制 申请动态内存试试,我没试过直接申请这么大的静态ram过 局部变量测试,400byte ok,600byte ng。
malloc的话就是看,apps1.fw.pmalloc.info()。
所有内存信息查询,apps1.subsystem.memory_usage() 好像没有问题呀 没深究,也还没用过FreeRTOS,但每个Task动态申请的内存可能是放在堆栈中的。而QCC5171每个Task的堆栈默认只有700Byte。Task局部变量本身占用了一部分,所以导致无法申请大的RAM。如果Task数目不多,可以该大些试试。当然如果task多,那么FreeRTOS整个系统申请分配的总RAM Size也要改大:
页:
[1]