1、嵌入式软件基础
4 v* D5 Z% G; N, q (1)嵌入式软件的特点:% i) k F, W4 ?/ K; b' D
A、规模较小。, J! U4 J C) k/ y \
B、开发难度大。
* X+ T$ ]% a/ N" ~' n C、实时性和可靠性要求高。
% A0 O( a" b# V6 `: d$ _ D、要求固化存储。5 @. y* C( ^( X8 g5 d, B
(2)嵌入式软件分类:2 |' @6 \ N. V2 H
A、系统软件:控制和管理嵌入式系统资源,如嵌入式操作系统、驱动程序、中间件等。
3 a- m6 M- q) l" K B、应用软件:定义嵌入式设备的主要功能和用途,负载与用户进行交互。' ? @) [+ G6 d5 H, e5 Y! X
C、支撑软件:辅助软件开发的工具软件。$ W( V! B/ B Z E
(3)无操作系统的嵌入式软件的两种实现方式:. M" I7 K9 F3 n
A、循环轮转 j7 w8 t0 D y4 F/ m5 `! |2 T# F
优点:简单、直观、开销小、可预测。
" S) |. m# v( T& j* L+ @1 C 缺点:过于简单,所有代码顺序执行,无法处理异步事件,缺乏并行处理能力。6 v+ I4 a" b0 E
B、前后台系统(在循环轮转的基础上增加了中断处理功能)
5 K& m0 z: R- E* A. ~( }5 Q" H 前台(事件处理级):中断服务程序,负载处理异步事件。3 N8 c8 }" ]5 S+ \9 j5 v9 |7 v5 a
后台(任务级):一个无限循环,负载资源分配、任务管理和系统调度。' i3 S# c( F* A7 T ?
(4)有操作系统的三大优点:
" N* G+ |( a _- k" y% R4 ?' J" m A、提高系统的可靠性。
4 W9 d* W9 X: _0 L O B、提高了系统的开发效率,降低了开发成本,缩短了开发周期。, j) j* g# M$ r! `5 i
C、有利于系统的扩展与移植。
' r7 c. a; |) ?& Q6 z( j (5)设备驱动层(也叫板级支持包BSP:包含了嵌入式系统中所有与硬件相关的代码)5 x0 n8 T* @- Z
大多数的嵌入式硬件设备都需要某种类型软件的初始化和管理。这部分工作由设备驱动层来完成的,它负责直接与硬件大交道,对硬件进行管理和控制,为上层软件提供所需的驱动支持,类似PC 系统中的BIOS 和驱动程序。 |