2、接下来就是需求分析,这个步骤也是为软件开发的正常进行确定具体思路的阶段。在确定软件开发可进行后,必须要对客户需要实现的软件功能需求进行具体详细的分析。同时应当考虑在开发过程中可能出现的变化情况,制定需求变更计划随时应对特殊情况的发生,保证软件开发流程的顺畅进行;
3、接下来就是软件设计。软件设计要根据上一阶段对软件功能需求分析的结果,来设计软件系统的框架结构、功能模块和数据库等等。它主要分为总体设计和详细设计两个部分;
4、接下来就是编程实施步骤。编程也是根据对软件设计,将软件设计的各部分需求通计算机程序代码来实现运行,编程有统一、规范的程序编写规则,保证软件程序的易懂性、易维护性;
5、接下来就是软件测试步骤。也就是在根据设计将客户软件需用编程代码来实现之后,也就是软件程序完成之后,需要对编写的程序,形成整体构架、功能进行单元、组装、系统三阶段的测试,以测试程序编写的正确性,以及对客户需求功能满足的充分性,以此来确定软件是否达到开发要求,同时也是一个发现问题、纠正问题的过程;
6、通过以上核心环节完成了软件开发,接下来就是在软件开发达到客户需求之后,开发者将软件系统交予客户,并将软件安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等产物交付给客户,同时指导客户进行软件安装、以及安装技巧,提醒客户注意软件运行状况、环境、服务器及相关中间件的检测与注意事项,知道客户软件的实际操作方法、使用流程等等问题,实现合同规定任务;
7、用户在接受开发商交付的软件开发结果,并进行实际操作、测试运行,实现满意结果之后,对开发出来的软件进行验收;
8、定制开发的软件通常都需要提供售后服务,定期对软件进行维护,或者根据用户出现的新需求,进行应用软件程序的修改,使之不断满足客户实际需求。
方面实现底层软件的解耦,模块化,可重用等特点。原装刷写的品牌极其极其有限,但是由于ECU就是用底层数据重写的,所以控制程序的稳定性比“原厂刷写”要高。底层刷写断电后数据不会丢失,数据刷写断电后会恢复,就如同电脑的主板的CMOS,拿掉电池后就会恢复成出厂设置,如果刷写了芯片,拿掉电池后也不会丢失。
汽车ECU软件的完整开发包括应用层软件和底层软件。应用层软件主要是对于被控对象的控制,比如控制发动机在不同工况下应该喷多少油,进多少气;或者控制变速箱在什么油门什么车速去换挡,怎么去控制离合器和同步器实现换挡,亦或者控制电机多少转速,多少扭矩。
而底层软件是对于微控制器的编程,比如用代码实现设备驱动(如何配置寄存器),协议栈(如何配置CAN通道寄存器),电子器件或硬件电路的诊断等等。
对于底层软件来说,主要分为几个抽象层:服务层,ECU抽象层,微控制器抽象层和复杂驱动。