工具/软件:TI-RTOS
与此论坛上的许多人一样、我一直在为我们基于外设的简单应用寻找更多 RAM。 我看到大块的一个位置是 iCall 任务的1000字节栈、它是使用 iCall_Addrs.h 中定义的栈大小创建的:
#define ICALL_TASK_STACK_Sizes{1000}
由于 Task_create()被用来实例化这个任务、我假设/猜测1000个字节随后从 app_ble.cfg 中的 RTOS 堆中分配:
/*
*为 BIOS 指定默认堆大小。
*
if (typeof no_rom =='undefined'||(typeof no_rom!='undefined'&& no_ROM = 0))
{
// BIOS.heapSize = 1668;
}
当我使用 ROV 检查堆栈利用率时、我可以看到 ICall 任务堆栈峰值大约为528。 我们的应用是一个非常基本的外设、只有一个连接和几个具有一些特征的服务。 我们使用的是堆栈库。 在什么情况下 iCall 的堆栈使用量会增加? 您认为我可以安全地减小堆栈的大小(以及 BIOS.heapSize)吗? 很明显、我可以按原样尝试、它可能会起作用、但我想知道风险是什么。
感谢您的帮助!
Dave