This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/CC2640R2F:SYS/BIOS 中的堆和 ICall 中的堆之间的关系是什么

Guru**** 2576215 points
Other Parts Discussed in Thread: BLE-STACK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/590497/rtos-cc2640r2f-what-is-the-relationship-between-heap-in-sys-bios-and-heap-in-icall

器件型号:CC2640R2F
Thread 中讨论的其他器件:BLE-STACK

工具/软件:TI-RTOS

你(们)好,先生

我对所谓的堆有点困惑。

 在 Bios_User_Guide.pdf 上、我获得了一些课程、我们可以使用由 TI RTOS 管理的堆的 Memory_alloc 和 Memory_free、并且我们可以使用.cfg 文件为其提供适当的配置。

同时,我还在 sdk\source\ti\blestack\heapmgr.h 中看到了一个 heapmgr,它的 param HEAPMGR_size 在编译阶段的命令行中从宏传递。

所以、

第一个问题、它们之间的关系是什么?

第二,当 HEAPMGR_SIZE=0被通过时,我的程序在 HEAPMGR_INIT()中挂起。 确切地说、该程序会在以下句子中被冻结:

//设置一个从未释放的 NULL 块,以便小块桶
//永远不会与旷野融合在一起。
HEAPMGR_FF1 =温度;
HEAPMGR_FF2 = HEAPMGR_malloc (0);//my xds110无法从此 HEAPMGR_malloc (0)获取返回值;
HEAPMGR_FF1 =(heapmgrHdr_t *) HEAPMGR_HAP;

第三、我是否应该注释掉调用条目(iCall_heapInit)、因为我不会在项目中使用 iCall_malloc

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的项目基于 simplelink_cc2640r2_sdk_1_30_00_25
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以查看我们的软件开发人员指南: software-dl.ti.com/.../index.html
    您是否正在使用 BLE-Stack 中的任何示例?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我的项目基于 multi_role。

    我对 iCall 的机制比较熟悉。 但我不知道 iCall 中的堆与 SYS/BIOS 提供的 heapmin、heapmem、heapmultibuf 之间的区别。

    我也很困惑、我需要在 XDC .cfg 中写入一个合适的堆配置、并在命令行中定义 HEAPMGR_SIZE=xx。