首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在嵌入式项目中组织代码?

如何在嵌入式项目中组织代码?
EN

Stack Overflow用户
提问于 2008-10-19 13:29:57
回答 6查看 3.9K关注 0票数 15

高度嵌入(有限的代码和内存大小)项目对代码组织提出了独特的挑战。

我见过不少没有组织的项目。(根据我的经验,硬件工程师通常不关心代码的非功能方面。)

然而,我一直试图相应地组织我的代码:

  1. 硬件专用(驱动程序,初始化)
  2. 特定应用程序(不太可能被重用)
  3. 可重用的、独立于硬件的

对于每一个模块,我试图保持这三种类型之一的目的。

由于嵌入式项目的规模有限,以及对性能的强调,它经常保留这个组织。

对于某些上下文,我当前的项目是一个有限的DSP应用程序,在MSP430上有8k闪存和256个字节内存。

EN

回答 6

Stack Overflow用户

发布于 2008-10-19 16:04:42

我在各种目标微控制器上编写和维护了多个嵌入式产品(30+和计数),包括most 430。我最成功的“经验法则”是:

  • 尽量模块化通用概念(例如,将驱动程序代码与应用程序代码分开)。--它使将来一个项目更容易维护和再利用/移植到另一个目标微系统。
  • 不要一开始就担心优化的代码。试着先解决领域的问题,然后再优化。--你的目标微型机器人可以处理比你想象中更多的“东西”。
  • 确保可读性。虽然大多数嵌入式项目的开发周期似乎都很短,但项目的寿命往往比您预期的要长,而且毫无疑问,另一个开发人员将不得不使用您的代码。
票数 7
EN

Stack Overflow用户

发布于 2008-10-19 15:25:27

我在8位PIC处理器上也做过类似的限制。

你没有的一个限制是你做了多少评论,或者你选择给你的方法、变量命名,等等。好好利用吧。速度和大小的限制有时会压倒组织,但你总是可以解释的。

另一个技巧是将逻辑源文件分解成比您需要的更多的部分,然后通过在编译单元中对它们进行#include绑定。这允许您拥有大量可重用的代码(甚至每个文件都有一个例程),但是可以按所需的顺序组合。这是有用的,例如,当试图满足编译单元大小限制时,或者选择和选择下一个项目需要的公共子程序时。

票数 2
EN

Stack Overflow用户

发布于 2008-10-22 02:43:03

我试着组织它,好像我有无限的RAM和ROM,而且它通常工作得很好。正如其他地方所提到的,在绝对需要之前,不要尝试优化它。

如果您可以得到一个具有更多资源的与引脚兼容的处理器,最好是让它工作,专注于良好的结构和布局,然后在您更好地理解代码时为大小进行优化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/216428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档