这些挑战集合的结果是开发周期越长,设计需要变更的可能性就越大,这同时又让开发周期变得更长,从而形成恶性循环。因此快速的产品开发不仅能提供成本的优势,还能降低开发风险并提供最及时的用户反馈并领先于市场。
新的设计思路
假定一个典型的嵌入式系统包括处理、数字、模拟三个模块,而该系统需要合适的软件将各个模块联系起来,开发者一般会提出下面的问题:
1.我们如何确定我们正在加速整个系统的设计进程?Amdahl定律进行了解释,整个项目进程中的一个个连续的部分的状态决定了全部的有潜力的改进。因此,一些基础的流程必须进行改变。
2.我们如何加速学习的进程来聚焦于让设计更快的市场化?经验告诉我们采用阶梯式的细致工作比到最后再进行测试更加有效。这样的必然结果是bug越早被找出来,改进的成本就越低。
3.如何降低总体设计的工作量?换句话来说,系统的哪些部分可以被智能的重复使用来节省时间和工作量。
4.我们如何在所有的设计流程中执行设计变更?在设计初期的设计变更比较容易进行执行。因为整个设计流程的互相联系,在设计定型之后再进行设计变更往往就不太容易了。
5.如何进行硬件和软件的升级?因为各种通信端口的缘故,软件更新相对更加简单,另外软件更新已经非常普遍了,并且被消费者作为一种用户体验所接受。难的是硬件功能的更新。比如,如果某个状态机需要改变,或者该状态机需要在不同的时间执行不同的任务该怎么办?
6.我们如何利用标准的工具?因为编译器和调试器不断进化,在工具方面需要学习和改进的很多(而且往往要花钱)。新的嵌入式设计技术必须支持工业标准的工具,来提升改进的空间并降低设计的投资。
7.我们会提供一个平台吗?本质上,采用一个被充分定义了的硬件和软件架构的可升级的平台,可以保证该设计针对一个应用的规模化,并可以重复使用以前的工作(无论硬件还是软件)。
因此一个理想的嵌入式平台需要具备一个基础的功能架构,该架构是灵活的和可动态配置的。该平台除了为嵌入式设计者创造针对特定应用的代码,还需要自动执行开发周期的所有的流程。