embedded - 您如何在嵌入式项目中组织代码?

标签 embedded code-organization

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

我见过很多完全没有组织的项目。 (主要是硬件工程师,根据我的经验,他们通常不关心代码的非功能方面。)

但是,我一直在尝试相应地组织我的代码:

  • 特定于硬件(驱动程序、初始化)
  • 特定于应用程序(不太可能被重用)
  • 可重复使用,独立于硬件

  • 对于每个模块,我都尝试将目的保持在这三种类型中的一种。

    由于嵌入式项目规模有限和对性能的重视,通常保持这种组织。

    在某些情况下,我当前的项目是在具有 8k 闪存和 256 字节 RAM 的 MSP430 上的有限 DSP 应用程序。

    最佳答案

    我已经在包括 MSP430 在内的各种目标微 Controller 上编写并维护了多个嵌入式产品(30+ 并且还在增加)。我最成功的“经验法则”是:

  • 尽量将通用概念模块化(例如,将驱动程序代码与应用程序代码分开)。 - 它使将来更容易维护和重用/移植项目到另一个目标微。
  • 不要一开始就担心优化的代码。尝试先解决域的问题,然后再进行优化。 -- 你的目标微机可以处理比你想象的更多的“东西”。
  • 努力确保可读性。尽管大多数嵌入式项目的开发周期似乎都很短,但这些项目的生命周期通常比您预期的要长,而且毫无疑问,另一个开发人员必须使用您的代码。
  • 关于embedded - 您如何在嵌入式项目中组织代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/216428/

    相关文章:

    c - 从大型 C 库创建一个子集

    为设备驱动程序创建自己的寄存器

    linux - 在 Yocto 上安装 NFS 包

    css - 如何更有效地组织这些 CSS 选择器?我希望 CSS 选择器应用于也分配了 id 的元素

    javascript - 每个 react 组件都应该在一个单独的文件中吗?

    visual-studio - 如何在 Visual Studio 中组织大型项目(>300 个类)的 F# 源代码?

    javascript - Backbone : Organizing Routes

    c++ - 为一个项目使用超过 1 个代码文件有什么好处? (C++)

    c - 如何使用封装在源文件之间传递 typedef 定义?

    android - 在 Android 上运行 QT 软件