企业在进行产品的软硬件开发时,硬件架构选型是一个非常重要的环节。很多人对使用模块的开发产生误解,这里简单的罗列一下几个常见的误会,以便用户加深了解硬件架构该如何选型,哪些方案更适合自己的团队。

误区一:Freescale官方已经有开发套件,用芯片开发会比用模块开发更省成本,采用模块来做设计没有必要?

正解:Freescale官方的开发套件是在产品刚release时就设计出来的,里面用的flash,RAM等早已经买不到同型号了,采用官方的芯片开发套件参考设计,因为更换了内存和闪存,用户需要底层的固件工程师花大量的时间调式才能让自己的UBoot跑起来,这个学习曲线,工作量和难度往往是大半年以上。甚至有些中小客户就卡在这里无法进行下去。此外,DDR和flash的生命周期很短(通常只有一两年),企业需要常年维护懂底层BSP开发的固件工程师,不但成本较高,而且一旦发生人员流动,往往会造成项目停滞或是新的产品因器件停产更换而无法继续生产出货。
而采用Digi核心模块,出厂就带有了Uboot和对新内存闪存的BSP支持,模块产品的生命周期一般7~10年以上,没有UBoot的开发过程,也不存在项目无法进行下去的可能。

误区二: 用了Digi的片上系统核心模块,企业是不是就不用嵌入式开发人员了?

正解: 用了Digi的核心模块,并不是说企业就不需要嵌入式开发人员了。虽然核心模块可以节省许多嵌入式工作,但是很多时候仍需要做系统开发和应用开发的嵌入式团队。这是因为,Digi的BSP是针对Digi的开发套件和单板机设计的,在更改外围电路,或是对ARM处理器的引脚接口用途变更,仍需要系统开发人员调试和验证BSP,或是设备树,只不过工作量会减少很多。另外RootFS的定制,一些软件包的添加,系统初始化脚本等也一般是嵌入式系统开发人员的职责。即使是采用Digi的开发套件完全一样的设计,在应用软件包的增删,系统的剪裁仍需要有嵌入式工作人员来维护。

误区三:使用核心模块,仍需要设计产品的底板,为什么不把整个设计都交给供应商?

正解:市场上有一些分销供应商或服务商可以为用户设计定制好整个产品,听起来好像没毛病,但这是在产品有一定量的基础上,并且通常这种服务是不会给源码的,只能给一个二进制镜像。这样企业的命脉就被抓到供应商的手上,一旦有供应商无法解决的bug,企业也没法自行继续开发,导至项目死亡。此外,对于一些有不同项目需要经常在原产品底板基础上做小幅变更的场景时,往往无法得到满足或是通过付费才能进行。并且ARM处理器周边元器件也会时常停产变更,之前的定制设计系统将需要时常更新开发,而这又完全依赖于供应商,如果不是专业的模块厂商,就很难保证产品的稳定性。
而采用Digi核心模块,我们完全遵循开源协议,所有的源代码都可以公开和回溯,企业只需更少的开发人员就可以知其然并知其所以然,牢牢掌握自己的核心技术,保证产品开发的可延续性和安全性。