6个月前
在集成算法库之后无法分配内存。
张贴了徐福东0分 8回复嗨对话框,
在集成算法库之后无法分配内存。
我们的算法仅需要总RAM 9KBytes(数据1.5K BSS 7.5K)。
设置以下两个参数后,问题仍然存在:malloc失败。
- 设定configtotal_heap_size从11200到25 * 1024。
- 当OS_TASK_CREATE时,将堆栈设置为756到1024 * 22。
我附上了我的分析,请帮我检查更多。
谢谢。
依恋 | 尺寸 |
---|---|
编译失败屏幕截图 | 699.47 KB. |
6个月前
嗨Xuguodong,
您可以使用您想要的堆大小。如果系统运行RAM,则链接器将发出错误。请参阅https://freertos.org/有关Freertos的更多信息。
谢谢,PM_DIALOG.
5个月前
如下,如果任务堆栈> 10 * 1024,则内存无法分配。
/ *************************************************************************************************
*内存特定配置
* /
#define dg_configqspi_cached_optimal_retram_0_size_ae(64 * 1024)
#define dg_configqspi_cached_ram_size_ae(32 * 1024)
#define dg_configqspi_cached_retram_0_size_ae(96 * 1024)
#define dg_configqspi_cached_ram_size(56 * 1024)
#define dg_configqspi_cached_retram_0_size(72 * 1024)
#define dg_configqspi_code_size(256 * 1024)
OS_TASK_CREATE(“PXP Reporter”,/ *分配给任务的文本名称,
只调试;内核不使用。* /
pxp_reporter_task,/ *实现任务的函数。* /
null,/ *传递给任务的参数。* /
#if(dg_configdisable_background_flash_ops == 1)
512,/ *分配给的字节数
堆栈的任务。* /
#别的
#if zsens_fusion_algo.
1024 * 10,/ *分配给的字节数
堆栈的任务。* /
#别的
756,
#万一
#万一
5个月前
/ *************************************************************************************************
*内存特定配置
* /
#define dg_configqspi_cached_optimal_retram_0_size_ae(64 * 1024)
#define dg_configqspi_cached_ram_size_ae(32 * 1024)
#define dg_configqspi_cached_retram_0_size_ae(96 * 1024)
#define dg_configqspi_cached_ram_size(56 * 1024)
#define dg_configqspi_cached_retram_0_size(72 * 1024)
#define dg_configqspi_code_size(256 * 1024)
/ *************************************************************************************************
* freertos特定配置
* /
#define os_freertos / *定义它以使用freertos * /
#if(dg_configuse_soc)
#f定义(debug_soc)
#define configtotal_heap_size 12300 / *这是freertos total堆大小* /
#别的
// #define configtotal_heap_size 11200 / *这是freertos total堆大小* /
#define configtotal_heap_size 20 * 1024 / *这是freertos total堆大小* /
#万一
#别的
#define configtotal_heap_size 11000 / *这是freertos total堆大小* /
#万一
6个月前
嗨Xuguodong,
VapplicationMallocfailedhook()是FreeRos的挂钩。当没有足够的连续堆可用于尝试的内存分配时,此Hoot通知应用程序。我建议将FreeRTOS堆(CommentOTOL_HEAP_SIZE中的CONCURE_CONFIG_XXXXXXXXXXXX.H文件的大小提高到代码编译的最大号码。
谢谢,PM_DIALOG.