嵌入式学习-嵌入式的组成特点,开发流程等
2013-07-27 01:25
274 查看
今天开始对嵌入式学习重新学习一下,虽然有点基础,但是显得很乱,摸不着头绪,现在开始好好整理一下:
(1)嵌入式系统的组成与特点:
总体上嵌入式系统可以划分成硬件和软件两部分
硬件一般由高性能的微处理器和外围的接口电路组成
软件一般由实时操作系统和其上运行的应用软件构成
系统内核小
嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多
专用性强
嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植
系统精简
嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全
实时性操作系统
这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性、实时性
专用的开发工具和开发环境
嵌入式软件:
应用层:特定的应用程序
文件系统/图形用户应用程序接口
OS层: 实时操作系统
驱动层:设备驱动程序、HAL、BSP
嵌入式开发分类;
硬件开发: 电路设计
驱动开发
系统开发: Linux开发
WINCE开发
软件开发: 应用程序
图形界面
(2) 嵌入式系统与PC的区别:
(3)嵌入式开发流程:
1.裸机开发:
对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序
2. 带操作系统的开发:
当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理控制内存、多任务、周边资源等,现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势。
带操作系统的开发:
ü硬件开发
ü启动加载程序
ü操作系统内核
ü根文件系统
ü设备驱动
ü应用程序
通常基于linux系统的嵌入式开发步骤如下:
ü开发目标硬件系统:
如选择微处理器、Flash及其它外设等
ü建立交叉开发环境:
安装交叉编译工具链、安装开发调试工具
ü开发Bootloader:移植uboot,vivi
ü移植linux内核:如linux2.6.31内核
ü开发根文件系统:CRAMFS,YAFFS
ü开发相关硬件的驱动程序:led,adc等驱动
ü开发上层的应用程序:如QT GUI开发
(1)嵌入式系统的组成与特点:
总体上嵌入式系统可以划分成硬件和软件两部分
硬件一般由高性能的微处理器和外围的接口电路组成
软件一般由实时操作系统和其上运行的应用软件构成
系统内核小
嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多
专用性强
嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植
系统精简
嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全
实时性操作系统
这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性、实时性
专用的开发工具和开发环境
嵌入式软件:
应用层:特定的应用程序
文件系统/图形用户应用程序接口
OS层: 实时操作系统
驱动层:设备驱动程序、HAL、BSP
嵌入式开发分类;
硬件开发: 电路设计
驱动开发
系统开发: Linux开发
WINCE开发
软件开发: 应用程序
图形界面
(2) 嵌入式系统与PC的区别:
设备名称 | 嵌入式系统 | PC |
CPU | 嵌入式处理器(ARM,MIPS,Score+) | CPU(Intel、AMD等) |
内存 | SDRAM芯片 | SDRAM或DDR内存条 |
存储设备 | Flash芯片 | 硬盘 |
输入设备 | 触摸屏,按键 | 鼠标、键盘、麦克等 |
输出设备 | LCD | 显示器 |
其它设备 | 音频芯片、USB芯片、网卡芯片等 | 主板集成或外接卡 |
名称 | 嵌入式系统 | PC |
引导代码 | Bootloader引导,针对不同电路进行移植 | 主板的BIOS引导,无须改动 |
操作系统 | Linux、WinCE、VxWorks等,需要移植 | Windows、Linux等,无需移植 |
驱动程序 | 每个设备驱动针对电路板进行开发或移植,一般不能直接下载使用 | 操作系统含有大多数驱动程序,或下载直接使用 |
开发环境 | 交叉编译 | 本机编译 |
协议栈 | 需要移植 | 操作系统或第三方提供 |
1.裸机开发:
对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序
2. 带操作系统的开发:
当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理控制内存、多任务、周边资源等,现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势。
带操作系统的开发:
ü硬件开发
ü启动加载程序
ü操作系统内核
ü根文件系统
ü设备驱动
ü应用程序
通常基于linux系统的嵌入式开发步骤如下:
ü开发目标硬件系统:
如选择微处理器、Flash及其它外设等
ü建立交叉开发环境:
安装交叉编译工具链、安装开发调试工具
ü开发Bootloader:移植uboot,vivi
ü移植linux内核:如linux2.6.31内核
ü开发根文件系统:CRAMFS,YAFFS
ü开发相关硬件的驱动程序:led,adc等驱动
ü开发上层的应用程序:如QT GUI开发
相关文章推荐
- 嵌入式学习-嵌入式的组成特点,开发流程等
- 嵌入式科普:基本概念,设计流程,开发特点,如何学习
- 嵌入式学习-驱动开发-lesson3-混杂设备驱动模型与linux中断处理流程
- 嵌入式学习-驱动开发-lesson7.1-网卡驱动架构分析驱动及CS8900流程分析
- 嵌入式学习-驱动开发-lesson7.2-DM9000驱动流程分析
- 嵌入式学习-驱动开发-lesson6.2-UART驱动初始化和open流程分析
- 嵌入式学习-驱动开发-lesson6.3-UART驱动send和receive流程分析
- 嵌入式软件开发学习流程
- 新手看招 嵌入式开发都需要学习什么
- [嵌入式]嵌入式系统开发学习规划-转载
- JavaScript 学习day01 (js的特点,组成,使用,语法和数据类型)
- 嵌入式学习-驱动开发-lesson2-LED字符设备驱动
- 一步一步学习开发BPM工作流系统--------(六)BPM流程设计器(1)
- 嵌入式开发之linux基础第五天学习笔记 Linux网络相关
- Ehome:智能家居嵌入式项目背景和开发流程
- ios学习开发流程
- 【转】嵌入式时代已经来临,你还在等什么?---循序渐进学习嵌入式开发技术
- 嵌入式开发模式和流程
- 嵌入式驱动开发的前期Linux 和 C学习(四)
- linux spi驱动开发学习(四)-----spi驱动程序完整流程分析