《学生范例面向对象与面向过程ppt课件.ppt》由会员分享,可在线阅读,更多相关《学生范例面向对象与面向过程ppt课件.ppt(11页珍藏版)》请在三一文库上搜索。
1、嵌入式系统中的程序设计与调试 面向对象VS面向过程,徐圆 肖阳 蒋君,嵌入式系统的开发形式裸机形式,目标,交叉编译,与目标硬件平台的交互手段,嵌入式系统的开发形式OS形式,两种形式的异同,相同点: 程序开发环境与运行环境不一样(需交叉编译) 例如:x86体系上开发,ARM体系上运行 不同点: 裸机形式下硬件全部对外开放,程序员直接操作硬件。一般只用于简单的应用,或者编写硬件驱动之前做硬件的读写测试和IO控制。 OS形式下硬件被驱动层屏蔽,上层应用程序员只能通过系统调用操作硬件。几乎所有工作都在PC上完成,只在程序完成后,交叉编译然后下载到目标硬件平台。,这些异同点决定了嵌入式系统中程序的编写和
2、调试(测试)与一般情况下是有不同之处的。,裸机形式下进行开发时程序的编写,直接操作硬件,结构化程序设计(面向过程) 一般用C语言 (汇编) 自顶向下,逐步细分 程序流程,函数调用,依赖关系 牵一发而动全身 执行效率高,裸机形式下进行开发时程序的调试,调试方法 单步运行(需要仿真器辅助) 时序严格时,通过串口获得调试信息。 反汇编 面向对象测试方法 Daily Build and Smoke Test,OS形式下进行开发时程序的编写,要求对操作系统内核和底层硬件比较熟悉 C语言 调试困难,逻辑分析仪(不能依靠仿真器),操作系统选择,所有硬件驱动是否完善,应用程序编写,Ucos linux win
3、CE 系统实时性要求 开发工具不同 是否需要付费,开发工具、语言多样 面向对象 不用理会底层硬件。软硬件分工明确。、 一般都有较复杂的GUI(裸机形式下只有shell或简单的GUI),OS形式下进行开发时程序的调试,程序指应用程序,主要用面向对象方法测试 需要软件工程师和硬件(驱动)工程师协作 程序基于消息运行,单步调试只在局部有效。 除非外设比较特殊,所有测试、调试都在PC上完成。 Daily Build and Smoke Test,面向对象测试与传统测试 Unit test:Class & Struct Integration test:基于消息 & 基于流程 面向对象与面向过程不存在孰优孰劣,要看做那个层面的开发。 程序员良好的编程习惯 备份和版本控制 文档的重要性,面向对象VS面向过程,Thank you!,