三级嵌入式系统开发后记

报名的时候踌躇满志,到了3月才真正开始复习。所以不到一个月时间来准备国考,越来越老油条了。这次不知道能不能过,但还是把一个月以来的备考心得写下来,一是记录,二是希望能给备考的网友们提供一些参考。

下面我将列出常用的备考知识点。

目录

计算机三级嵌入式知识总结1(步骤篇)

计算机三级嵌入式知识总结2(硬件篇)

计算机三级嵌入式知识总结3(计算篇)


计算机三级嵌入式知识总结1(步骤篇)

1、 ARM处理器的7种工作模式,取决于当前程序状态寄存器CPSR的低5位值:

  • 用户模式USR: ARM处理器正常的程序执行状态,如果没有异常发生不能改变工作模式;

  • 系统模式SYS: 运行具有特权的操作系统任务;

  • 快中断模式FIQ: 支持高速数据传输或通道处理;

  • 管理模式SVC: 操作系统保护模式。

  • 数据访问终止模式ABT: 当数据或指令预取终止时进入该模式,可用于虚拟内存及存储保护

  • 中断模式IRQ: 用于通常的中断处理

  • 未定义指令终止模式UND:  用于支持硬件协处理器的软件仿真(浮点、微量运算)

2、 ARM七种异常类型:

  • 复位异常RESET

  • 数据访问中止异常DABT

  • 快速中断请求异常FIQ

  • 一般中断请求IRQ

  • 预取指令异常PABT

  • 软件中断异常SWI

  • 未定义异常UND。  每个异常中断向量占据4个字节

3、 三类实时系统:

  • 强实时系统,响应时间在毫秒级和微秒级

  • 普通实时系统,响应时间在秒级

  • 弱实时系统,响应时间在数十秒级。

4、 实时系统7个特征:

  • 具有异步io和中断处理能力

  • 任务切换时间和中断延迟时间确定

  • 优先级中断和调度

  • 抢占式调度

  • 内存锁定

  • 连续文件

  • 同步

5、 Linux内核的5个子系统:

  • 进程调度SCHED

  • 内存管理MM

  • 虚拟文件系统VFS 

  • 网络接口NET

  • 进程间通信IPC

6、 Bootloader主要完成的工作步骤:

  • 初始化处理器及外设的硬件资源配置

  • 建立内存空间的映射关系,使能mmu,将系统的外存和内存地址激活,为最终调用操作系统内核做好准备

  • 装载操作系统映像到内存

  • 对flash存储器编程

  • 运行操作系统

  • 传递系统启动参数

  • 命令行解析和输入输出控制。

7、 μC/OS-II系统提供的5个基本功能:

  • 任务管理

  • 任务间通信与同步

  • 任务调度

  • 时间管理

  • 内存管理

8、 单内核:Unix、Linux、Wince、Mac、OS、Andriod、Dos

9、 微内核:symbian、Vxworks、QNX、μC/OS-II、IOS

10、 实时操作系统RTOS的3个指标:响应时间、吞吐量和生存时间。时间的指标是:中断延迟时间和任务切换时间。

11、 模拟信号数字化步骤:扫描、分色、取样、量化。

12、 μC/OS-II的5种状态:休眠态、就绪态、运行态、挂起态、被中断态

13、 引导加载程序boot主要完成:内存加电自检,外设存在自检,内存地址管理映射,初始化外围设备,内存寻址定位,加载和启动操作系统

14、 嵌入式最最小系统一般包括嵌入式处理器、时钟电路、电源电路、复位电路、存储器和调试测试接口。

15、 通用输入/输出接口GPIO 具有三态:0态、1态、高阻态

16、 S3C2410内部的电源管理模块四种模式:正常模式、慢速模式、休眠模式、掉电模式

17、 任务间通信机制有信号量 消息邮箱、消息队列、互斥信号量、时间标志组。

18、 μC/OS-II中OSInit()函数最先建立最初的任务就绪表,然后建立4个空白的数据链表:任务控制块链表、事件控制块、标志链表和内存控制块链表。

19、 异步收发器UART:发送器、接收器、控制单元、波特率发生器

20、 OS装载方式:串口、以太网、USB接口装载

21、 IOS系统结构:核心操作系统、核心服务层、媒体层、触摸框架层。

22、 μC/OS-II四层软件结构:依次为软件层、应用程序接口层、内核层、设备驱动层

23、 嵌入式Linux操作系统3大子系统:用户进程 OS服务组件 Linux内核

24、 CAN总线数据帧的7个域,帧起始,仲裁域,控制域,数据域,CRC域,应答域,帧结尾。

25、 μC/OS-II的嵌入式系统软件部分有4层组成,从上而下分别是:应用软件层,应用程序接口层,μC/OS-II内核层,设备驱动程序层。

26、 linux内核的主要作用:进程管理和调度、内存管理、文件管理、网络接口、进程间通信;

27、 andriod从低层到高层:内核,系统运行库,应用程序框架,应用

28、 计算机局域网传输数据:发送设备MAC地址、接收设备MAC地址、控制信息、有效载荷(传输的数据)、校验信息。

29、 生成可执行文件4阶段:预处理 、编译、汇编、连接。

30、 SPI的4条信号线:

  • 串行时钟线SCK

  • 主机输入/从机输出数据线MISO

  • 主机输出/从机输入MOSI

  • 低电平有效的从机选择线SSEL

31、 IP核通常分为三种:硬核、固核、软核

32、 采用无线方式接入互联网的技术三类:无线局域网接入、GPRS移动电话网接入、3G移动电话网接入;

33、 BSP包括初始化程序、设备驱动程序 、配置文件、引导加载程序

34、 RVDS开发工具套件主要包括:工程管理器IDE、编译连接器RVCT、调试器RVD、指令集仿真器RVISS等。

35、 arm对异常响应过程如下:将CPRS的值保存到将要执行的异常中断对应的各自SPSR中;设置CPSR的相应位;将引起异常指令的下一条地址(断点地址)保存到R14中;给PC强制赋值,转入向量地址,以便执行相应的处理程序。

36、 SOC芯片开发流程:总体设计、逻辑设计、综合和仿真、芯片制造

计算机三级嵌入式知识总结2(硬件篇)

ARM处理器都是RISC结构,单周期操作,指令流水线,使用加载或存储指令访问内存。

ARM7采用冯-诺依曼结构,3级流水线;ARM9采用哈佛结构,5级流水线;Cortex-A15采用13级流水线。ARM复位后PC无条件的指向0x00000000处。

MMU是ARM处理器的内存管理单元,CPU管理虚拟存储器、物理存储器的控制线路,同时负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权;进行虚拟地址到物理地址的转换通过查找页表来完成,每次在访问内存时先查TLB,查不到再到内存中查整个页表。

MPU为ARM处理器的内存保护单元,是对存储器进行保护的可选组件,它允许ARM处理器的4GB地址空间定义8对域,分别控制8个指令和8个数据内存区域。

AMBA先进微控制器总线体系结构,用于连接和管理片上系统中各个功能模块的开放标准和片上互连规范;AMBA至2011年已经从1.0发展到4.0,ARM7采用AMBA1,而ARM9采用AMBA2。连接AMBA的系统总线和外围总线的是桥接器,速度不高的外部接口连接在外围总线如定时器、并行接口、串行接口;而LCD控制器、DMA、中断控制器、JTAG在系统总线上。

DMA是嵌入式芯片内部的直接存储器访问控制器,连接在AMBA的系统总线上,采用它来传输数据能够降低处理器负荷降低系统功耗,DMA一般采用向量中断或嵌套向量中断方式管理中断。

磁性随机存取器MRAM是一种非易失性存储器,拥有SRAM的高速存取能力,以及DRAM的高集成度;

铁电存储器FRAM既具有制度存储器非易失性的特点,又具有随机存储器可快速随机读写的特点,而且速度快,功耗低。

闪存FLASH MEMORY 是以一种长寿命的非易失性存储器,是近年应用最广的只读存储器。

OTG的是On-The-Go的缩写,可以实现没有主机情况下从设备之间直接进行点对点通信。

电阻式触摸屏即软屏,利用压力感应控制,结构简单价格低;

电容式触摸屏即硬屏,结构复杂价格高,带多点触摸或滑动操作的;

IIC是一种串行半双工传输的总线标准,当总线上的所有器件都不适用总线时,SCL线和SDA线各自的上拉电阻把电平拉高,使他们都处于高电平。总线传输操作启动后,主控器件传输的第一个字节是地址。IIC总线可以挂接多个器件:主动发起数据传输操作IIC器件是主控器件,否则是从器件,每次传输的字节数目没有限制。

