【发布时间】:2011-05-04 20:50:52
【问题描述】:
预算 PIC 的有限堆栈大小是一个问题区域,我已调整我的代码以适应这一现实。我目前采用粗略的范式,将密切相关的函数分组到一个模块中,并将模块中的所有变量声明为全局静态(以减少存储在 auto psect 中的变量数量,可变性问题仅与 ISR 相关,我对此进行了说明.) 我不这样做是因为这是一种很好的做法,但实际情况是您有有限的空间来分配整个项目中存在的所有本地函数变量。在 8/16 位芯片的嵌入式世界中,如果我确定采取必要的预防措施,这是一种合适的方法吗?我还做一些事情,比如为以太网分配 > 256 字节的 RAM(我知道它应该是 1500 作为标准 MTU,但我们有一个自定义情况和非常有限的 RAM)缓冲区,并且必须通过指针访问该内存,这样我就可以避免语义的内存银行。我做错了吗?我的应用程序有效,但我 100% 愿意接受改进建议。 [c]
【问题讨论】: