大家好,
公司做的嵌入式产品,开发的有A、B、C三个产品。
在硬件上,MCU来自同一芯片厂商的同样一颗芯片,操作系统都采用uC/OS-II。
差别主要是外设,比如:
- 有或者没有扫描键盘,或者扫描键盘的行和列数不一样
- 有或者没有触摸板,或者不同型号的触摸板
- 不同厂商的液晶屏
这三个产品的中间层应用框架是同一套代码。
目前A产品的的架构包括
- OS层:包括操作系统(uC/OS)和外设驱动是一个库
- 中间层应用框架,是另一个库,该库负责支持在PC和实际硬件设备上的都能运行。
- 应用程序
现在产品A,基本完成。开始准备开发B和C产品。
根据我之前做配置管理员CM和CMMI的经验,我认为 OS 层应该在A产品OS层的基础上,
通过配置文件在运行时区分不同的硬件。A、B、C的OS层用一套代码来实现
(事实上会有开发、测试和发布独立的仓库)。
但是我的同事,负责OS层开发的的部门主管,认为应该为B和C 都各COPY一份。
在不同的代码库里面进行开发。这样开发的B的时候,不用考虑A和C。
(我知道,所谓不用考虑A和C就是硬编码而已)
我的直觉告诉我,我的想法是正确的做法。但是我的我不知道如何说服我的同事。
不知道大家觉得该如何?COPY不同的代码仓库;还是如我说的该用一个仓库的一套代码?
下午公司将开会讨论这个,期待各位大大的尽快回复。
不好意思,可能有一点OT。
Best Regards!
Xpol Wan
// There is a better way!