usb1.1/2.0总线有4根信号线,采用半双工差分方式,用来传送信号闭关提供电源,其中d+和d-为差分信号线。。采用主从方式,有一个主机负责管理所有usb设备的连接和删除、发起与usb设备的通信。

硬件抽象平台HAL:它位于内核操作系统和硬件之间,从而隐藏了硬件平台的差异,避免操作系统对硬件的直接访问。

MP3使用国际标准化组织提供的MPEG-1层III算法进行有损的压缩编码

CAN即控制器局域网,采用差分传输,采用CAN可构成多主多从系统,能够实现多主通信。其总线的数据帧由7个不同域组成。

SPI接口是一种同步串行外设接口,允许嵌入式处理器和外围设备以串行方式进行通信,数据交换。SPI在主机中数据从移位寄存器中自左向右发出送到从机,同时从机中的数据自右向左发到主机,一般使用4跳线:SCK、MISO、MOSI、SSEL。八个时钟周期完成1字节的发送。

Vxworks是目前公认实时性最强、可靠性最高的嵌入式实时操作系统。既按开发版权的授权数量收取授权费,也按最终产品售出的实际数量收取每份运行软件的版权费。

NAND Flash以页(行)为单位随机存取,在容量、使用寿命和成本方面有较大优势。通常作为辅助存储器使用。

NOR Flash以字节为单位随机存取,用于存储系统中的固件。 

JATG是指满足IEEE1149规范的边界扫描测试方法及TAP接口,是一种片上调试技术的统称。常用于芯片和电路板的调试,该标准中规定TAP接口具有5根信号线分别是TCK,TMS,TDI,TDO,TRST。

RTC内部的数据寄存器都是8位寄存器,存放相应的BCD码值。

单内核又称宏内核,应用程序生产效率高,占内存空间大,占用资源多,缺乏可扩展性,维护困难,任务执行时间的可预测性较低,可靠性低,排除故障和增加新功能需要重新编译。

微内核:将进程间通信、低级存储管理、中断处理、任务管理等基本功能编译成一个功能精简、空间紧凑的模块。内核小巧;接口一致;各个功能模块之间松散耦合,只完成服务功能,系统管理功能交给一个或多个特权服务程序;微内核功能扩充方便,但是各个功能之间的切换而引起的开销比较大;基于客户机/服务器体系结构,在微内核结构的操作系统中,任务间通信机制-消息机制是系统的基础,操作系统的各种功能都以服务器实现,向客户机提供服务。

硬实时系统:任务执行时间超过截止时间,系统总损益就为负。这种实时系统的运行正确性是同其响应时限紧密相关的。一旦超过时限将导致严重的负效益后果,如飞机控制器,核反应处理装置。

ARM9-TDMI-S中T支持Thumb指令集,ARM v6及以后的内核都自动包含T。D:支持片上debug(调试);M:内嵌硬件乘法器;I:嵌入式ICE,支持片上断点和调试点。S:和综合版本,意味这处理器内核是以源代码形式提供。

大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。

小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。

μC/OS-II是小型嵌入式操作系统内核,基本不包含设备驱动程序和文件系统,只是一个纯内核,允许中断嵌套,嵌套层数可达255层;不支持时间片轮转调度法;任务是操作系统的基本调度单位。

μC/OS-II是开放源代码操作系统,其升级版本-iii是商用操作系统;-ii具有良好时可裁剪性,能够支持的任务数最多64位;目前的版本保留8个任务给系统,故用户编写的应用程序最多可以有56个任务,空闲任务是系统所创建的第一个任务,优先级为63.,任务按优先级抢占式调度方式进行且每个任务拥有自用栈,不支持是时间片轮转调度法,因此每一个优先级不相同。操作系统内核进行任务级的调度有三个条件:所有的中断服务程序均已经执行完毕,调度没有被禁止,任务就绪表中查到的最高优先级任务的优先级比当前运行任务的优先级高。

S3C2410存储器控制组件:存储器控制器、总线控制器、外部主控器、NAND FLASH控制器;地址空间共1G,8个BANK,每个BANK大小为128M。IO与存储器采用统一编址方式,并不像X86采用的IO映射编址(独立编址)方式,BANK0只能是16位和总线宽度的访问,其他所有BANK可访问8、16、32位。S3C2410内部具有分离的16KB大小的指令CACHE和16KB大小的数据CACHE。

