您的位置:首页 > 其它

嵌入式系统的应用

2014-02-20 14:46 176 查看
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

虚拟计算平台——Vmware. VMware 可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。

嵌入式系统:

以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统。

嵌入式系统软件的特征:

(1) 软件要求固态化存储

(2) 软件大拿高质量,搞可靠性

(3) 系统软件的高实时性是基本要求

(4) 系统多任务

嵌入式系统开发的环境和工具:

对于嵌入式系统而言,应用程序可以没有操作系统直接在芯片上运行,但是为了合理的调度多任务,利用系统资源,系统函数以及和专家库函数接口,用户必须自行选配RTOS开发平台。以保证程序执行的实时性,可靠性,并减少开发时间,保障软件质量。

嵌入式系统引导程序设计:

引导程序主要工作是对嵌入式系统中的CPU,NAND Flash,SRAM,系统Cache等硬件进行初始化。

比较有代表性的是U-Boot程序。它包括四个子目录部分:CPU子目录,Board目录,Drivers目录,Li-barm

硬件初始化:

(1) 建立中断向量表,当程序出现异常后可跳转到相应子程序执行。

(2) 屏蔽所有的中断。

(3) 设置CPU的速度和时钟频率。

(4) RAM初始化

(5) 初始化LED

Bootloader运用于系统的RAM(stage2)时,通常依次执行以下主要步骤:

(1) 进入stage2的入口程序

(2) 初始化本阶段要使用到的硬件设备

(3) 检测系统的内存映射(内存映射是只在整个4GB物理空间中有哪些地址范围被分配用来殉职系统的RAM单元)

(4) 加载内核映象和根文件系统映象并从Flash上拷贝,规划内存占用的布局

1. 内核映象所占用的内存范围

2. 根文件系统所占用的内存范围

(5) 设置内核的启动参数

(6) 调用内核

Linux内核配置方法有三种:

命令行方式

菜单方式(简单明了,受条件限制小,用的多)

在Linux主机上执行命令make xconfig

嵌入式Linux的内核编译大致相似,其步骤如下:

(1) 执行#make clean命令,删除过时文件

(2) 执行#make dep命令,进行一来性编译

(3) 执行#make 命令,生成可执行内核印象文件

嵌入式Linux系统应用程序的开发,是以PC+桌面Linux操作系统(如Red
Hat 9.0)平台为基础,应用程序的编辑,通过交叉编译和连接生存目标平台上可以运行的二进制代码格式,再下载到特定的嵌入式系统中运行。

设备驱动程序是操作系统内核和机器硬件之间的接口。为应用程序屏蔽了硬件细节。应用程序可以把硬件设备当作普通文件看待,并进行操作。

设备驱动功能:

对设备进行初始化;

使设备投入运行和推出服务;

把数据从内核传送给设备和从设备接受数据;

检测和处理设备出现的错误。

USB摄像头驱动编写:

(1) 注册和注销驱动设备

(2) 实现USB摄像头的文件操作调用

硬件的可靠性设计

造成对系统不能正常工作的干扰形成需要具备三个条件:干扰源;传播途径;对干扰敏感的接受电路

干扰源:电压变化率du/dt(主要来自自然界和系统周边的电气设备),电流变化率di/dt(由装置内部的各种元器件引起)大的地方就是干扰源,通常可分为外部和内部干扰。

抑制干扰源:其实就是尽可能的减小干扰源du/dt,di/dt。抗干扰设计中最优先考虑的最重要的原则,也最有效。

减小du/dt:在干扰源两端并联电容

减小di/dt:在干扰源回路串联电感或电阻以及增加续流二极管来实现。

切断干扰传播途径:

(1) 充分考虑电源的影响(MCU等处理芯片对电源噪声很敏感,可以给这些芯片的电源家滤波电路或者稳压器)

(2) MCU和I/O输出控制应加隔离。

(3) 注意晶振布线。(晶振应与MCU引脚尽量靠近,并用地线把时钟区隔离开,最好将晶振外壳接地固定)

(4) 电路板合理分区

(5) 合理利用地线

(6) 单独接地

(7) 采用抗干扰元件

提高敏感器件的抗干扰性

(1) 对于闲置端的处理,MCU闲置的I/O接口不要悬空,要接地或者接电源。

(2) 布线时尽量减少回路环的面积,以降低感应噪声

(3) IC尽量直接焊在电路板上,少用IC座

(4) 布线时,电源线和地线要尽量粗

(5) 在速度能满足要求的前提下,尽量降低MCU的晶振和选用低速数字电路

(6) 在有通信线时,讲Data线,CLK线,INH线常态设置为高,其抗干扰性要比设置低好

(7) 对MCU使用电源监控以及看门狗电路

总体来说,硬件抗干扰设计通过提高硬件的性能和功能来增强抗干扰能力,具有稳定快捷等优点,但会使成本增加

软件可靠性设计

1. 数据冗余设计

在一些对程序流向起决定作用的指令之前插入两条NOP指令,以保证弹飞的程序迅速纳入正轨。为了增强程序的可靠性,可尽可能多的采用单字节指令,少用多字节指令。

采用冗余技术使程序自动恢复正常状态的条件有两个:

(1) 被感染爱的程序设计计数器PC须指向程序运行区

(2) 弹飞的程序没有陷入死循环,且能执行到冗余指令

2. 软件陷阱与软件拦截技术

3. (1)未使用的中断向量区

(3) 未使用的FlashROM区

(4) 程序区

(5) 表格区
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: