以便于供应商库更新的方式修改供应商嵌入式库?

时间:2013-10-10 02:25:25

标签: c embedded firmware

我正在开发一个利用供应商提供的库的C嵌入式固件项目。例如,TCP / IP堆栈库。供应商会定期更新这些库。但是,我们已针对特定应用程序对库进行了许多添加和自定义。

在某些情况下,之前的设计人员已经获取了库源文件,对其进行了修改,然后将其重命名并将其移动到源中的其他文件夹中。这似乎有问题,因为它使跟踪文件和应用供应商库更新变得更加困难。

这种情况有哪些最佳做法?换句话说,将自定义项与原始库源文件分开是否可行?对此有哪些成功的方法?

1 个答案:

答案 0 :(得分:1)

您应该使用项目中的库文件。我建议使用版本控制(Mercurial,Git或类似)来管理更新:

  1. 制作回购并提交原始供应商库(分支 A )。
  2. 接受您的更改并将其提交到分支 B B A 开始)。
  3. 如果您进一步修改了库,请编辑分支 B 中的来源并提交更改。
  4. 如果供应商进行更新,请将其提交到分支 A ,然后将 A 的头部合并到 B 的头部。
  5. 准备就绪后,将分支 B 中的最新文件复制到主项目中,或将其编译为可链接到主项目的库。
  6. 然后你的历史可能会是这样的:

    A1 ------- A2
      \          \
       B1 - B2 -- B3 - B4
    

    其中:

    • A1是原始供应商lib
    • A2是更新后的供应商lib
    • B1B2B4是您的更改
    • B3是供应商的更改与您的更改合并的地方。