堆栈指针SP使用的寄存器是R13,链接寄存器LR使用的是R14,程序计数器PC使用的寄存器是R15 ,R0-R15位数是32位,R0-R7任何模式下都作为通用寄存器使用

其他知识

  1. arm11后采用cortex命名

  2. cortex -A -R -M分别面向高端应用、实时控制、和微处理器。

  3. 只有GPIO可以实现并行IO,SPI、UART、IIC均是串行工作

  4. rs232采用负逻辑传输,而485采用差分信号传输方式,rs485的抗干扰能力强。

  5. 无线局域网采用的协议主要是IEEE 802.11a\b\g\n,其数据传输速率可达11-108Mb/s

  6. 我国高清电视的图像分辨率大多为1920*1080 宽高比为16:9

  7. 用户安装ADSL时,只需在已有的电话线的用户端配置一个ADSL MODEM 和一个语音分离器,计算机需要安装一块以太网网卡

  8. 实时操作系统完成每次任务所需时间偏差为抖动,实时性最重要的指标是响应时间。即系统从事件请求开始到任务完成的时间间隔

  9. 目前数字有线电视和卫星电视所传输的数字视频采用的编码格式是MPEG-2,而在互联网视频应用中最新格式是H.264/MPEG-4 AVC

  10. linux操作系统遵从GNU计划下的通用公共许可协议,而GNU开发的编程语言编译器称为GCC.

  11. nRESET表示低电平复位 RESET表示高电平复位

  12. 低端系统大多4/8位单片机

  13. 嵌入式系统中使用的键盘有线性键盘和矩阵键盘

  14. 矩阵键盘接口:行扫描法和中断方式去读取该键盘接口的按键的特征值。

  15. 典型的嵌入式系统硬件有嵌入式最小硬件系统、前向通道、后向通道、人机交互通道及相互互联通信通道等组成。模拟量输入接口和数字量输入接口组成前向通道。

  16. 应用程序通过GLIBC调用通用函数和内核的内部功能。

  17. 处理时不可分割的代码称为临界区,不允许任何中断打断。执行OS_ENTER_CRITICAL()执行关中断操作。

  18. 当处于运行态的任务执行节拍延时函数ostimedly()后,任务将转入挂起态,一旦预定时间达到任务立即转入就绪态。

  19. 系统加电后,cpu执行的第一条指令就是bootloader程序中的第一条指令,这条指令一般会存储在某种类型的固态存储设备上

  20. 内核对任务的管理通过名为任务控制器块的数据结构进行,当任务切换时,任务的工作现场被保存到任务的自用栈中。

  21. 网络协议提供对各种网络资源的访问的控制,网络驱动程序提供对各种网络硬件的支持。

  22. 通常用于解决优先级反转问题的是互斥信号量,适合处理多事件同步的是时间标志组。

  23. 在给定时间系统可以处理的时间总数称为吞吐量。

  24. 微处理器由字长宽度:4 8 16 32 64  指令集: RISC CISC 系统体系结构: 哈佛结构,冯·诺依曼

  25. S3C2410芯片的nGCS×连接到其CS引脚(低电平有效),那么读写AX88796芯片内部寄存器的首地址有: 
    nGCS2是【0x10000000】 
    nGCS3是【0x18000000】 
    nGCS5是【0x28000000】

  26. OS_Sched()任务调度、OSTaskCreate()函数与任务创建相、OSIntExit()中断级调度、OSTickISR()为时钟节拍中断服务子程序、OSInit()创建任务前用来初始化, 

  27. CPSR 为当前程序状态寄存器,决定ARM 处理器工作模式

N:负数标志位。如果目标寄存器中的有符号数为负数,则N=1,否则N=0。

Z:零标志位。如果目标寄存器中的数为0,则Z=1,否则Z=1。

V:溢出标志位。进行有符号运算时如果发生错误,则V=1,否则V=0。

I:IRQ中断禁止位。I=1代表禁止IRQ中断,I=0代表允许IRQ中断。

F:FIQ中断禁止位。F=1代表禁止FIQ中断,F=0代表允许FIQ中断。

