一、硬件介绍
1. 嵌入式系统架构
2. 硬件基本结构
3. 嵌入式系统具有操作系统的最基本的功能:
n进程调度
n内存管理
n设备管理
n文件管理
n操作系统接口(API调用)
4. 嵌入式操作系统具有的特点:
n系统可裁减,可配置.
n系统具备网络支持功能
n系统具有一定的实时性
5. 操作系统实时性
n实时系统的定义:能够对外部事件做出及时响应的系统。响应时间要有保证。
n对外部事件的响应包括
n事件发生时要识别出来
n在给定时间约束内必须输出结果
实时操作系统:VxWorks,WinCE,QNX,Nucleus
非实时操作系统:嵌入式Linux
n实时系统必须产生正确的结果
n实时系统的响应必须在预定的周期内完成
n这两点同样重要
n实时系统是具有确定性的。在这些实时系统中,响应时间决定事件是有界的。一个确定的实时系统意味着系统的每个部件都必须具有确定的行为,使得整个系统是确定性的。
6. 友善之臂2410开发板
提供丰富接口:串口、网口、usb、jtag、3.5寸液晶屏接口、ide接口、音频输入输出、4×1键盘接口 ;
基本资料:芯片手册和资料,相关电子书籍 ;
软件和试验代码:中断、I2C、mediaplay移植等 ;
操作系统及引导程序:vivi、Uboot、mizilinux 。
软件介绍
Bootloader介绍
对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS(Basic Input /Output System)完成的,但对于嵌入式系统来说,出于经济性、价格方面考虑一般不配置BIOS,因此我们必须自行编写完成这些工作的程序。这就是所需要的开机程序,在嵌入式中称为BootLoader程序。
- 系统加电复位后,几乎所有的 CPU都从由复位地址上取指令。系统加电复位后,几乎所有的 CPU都从由复位地址上取指令。
- 因此在系统加电复位后,处理器将首先执行 Boot Loader 程序。
- BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。
- 对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。
- 系统启动代码完成基本软硬件环境初始化后,对于有操作系统的情况下,启动操作系统、启动内存管理、任务调度、加载驱动程序等,最后执行应用程序或等待用户命令;对于没有操作系统的系统直接执行应用程序或等待用户命令。
- 系统的启动通常有两种方式,一种是可以直接从Flash启动,另一种是可以将压缩的内存映像文件从Flash(为节省Flash资源、提高速度)中复制、解压到RAM,再从RAM启动。
- 当电源打开时,一般的系统会去执行ROM(应用较多的是Flash)里面的启动代码。这些代码是用汇编语言编写的,其主要作用在于初始化CPU和板上的必备硬件如内存、中断控制器等。
- 有时候用户必须根据自己板子的硬件资源情况做适当的调整与修改
嵌入式系统的设计要求:
- 并发处理,及时响应
- 接口方便,操作容易
- 稳定可靠,维护简便
- 功耗管理,降低成本
- 功能实用,便于升级
嵌入式分成设计
嵌入式软硬件并行设计
交叉编译
- 嵌入式系统的软件使用交叉开发平台进行开发。
- 系统软件和应用软件在主机开发平台上开发
- 系统软件和应用软件在嵌入式硬件平台上运行。
- 宿主机(Host)是用来开发嵌入式软件的系统。
- 目标机(Target)是被开发的目的嵌入式系统。
- 交叉编译器(Cross-compiler)是进行交叉平台开发的主要软件工具。它是运行在一种处理器体系结构上,但是可以生成在另一种不同的处理器体系结构上运行的目标代码的编译器。
软件测试
- n测试目的:
- n找到软硬件设计中的错误
- n减少风险
- n节约成本
- n提高性能
- 测试什么:
- n功能调试(黑盒测试)
- n压力测试,边界测试,异常测试
- n错误测试,随机测试,性能测试?
- n覆盖测试(白盒测试)
- n语句测试,判定和分支测试,条件覆盖
Linux操作系统介绍
Linux的版本号又分为两部分:内核(Kernel)版本和发行(Distribution)版本。内核版本的序号由3部分数字构成,其形式如下:
major.minor.patchlevel
如:2 . 4 . 18 2 . 6 . 14
Linux的特性
- 多任务、多用户
- 支持多种文件系统
- 采用虚拟内存管理技术
- 良好的可移植性
- 设备独立性
- 丰富的网络功能
- 提供全部源代码
Linux的功能
- 1.稳定的核心
- 2.丰富的应用软件
- 3.X Window系统
- 4.多重启动
- 5.网络功能
- 6.软件开发工具
Linux系统结构
系统核心框图
RPM工具
命令格式:
rpm –i RPM包的全路径文件名
如果想安装RPM包并显示安装进度信息可使用如下命令格式:
rpm –ivh RPM包的全路径文件名
在此命令的参数选项中:
Ø i:代表安装。
Ø v:代表verbose,设置在安装过程中将显示详细的信息。
Ø h:代表hash,设置在安装过程中将显示“# ”来表示安装的进度。
对于较大的RPM包,在安装时尤其需要使用“-ivh”选项,这样可以看到安装过程的相应信息,更可以了解安装的进度。
删除命令格式:
rpm -e RPM包名称
rpm –e命令用于从当前系统中删除已安装的软件包,需要在信念中指定要删除的软件包的名称而不是安装命令中的软件包安装文件名。
升级命令格式
rpm -U RPM包的全路径文件名
rpm -q
使用 rpm -q 命令来查询安装的软件包的数据
rpm -q fcitx命令会显示安装的软件包 fcitx的
名称、版本、和发行号码