嵌入式系统原理及应用教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重点掌握:

嵌入式概念:以应用为中心,以微电子技术,控制技术,计算机技术和通信技术为基础,强调软硬件协同整合,对功能,可靠性,成本,体积以及应用环境等有严格要求的专用计算机系统。

ROM:只读存储器RAM是指随机存取存储器(random access memory)

SRAM静态随机存储器DSAM动态随机存储器

MPU (Micro Processor Unit),叫微处理器,通常代表一个功能强大的CPU(暂且理解为增强版的CPU吧),但不是为任何已有的特定计算目的而设计的芯片。

MCU(Micro Control Unit),叫微控制器

SOC(System on Chip)指的是片上系统,以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。MCU只是芯片级的芯片,而SOC是系统级的芯片

SOPC(System On a Programmable Chip),可编程片上系统,以嵌入式操作系统为标志的嵌入式系统。

三要素:嵌入型,,专用性,计算机系统

RTOS:实时多任务操作系统内核和操作系统的接口:API(应用程序接口)

常见操作系统:VxWorks,linux,uclinux,ucOS-II

HAL: 硬件抽象层

BSP;板级支持包

Load:存储器读出到寄存器Store:寄存器写入到存储器

MMU:存储管理单元。(1kb,4kb,64kb,1mb)

1.将主存地址从虚拟空间映射到物理存储空间

2.存储器访问权限控制

3.设计虚拟存储空间的缓冲特性,采用分页虚拟存储管理方式。

TLB:快表字:4字节半字:2字节字节:8位

TDMI:支持高密度的Thumb指令集,片上Debug,支持内嵌乘法器,ICE支持片上断点调试。大端格式:字数据的高字节存储在低地址中,而字数据的低字节存储在高地址中。

小端格式相反。

异常:当正常的程序执行流程发生暂停的停止时

中断是正常机制,是一种产cup所具有的功能(硬件引起,软件错误引起)

Busybox是压缩了Linux许多工具和命令的工具包,linux中的瑞士军刀,在制作根文件系统是可以使用它来减少工作量。

BootLoader 的概念:在操作系统内核运行之前运行的一段小程序。可以初始化硬件设备、建立内存空进的映射图、从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

内核移植:根据目标硬件平台架构将系统内核进行裁剪,使其在目标平台上进行的一种方法驱动概念及其作用: 是一种可以使计算机和设备通信的特殊程序, 硬件和系统之间的桥梁,是操作系统内核和机器硬件之间的接口。隐藏了不同硬件设备内部的详细工作过程,并且为同一应用程序提供了统一的接口。在用户态和内核态之间传递数据。

文件系统:负责管理和存储文件信息的软件机构成为文件管理系统,简称文件系统,是操作系统用于明确磁盘或分区上的文件的方法数据结构,即在磁盘上组织文件的方法。(文件系统不仅包含着文件中的数据而且还有文件系统的结构)

ARM7:冯诺依曼结构,三级流水(取值,译码,执行),ARMv4指令集

ARM9:哈佛结构,五级流水(取值,译码,执行,运存,写回),ARMv4t

ARM有37个寄存器,31个通用寄存器,6个状态寄存器。

通用寄存器包括R0-R15,可以分为三类

未分组寄存器R0-R7

分组寄存器R8-R14

程序计数器R15

R13常用作堆栈指针

R14子程序链接寄存器或链接寄存器LR

R15程序计数器(PC)

任何时候通用寄存器R0-R14,程序计数器PC,一个或两个状态寄存器都是可以访问的Thumb指令集提高了代码的空间利用率。

ARM处理器有两种工作状态:ARM状态和Thumb状态,可以通过人为切换或者发生异常自动切换。

从零字节到三字节放置第一个存储的字数据,从第四个到第七个字节放置第二个存储的字数,依次排序,最大的寻址空间为4GB(2的32次方)

七种运行模式:Usr,fiq,irq,svc,abt,sys,und:六种非用户模式(特权模式),五种异常模式

一个CPSR当前状态寄存器current program status register

五个SPSR备份的状态寄存器saved program status register

Thumb状态下,程序可以直接访问8个通用寄存器0-8,程序计数器,堆栈指针(SP),链接寄存器(LR)和CPSR,每一种特权模式下都有一组SP,LR,SPSR。

A(数字)S(符号)L(逻辑)

1GB=8乘以128M

NAND Flash和NOR Flash的区别特点:

NAND Flash容量大,写入速度快,一般用于大容量数据的存储,成本较低,使用前必须先驱动。

NOR Flash::容量小,读取速度快,成本高,可以直接使用,不需要驱动

三线制(SG)串口:2,3,5

中断控制器一共60个中断源接受中断请求,24个外部中断源,非外部46个

每个UART包涵一个波特率发生器,一个发送器,一个接收器和一个控制单元

波特率产生:UBRDIVn=(int)(源时钟/(波特率乘以16))-1

数据传送速率=HS(水平尺寸)乘以VS(垂直尺寸)乘以FR(帧频)乘以MV(模式依赖值)LINEVAL=(垂直显示尺寸)-1

LINEVAL=(垂直显示尺寸/2)-1

BootLoader两种模式

启动加载模式:也称为自主模式下载模式

分层结构:引导加载程序,引导加载参数,Linux内核,文件系统,用户应用程序。、

Linux内核的组成:进程调度,内存管理,虚拟文件系统,进程通信

内核移植:根据目标硬件平台架构将系统内核进行裁剪,使其在目标平台上进行的一种方法1.编写针对特定处理器的代码

2.编写针对特定硬件平台的引导和初始化代码

3.编写针对特定外设的设备驱动程序代码

工作1-3从少到多,由难到易

设备驱动程序功能:对设备初始化和释放,把数据从内核传送到硬件和从硬件读取数据,读取应用程序传送给设备文件的数据和会送应用程序请求的数据,检测和处理设备出现的错误

静态加载的驱动程序;直接编译内核,随系统启动时加载

动态加载的驱动程序:编译成一个可加载和删除的模块(insmod加载,rmmod删除模块,lsmod查看已加载模块)

驱动分类:

字符设备驱动:按字节流(类似文件)访问的设备,只能殊勋低读取,没有缓冲区(打印机。显示终端)

块设备驱动:按任意字节访问的设备,可以随机读取,设有缓冲区,以块为单位(硬盘,光驱)

网络设备驱动:使用套接字socket方式对网络数据访问

设备号:32位(高12位为主设备号即设备类型,低20位为次设备号即区分标明不同的属性)

Linux提供4GB的内存访问空间分为内核空间和用户空间。最高的1GB(虚拟地址0xC000000000到0xFFFFFFFF)供内核使用,称为内核空间,较低的3GB(虚拟地址0x00000000到0xBFFFFFFF)供各个进程使用,称为用户空间。

文件系统应包括几项内容:基本的文件系统结构/dev等,基本程序运行所需的库函数,基本的系统配置文件rc,inittab,必要的设备文件支持/dev/hd*,基本的应用程序sh,ls,mv

根文件系统的结构:/dev,/root,/usr,/var,/home,/proc,/bin,/sbin,/etc,/boot,/lib,/mnt,/tmp,/initrd

相关文档
最新文档