28. GB2312 采用双字节进行存储和传输汉子,GB18030采用双字节或四字节 

Unicode/UTF-8 采用三字节,Unicode/UTF-16采用双字节可变长编码

29. 软件构件的设计包括三部分:嵌入式web服务器环境构建,应用网页设计和GCI接口程序设计。在构建软件平台时,首先要移植系统启动引导程序(Bootloader)再移植Linux操作系统并建立其根文件系统,最后移植嵌入式Web服务器。

30. 用户模式中[M4 M3 M2 M1 M0]={1 0 0 0 0}。即ORR R1,R0,0x10|0xC0。再通过指令BL_main来引导应用程序主函数main()。ARM9体系结构中规定异常向量之间各相差4个字节,复位异常向量地址处通常存储一条分支指令的代码。对于S3C2410微处理器来说,其启动引导程序还需要完成禁止看门狗部件和禁止外部中断部件,并设置各工作模式下的堆栈指针。

计算机三级嵌入式知识总结3(计算篇)

1、存储单位换算

1字=2半字=4字节=4*8位

TB=2^10GB

GB=2^10MB

MB=2^10KB

KB=1000Byte

Byte=8bit

存储容量V=2^m * n (m为地址线条数,n是数据线位数)单位为bit。

例1:26位地址线和8位数据线,存储容量是512Mb,即64MB。 
例2:20位地址线和16位数据线,存储容量16Mb,即2MB。

 

2、声音图像数据量计算

根据香农采样定理,采样周期不得低于信号的1/2,故采样频率应该至少是信号最高频率的2倍。

1)声音文件的数据量:

1s声音文件的数据量(未压缩)

采样频率(HZ)*量化位数(位)*声道数=1s数据量(bit)

  例:请计算1分钟双声道、16位采样位数、44.1kHz采样频率声音的不压缩的数据量是多少?

2)图像文件的数据量计算:

图像分辨率(像素) * 像素深度(位)=数据量(bit)

注:像素深度:RGB 5∶5∶5表示一个像素,图像深度为15位;真彩色图像中RGB三分量的像素位数都是8位,图像深度为24位;256亮度等级:像素深度8位

  例:若不经过压缩,以VGA640*480点阵存储一幅256色的彩色图像大约需要多少MB存储空间?

3)视频文件的数据量计算:

1s视频图像文件的数据量(未压缩)

图像分辨率(像素)* 彩色深度(位)*帧率= 1s数据量(bit)

注:PAL制(25帧/秒)、NTSC(30帧/秒)

        例:2分钟PAL制720*576分辨率24位真彩色数字视频的不压缩的数据量是多少?

3、寄存器值计算

1)定时器输入时钟频率=PCLK/(预分频系数+1)/分割器值

2)计数常数=定时时间间隔/(1/定时器输入时钟频率)

3)波特率因子UBRDIVn=(int)(PCLK/(bps*16))-1;

例:PCLK为40MHz,若希望波特率设置为9200,计算波特率因子UBRDIVn

               UBRDIVn=(int)(40000000)/(9200*16)-1=(int)(271.74)-1=270

4)端口控制寄存器初始化

以端口E为例:端口rGPECON位从0-15,每位通过两个位表示:00表示输入,01表示输出,10表示特殊用法,11保留使用

数据位rGPEDAT位从0-15,每位通过1位表示:0或1

例:相关驱动程序中,初始化GPE0、GPE1引脚功能的语句是:
rGPECON=((rGPECON|0x00000005)&0Xfffffff5)

若GPE0输出“1”时,控制LED灯亮,GPE0输出“0”时,控制LED灯灭,那么,相关驱动程序中,控制LED灯亮和LED灯灭的语句分别可以是:
rGPEDAT = rGPEDAT | 0x0001; 
rGPEDAT = rGPEDAT & 0xFFFE;

4、带宽计算

带宽=总线频率*数据宽度/8*每个周期传输次数(传输次数/总线周期)

    例:某系统总线的一个总线周期包含3个时钟周期,每个总线周期中可以传送32位数据若总线的时钟频率为33MHz,则总线带宽为?

总线带宽=(总线频率/总线周期包含的时钟周期数)×(数据量/总线周期),33/3×32/8=44Mb/s。

发布了16 篇原创文章 · 获赞 14 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ym_shuangluoye/article/details/88917352