csr8670 内存空间不够
用csr8670跑一段算法,目前还不会使用dsp,就先用mcu进行跑,数据类型是uint32,也就是一个数据4个字节,算法运行的时候需要大概510数据空间,这样至少需要510 byte * 4 = 2040 word,需要2K的空间,我用PanicNull判断是否申请成功,如下PanicNull(malloc(sizeof(int32) * 130));debug的时候,运行到这里的时候就停了,debug窗口输出VM has panicked! Reason:
Pointer is NULL (Context: 0x0)意思就是申请失败了,我想请问一下各路大神,类似这样大小的数据如何进行分配?看了ADK提供的一些文档,理解的不是很清楚,主要有几个方面:
1.csr8670分配给程序使用的RAM空间有多少?程序又使用了多少?
2.csr8670可以扩展SRAM,扩展是否可行?
3.如果使用内部的DSP运行算法,这个大小的数据是否能够满足?
具体多少不是很清楚,而且Debug的时候,就已经要用50个uint8了。debug开多几个也会提示内存不够呢。所以你那个空间,估计就算用DSP,也可能不够。 有工具可以看的。 PSKEY_PMALLOC_APP、 PSKEY_MAX_ACLS 、 PSKEY_MAX_SCOS这几个PSKEY了解一下,吃透了就能解决您的问题了。 snowywind 发表于 2019-3-18 11:12
PSKEY_PMALLOC_APP、 PSKEY_MAX_ACLS 、 PSKEY_MAX_SCOS这几个PSKEY了解一下,吃透了就能解决您的问题了。
曾讀過Configuring the BlueCore Memory Allocator Application Note, 但是太難理解:'( 新人路过,希望楼主的问题早日解决,也让后来者少走一些弯路。 BTgogogo 发表于 2019-3-18 15:07
新人路过,希望楼主的问题早日解决,也让后来者少走一些弯路。
有好的解决办法会发出来的 wufeijian 发表于 2019-3-18 16:45
有好的解决办法会发出来的
支持支持,棒棒哒!!~~
页:
[1]