loiol 发表于 2019-3-16 19:26:04

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运行算法,这个大小的数据是否能够满足?


Wney 发表于 2019-3-17 20:19:10

具体多少不是很清楚,而且Debug的时候,就已经要用50个uint8了。debug开多几个也会提示内存不够呢。所以你那个空间,估计就算用DSP,也可能不够。

技术宅 发表于 2019-3-18 09:05:56

有工具可以看的。

snowywind 发表于 2019-3-18 11:12:38

PSKEY_PMALLOC_APP、 PSKEY_MAX_ACLS 、 PSKEY_MAX_SCOS这几个PSKEY了解一下,吃透了就能解决您的问题了。

psy16882001 发表于 2019-3-18 13:07:04

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:39

新人路过,希望楼主的问题早日解决,也让后来者少走一些弯路。

loiol 发表于 2019-3-18 16:45:50

BTgogogo 发表于 2019-3-18 15:07
新人路过,希望楼主的问题早日解决,也让后来者少走一些弯路。

有好的解决办法会发出来的

BTgogogo 发表于 2019-3-20 08:45:21

wufeijian 发表于 2019-3-18 16:45
有好的解决办法会发出来的

支持支持,棒棒哒!!~~
页: [1]
查看完整版本: csr8670 内存空间不够