最近新开一个海思的项目,本周主要海思熟悉海思的一些开发文档,文档之多,内容之全,文档之好,确实值得很多厂商去好好学习,同时也得到很多的感悟和困惑。
对于技术更新如此之快的IC产业,对于现在平台的百花齐放,技术更新日新月异,单独如现在的ARM的技术,就已经从armv7架构已经发展到armv8架构,还有现在基于低功耗的M系列,基于实时处理的R系列,每个系列里面有越来越多的平台在每日更新,每个厂商对于各个平台的处理方式又不相同。例如现在主流的对于移动终端采用的是Android的架构,以现在主流的厂商来说,高通、MTK、展讯、全志其开发模式都是基于kernel+Android,但是其每家对于像我们这样做底层的人来说,又有很多的不一样。
在对于开发模式,都是由产品的市场定位来决定的,产品竞争力不行,那么服务就需要做的更好,减小客户的开发周期,减小客户对于高质量软件工程师的要求。去大的平台就能接触到更新的技术,分工更细,也就对技术的理解就更加深入,那么小的平台,就需要我们耐得住寂寞,对工作就需要考虑的更多,更深入,也就是我们提到的do more、do better,那么我们就需要花更多的时间和精力将这些do more、do better吸收。大公司,最终发展可能好则成为这个领域的技术专家,而小公司,更多的会向系统层面发展。
在接触海思的资料后,我发现一种新的模式可能越来越向我们靠近,一方面由于现在每家厂商都在强调自己的核心竞争力,以后对于人工智能的算法等越来越成为一个公司的核心竞争力的时候,另外一方面系统越来越复杂,平台越来越多,厂商为了缩减版本,平台的兼容性等要求,就会出现对于平台的抽象层。对于我们来说,以下的开发模式会成为一种常态,如下图所示对于我们来说,以下的开发模式会成为一种常态,如下图所示

对于这种开发模式,这里面做了些什么呢?我们又能做什么事情呢?
那我出问题怎么办呢?看手册,看手册,看手册,重要的事情说三遍,手册上没有怎么办呢?那我们就要理解这些事情的原理,例如莫名的库里的东西运行了,表现的结果不一样,那么就需要归结到最底层,硬件的表象是什么,寄存器,我们可以通过寄存器来查看,在回归流程。
现在对于底层开发的工作,不论去哪家公司,基本都是基于芯片厂商提供的东东做二次开发,也许大部分的工作都是一些最基本调优、调参工作。那我们如何能做的更好,不至于成为一个业务工程师,我们都会面对团队太忙,没有培训,工作时间太忙,没有时间学习困惑,阿里技术人生给出了好多的建议,总之归结到态度,要做到do more、do better、do exercise,对于我们技术上,我们需要归于基础,只有打好基础,才能在这种更新中做到临危不乱。




