早期的嵌入式系统中,软件与硬件密不可分浑然一体,都是用汇编语言实现。随着软硬件技术的发展,嵌入式软件的开发与硬件仍然密不可分。但是,从软硬件系统与平台选择、设计、开发到测试与集成,整个过程都是软硬件并行交互进行,这样嵌入式软件开发已经成为一项很复杂的工程。
一个嵌入式系统的开发过程如下:
1)嵌入式系统的需求获取与需求分析;
2)设计系统的体系结构:选择处理器和相关外部设备,操作系统,开发平台以及软硬件的分割和总体系统集成;
3)硬件的结构设计、软件的系统设计;
4)软硬件详细设计:
5)软件代码开发,软件测试与调试;
6)软硬件的联调和集成;
7)系统的测试。
嵌入式系统中软件工作量约占全部工作量的80%,其中测试与验证的工作量占软件工作量的70%。而需求分析、系统设计在复杂系统中成为系统成功实现的关键,很多分析设计方法被引入到嵌入式系统设计中,包括面向对象方法、设计模式等。
基于PC 的软件设计只需考虑选择使用何种操作系统,而嵌入式软件设计不仅要慎重选择嵌入式操作系统,应用软件的设计与操作系统密切结合,甚至要根据需要对操作系统进行适当裁剪。当然,我们这里所讲的嵌入式操作系统不一定是UcOS、VxWorks、WinCE、Linux等通用产品,也包括开发者自己编写的专用嵌入式操作系统。其中,Linux正是由于其源代码开放,可以使开发者根据自己的需要进行裁剪而受到开发者的青睐。
qianqianfy