小编lan*_*dmn的帖子

如何通过良好的设计保留堆栈空间?

我正在使用RTOS编程用于RAM有限的嵌入式微控制器.

我经常将我的代码分解为短函数,但每个函数调用都需要更多的堆栈内存.每个任务都需要他的堆栈,这是项目中重要的内存消费者之一.

是否有替代方法可以使代码保持良好的组织和可读性,仍保留内存?

c memory embedded stack rtos

12
推荐指数
4
解决办法
2011
查看次数

将全局重构为本地.他们应该是静态的吗?

我正在重构"意大利面条代码"C模块,以便在多任务处理(RTOS)环境中工作.

现在,有很长的函数和许多不必要的全局变量.

当我尝试用本地替换仅存在于一个函数中的全局变量时,我陷入了两难境地.每个全局变量的行为都像本地"静态" - 例如,即使退出并重新进入函数,也要保持其值.

对于多任务处理,"静态"局部变量是全球最差的.它们使功能不重新进入.

有一种方法可以检查函数是否在保留变量值re-entrancing的情况下进行中继而不跟踪所有逻辑流程?

c refactoring static rtos global-variables

2
推荐指数
1
解决办法
1053
查看次数

标签 统计

c ×2

rtos ×2

embedded ×1

global-variables ×1

memory ×1

refactoring ×1

stack ×1

static ×1