嵌入式系统的应用

虚拟机(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)    表格区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值