如何降低手机软件的更换成本如何降低手机软件的更换成本软件堪称移动电话最重要的元素,它是移动电话能否在市场成功的关键要素。它决定了手机是“热门产品”还是“三味产品”。它是使用者最先接触到的功能。它是我们爱恨手机的主要原因。手机系统工程师只要想到此点就不寒而栗,因为软件很容易发生问题、成本经常超出预期、而且总是要到手机量产前才能完成。本文将深入说明软件为何仍是系统开发人员的主要考虑,以及为何采用一种符合常识的设计方法和架构可以大幅减少这些风险。手机内的软件图1示出了手机里的软件,它们最后都会在芯片组厂商提供的硬件平台上执行。在移动电话里,这个平台可能是含有MIPS等微控制器 (MCU) 的基带处理器 (BB)或应用协同处理器(ACP)。由于软件程序代码必须针对基带或应用处理器的缓存器、时序和微控制器种类而特别设计,因此由最了解硬件的厂商来提供软件自然是最合理的选择。[pic]图1 手机内的软件设计良好的软件系统会将硬件相关的低阶界面隐藏起来,不让它们出现在比较依赖通用实时操作系统服务和应用软件架构的高阶接口。以典型的个人计算机应用为例,个人计算机应用软件的程序设计师就不需要知道底层硬件的任何细节,这些研发人员会利用操作系统提供的服务以及协力厂商的工具来设计应用软件。在手机软件世界里,这就像是硬件厂商会发展基本接口与上层软件沟通,手机应用程序设计人员则会专注于软件应用,完全不必考虑底层硬件。换言之,图1就代表这种以专业知识为基础的软件设计分工方式。尽管如此,手机软件系统设计通常仍会涉及众多厂商,因此实际情形并不会像图1所示那么简单明确。芯片组厂商虽然有硅芯片设计知识,却不一定了解软件。因此他们只会发展硅芯片,然后由不同的软件厂商设计所需软件以便与芯片提供的平台驱动程序或系统驱动程序等外围接口和功能沟通。这也难怪许多更具竞争力的芯片解决方案虽然提供更强大……