|
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式软件开发过程 >
|
被考次数:37次
被考频率:高频率
总体答错率:52%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
考试要求:掌握
相关知识点:34个
|
|
|
|
按照常规的工程设计方法,嵌入式系统的设计可以分为3个阶段:分析、设计和实现。分析阶段是确定要解决的问题及需要完成的目标,也常常被称为需求阶段;设计阶段主要是解决如何在给定的约束条件下完成用户的要求;实现阶段主要是解决如何在所选择的硬件和软件的基础上进行整个软、硬件系统的协调和实现。在分析阶段结束后,开发者通常面临的一个棘手问题就是软硬件平台的选择,因为它的好坏直接影响着实现阶段的任务完成。
|
|
|
通常,硬件和软件的选择包括处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具和软件组件等。
|
|
|
|
嵌入式系统的核心部件是各种类型的嵌入式处理器。据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000多种,流行的体系结构有30多个系列。由于嵌入式系统设计的差异极大,因此选择是多样化的。
|
|
|
设计者在选择处理器时要考虑的因素主要有以下几个方面:
|
|
|
(1)处理性能:对于许多需用处理器的嵌入式系统来说,目标不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和I/O子系统。
|
|
|
(2)技术指标:当前许多嵌入式处理器都集成了外围设备的功能,减少了芯片的数量,降低了整个系统的开发费用。开发人员首先考虑的是:系统所要求的一些硬件能否无需过多的逻辑就连接到处理器上。其次考虑该处理器的一些支持芯片的配套。
|
|
|
(3)功耗:对于手持设备、PDA、手机等消费类电子产品,在选购微处理器时要求高性能、低功耗。
|
|
|
(4)软件支持工具:选择合适的软件开发和支持工具对系统的实现会起到至关重要的作用。
|
|
|
(5)是否内置调试工具:处理器如果内置调试工具,可以大大缩短调试周期,降低调试难度。
|
|
|
|
软件平台的选择涉及到操作系统、编程语言和集成开发环境3个方面。
|
|
|
|
编写嵌入式软件有两种选择:一是自己编写内核;二是使用现成的操作系统。如果嵌入式软件只需要完成一项非常小的工作,例如在电动玩具、空调中,就不需要一个功能完整的操作系统。但如果系统的规模较大、功能较复杂,那么最好还是使用一个现成的操作系统。可用于嵌入式系统软件开发的操作系统有很多,但关键是如何选择一个适合开发项目的操作系统,可以从以下几点进行考虑:
|
|
|
(1)操作系统提供的开发工具。有些实时操作系统只支持该系统供应商的开发工具,因此,还必须从操作系统供应商处获得编译器、调试器等;而有的操作系统应用广泛,且有第三方工具可用,因此选择的余地比较大。
|
|
|
(2)操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,以避免因移植带来的种种困难。
|
|
|
(3)操作系统的内存要求,有些操作系统对内存有较大要求。
|
|
|
|
|
尽管高级语言能够完成大部分的嵌入式软件开发工作,但汇编语言仍然不可替代。汇编语言可以直接对硬件进行操作,代码效率高,所以经常应用在系统移植以及直接控制硬件的场合。此外,良好的汇编基础也有助于程序的调试。
|
|
|
越是高级的语言,其编译和运行的系统开销就越大,应用程序也越大,运行越慢。因此一般来说,编程人员都会首选汇编语言和C语言,然后才会考虑C++语言或Java语言。
|
|
|
|
集成开发环境是进行开发时的重要平台,在选择时应考虑以下因素:
|
|
|
|
(2)支持库函数。许多开发系统提供大量的库函数和模板代码,如C++编译器就带有标准的模板库。与选择硬件和操作系统的原则一样,应尽量采用标准的glibc(GNU标准C库函数)。
|
|
|
|