删除TASK_DBG和TASK_GTL

4个帖子/ 0新
最后一篇
沃特
离线
最后一次露面:6年12个月前
专家
加入:2014年1月29日19:56
删除TASK_DBG和TASK_GTL

嗨对话框,

如何删除TASK_DBG和TASK_GTL提高的,我可以免费使用堆栈任务数。目前,如果我添加服务的另一种规范我的项目不工作了(堆栈任务)

谢谢

WT_Dialog(未验证)
嗨沃特,
嗨沃特,
对于SDK3.0.4,这里是代码,同时删除TASK_GTL和TASK_DBG。
虽然此言一出,你可以,如果你在集成的处理器解决方案使用DA14580只能去除TASK_GTL,
添加下面的arch_main.c
/// KE TASK元件结构
结构ke_task_elem
{
uint8_t类型;
结构ke_task_desc * p_desc;
};
/// KE任务环境结构
结构ke_task_env_tag
{
uint8_t task_cnt;
结构ke_task_elem task_list [];
};
的extern挥发性结构ke_task_env_tag ke_task_env;
空隙remove_task(uint8_t task_type)
{
uint8_t HD​​L;
挥发性结构ke_task_elem * curr_list = ke_task_env.task_list;
uint8_t curr_nb = ke_task_env.task_cnt;
uint8_t KK;
//搜索任务句柄
对于(HDL = 0; HDL
{
如果(curr_list(HDL).TYPE == task_type)
{
休息;
}
}
如果(HDL == curr_nb)
返回;
为(KK = HDL; KK <(curr_nb-1); ++ KK)
{
ke_task_env.task_list [KK] .p_desc = ke_task_env.task_list [KK + 1] .p_desc;
ke_task_env.task_list [KK] .TYPE = ke_task_env.task_list [KK + 1] .TYPE;
}
ke_task_env.task_cnt - = 1;
}
定位arch_main.c下面几行:
/ *
************************************************************************************
*应用程序初始化
************************************************************************************
* /
的#if(BLE_APP_PRESENT)
{
app_init();//初始化APP
}
#ENDIF / *的#if(BLE_APP_PRESENT)* /
并将其更改为
/ *
************************************************************************************
*应用程序初始化
************************************************************************************
* /
的#if(BLE_APP_PRESENT)
{
remove_task(TASK_GTL);
remove_task(TASK_DBG);
app_init();//初始化APP
}
#ENDIF / *的#if(BLE_APP_PRESENT)* /

沃特
离线
最后一次露面:6年12个月前
专家
加入:2014年1月29日19:56
非常感谢WT_Dialog!

非常感谢WT_Dialog!

奇迹般有效。

沃特
离线
最后一次露面:6年12个月前
专家
加入:2014年1月29日19:56
嗨对话框,

嗨对话框,

首先它看起来不错,不过删除TASK_GTL增加消耗电流显著。我不知道这是什么原因,但它看起来像处理器不睡觉去了