完整word版计算机三级嵌入式知识点推荐文档Word下载.docx
- 文档编号:21570850
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:10
- 大小:52KB
完整word版计算机三级嵌入式知识点推荐文档Word下载.docx
《完整word版计算机三级嵌入式知识点推荐文档Word下载.docx》由会员分享,可在线阅读,更多相关《完整word版计算机三级嵌入式知识点推荐文档Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
移植μC/OS-II到一个嵌入式系统电路板上正常运行,下面哪个条件不是必须的?
处理器的C编译器能产生可重入代码,且用C语言就可以打开和关闭中断
该电路板的处理器必须具备MMU(存储管理单元)
处理器支持中断,并且能产生定时中断(通常在10至100Hz之间)
处理器支持能够容纳一定量数据(可能是几千字节)的硬件栈区
B
【解析】移植μC/OS-II到一个嵌入式电路板上正常运行,必须满足以下要求:
处理器的C编译器能产生可重入代码;
用C语言就可以打开和关闭中断;
处理器支持中断,并且能产生定时中断(通常在10~100Hz之间);
处理器支持能够容纳一定量数据(可能是几千字节)的硬件栈区;
处理器有将栈区指针和其他CPU寄存器读出和存储到栈区或内存中的指令。
存储管理单元可以不需要。
故本题选择B
S3C2410内部的电源管理模块所具有的四种模式:
正常模式、慢速模式、休眠模式和掉电模式。
休眠模式下,电源管理模块仅断开ARM内核时钟FCLK,让CPU处于休眠状态,但仍为外围硬件组件提供时钟;
掉电模式下电源管理模块将断开内部电源,除非唤醒逻辑有效,否则内核不产生功耗。
。
按照IC设计文件的类型,IP核通常分为三种:
软核、固核和硬核
本题考查存储器存储容量的决定因素。
存储器的容量取决于存储单元的个数和存储器各单元的位数,而单元个数与存储器的地址总线有密切关系,因此存储器芯片的容量完全取决于存储器芯片的地址线条数和数据线的位数。
VxWorks是目前公认为实时性最强、可靠性最高的一种嵌入式实时操作系统。
在该操作系统中,所有与特定电路板上硬件相关的功能都集成在一个库中,该库的名称为板级支持包(BSP)。
GCC的命令及参数。
源文件为test.c,表示源文件是用C语言编写的;
命令arm-linux-gcc-g-otesttest.c中加入了-g、-otest,表示执行该命令后,编译器将在生成的输出文件test中加入GDB能够使用的调用信息,使得用GDB调试时比较方便。
file命令是装入需要调试的可执行文件,运行文件或执行当前被调试的程序用命令run。
Linux操作系统遵从GNU计划下的通用公共许可协议,而GNU开发的编程语言编译器称为GCC。
GNU开发工具的使用,GCC调试命令。
由于Linux操作系统中可执行文件没有统一的文件后缀,操作系统是从文件的属性来区分可执行文件和不可执行文件的,因此GCC生成可执行文件时若用户未指定文件名,则GCC生成一个名为a.out的可执行文件。
针对ARM硬件平台的目标机,其GCC的基本命令格式是:
arm_linux_gcc
[options]
[filenames]。
JTAG。
用于芯片和电路板的测试人们常用JTAG来表示满足IEEE
1149规范的边界扫描测试方法和TAP接口(称为JTAG接口),是一种用于片上调试技术的统称。
JTAG标准中规定TAP接口使用以下5根信号线:
TCK、TMS、TDI、TDO和TRST。
JATG可用于实现嵌入式系统的在线编程功能,其标准允许多个芯片通过JTAG接口串联在一起,实现对多个器件的测试
μC/OS-II的层次位置。
基于μC/OS-II的嵌入式系统软件架构是一个建立在硬件系统上的四层软件结构,从上到下的顺序是:
应用软件层,应用程序接口(API)层,μC/OS-II内核,设备驱动层。
Linux内核的组成。
Linux内核主要由5个子系统组成:
进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。
Linux内核是一种自由软件,其源代码是开放的,其创始人是芬兰学生Linus
Torvalds;
对于不同体系结构的CPU,Linux内核的源代码各不相同;
2012年Linux内核升级到3.0版本,
嵌入式Linux进程间的通信机制。
包括信号、管道、消息队列、信号量、共享内存和套接字。
硬件抽象层HAL。
在嵌入式领域,HAL主要用来简化嵌入式操作系统的移植作业,它对底层硬件的初始化程序或者控制程序进行封装,向上提供了访问底层硬件的函数接口,隐藏了硬件的差异性,避免了操作系统对硬件的直接访问。
HAL位于内核操作系统和硬件平台之间。
RTOS的相关指标。
RTOS(实时操作系统)有3个主要的实时指标:
响应时间、吞吐量和生存时间。
响应时间的具体指标是:
中断延迟时间和任务切换时间。
实时系统对时间约束要求的严格性,使可预测性成为实时系统的一项重要性能要求,它是指RTOS能够对外部事件的响应时间和实时任务的执行时间进行判断,以确定被事件触发的实时任务能否在规定的时间内完成。
IEEE(美国电气电子工程师协会)给出的实时系统定义是:
那些正确性不仅取决于计算的逻辑结果,也取决于产生结果所花费的时间的系统。
因此,实时系统对外界的响应是否正确不仅取决于功能正确性,而且取决于时间正确性。
RTOS的实时性能指标,其中响应时间的具体指标有中断延迟时间和任务切换时间。
从接收到可屏蔽中断请求信号到操作系统作出响应并转入中断服务程序所需要的最长时间,称为中断延迟时间。
该时间包括两部分:
一是最长关中断时间,是指系统因执行临界区代码等原因不允许响应中断请求的时间;
二是从硬件开始响应中断到开始执行中断服务程序第一条指令之间的时间。
RTOS响应中断请求并且完成相应中断服务子程序(ISR)的时间非常快,且这个时间必须具有某种程度的一致性。
精细衡量这个时间一致性变化的术语是抖动。
实时系统及实时指标的理解。
实时系统对外界的响应是否正确不仅取决于功能正确性,而且取决于对事件处理的时间正确性。
因此,评价实时系统的实时性最重要的指标是响应时间,即系统从事件请求开始到任务完成的时间间隔。
实时系统任务时限的类型的了解。
实时系统的任务时限有两种类型,分别是截止时间和务执行预设时间。
CAN总线的数据帧构成。
CAN总线的数据帧由7个不同的域组成:
帧起始、仲裁域、控制域、数据域、CRC域、应答域、帧结尾。
CAN总线采用差分传输,控制器内置CRC校验,传输可靠性强,可构成多主多从系统,即同一时刻允许多个主从机同时进行数据传输。
CAN总线的数据帧是由7个不同的域组成:
数据域由数据帧的发送数据组成,它可以是0~8B,每字节包含8位,按照高位在前,低位在后的原则发送。
ARM的中断控制器。
每一个ARM芯片,除了内核异常外,还有多种内置硬件组件的中断,基于ARM内核的嵌入式芯片中的中断控制器的功能是对芯片中相关硬件组件的中断请求进行管理和控制,一般采用向量中断(VIC)或嵌套向量中断(NVIC)方式管理中断。
WIC称为唤醒中断控制器
嵌入式硬件系统的组成。
典型的嵌入式系统硬件由嵌入式最小硬件系统、前向通道、后向通道、人机交互通道及相互互联通信通道等组成。
前向通道即输入接口,由模拟量输入接口和数字量输入接口组成。
ARM处理器的工作状态。
在ARM的体系结构中,处理器可以工作在3种不同的状态,①ARM状态②Thumb状态及Thumb-2状态③调试状态。
ARM状态是ARM处理器工作于32位指令的状态,所有指令均为32位宽度。
Thumb状态是ARM执行16位指令的状态;
在Thumb模式下,指令代码只有16位。
Thumb-2状态是ARMv7版本的ARM处理器所具有的新状态。
ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。
其中:
“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;
“R”系列针对实时系统;
“M”系列对微控制器。
ARM7、ARM9和ARM11属于经典ARM处理器,ARM
Cortex-M0/Cortex-M1/Cortex-M3/Cortex-M4等Cortex-M系列归属于ARM
Cortex嵌入式处理器。
ARM嵌入式处理芯片性能。
Cortex-M3采用3级流水线,在ARM
Cortex实时嵌入式处理理器中,Cortex-R4采用8级流水线。
ARM处理器的7种异常及相应优先级。
经典ARM处理器有7种异常:
主要包括复位RESET、未定义指令UND、软件中断SWI、指令预取中止PABT、数据访问中止DABT、外部中断请求IRQ以及快速中断,其中优先级最高的异常是复位。
ARM常用指令中的中断指令助记符。
ARM处理器异常中断指令中用于软中断的指令助词符为SWI,用于断点中断指令助词符为BKPT。
ARM
Cortex-M3实现中断嵌套过程。
中断可以改为使用比之前服务程序更高的优先级,而且可以在运行时改变优先级状态。
使用末尾连锁连续中断技术只需消耗3个时钟周期,相比32个时钟周期的连续压、出堆栈,大大降低了延迟,提高了性能。
嵌入式处理器的体系结构按照存储机制可分为冯诺·
依曼结构及哈佛结构。
ARM7采用冯·
诺依曼结构,3级流水线,ARM9采用哈佛结构,5级流水线
嵌入式处理器按存储机制的分类。
CPU与存储器的连接只有一套总线,存储器中既可以存放数据也可以存放程序,这样的结构是冯·
诺依曼(von
Neumann)结构;
相对的,程序存储器和数据存储器分开采用两套总线与CPU连接的结构是哈佛(Harvard)结构。
RVDS是ARM公司推出的基于ARM系列CPU进行开发的工具套件,支持所有ARM芯片,还支持其他内核的处理器,如51系列;
与ADS1.2比较而言,其生成的代码紧凑,执行效率高;
RVDS的开发工具套件中,主要包括工程管理器、编译连接器、调试器和指令集仿真器等;
支持汇编、C和C++对源程序进行编译。
嵌入式系统的开发工具软件GCC的命令及参数。
以S3C2410为核心的目标机,在Linux操作系统下开发该目标机的Linux应用程序,通常使用arm-linux-gcc交叉编译器来编译应用程序。
若要对一个应用程序进行调试排错,则应该在编译命令中加g参数对它进行编译。
μC/OS-II只能管理64个任务,目前的版本保留8个任务给系统,故用户编写的应用程序最多可以有56个任务;
空闲任务(idle
task)是系统所创建的第1个任务;
就绪态的任务意味着该任务已经准备好,可以运行但由于该任务的优先级比正在运行的任务的优先级低,暂时还不能运行。
μC/OS-II的任务间通信。
μC/OS-II系统中主要利用信号量、互斥信号量(适合优先级翻转)箱或消息队列进行任务间通信。
适合处理多事件同步的是事件标志组。
在μC/OS-II操作系统中,内核对任务的管理通过任务控制块OS_TCB进行;
任务切换也称为上下文切换,实际含义是任务的CPU寄存器内容切换。
当μC/OS-II内核决定运行别的任务时,正在运行任务的工作现场被保存到任务的自由栈之中。
μC/OS-II的任务调度中就绪表。
μC/OS-II的就绪任务等级在就绪表中,OSRdyTbl[]是就绪表的位图映像矩阵,每一位代表了一个优先级任务的就绪状态,称为就绪位,该矩阵最多可有64位。
μC/OS-II的系统平台的应用开发。
一个应用程序的工程项目中,必须包含启动引导程序,UC/OS-II的库文件,应用程序等。
main()函数在执行过程中,除了用户函数和硬件初始化函数外,按以下次序执行3个主要的μC/OS-II函数:
操作系统初始化OSInit(),任务创建OSTaskCreate(),任务调度开始OSStart()。
在μC/OS-II操作系统中,一般用OSQPend()函数来等待并获得消息,用函数OSQPost()来发送消息;
当有多个任务在等待消息队列中的消息时,其中任务优先级最高的任务将获得消息。
系统上电或复位后,首先执行的是“B ColdReset”指令,系统跳转到标号为ColdRest处接着执行,在完成了关看门狗定时器、关中断、初始化各模式的堆栈、初始化存储器等功能后,执行指令“BL
__main”跳转到C语言的主函数处执行。
按照S3C2410芯片体系结构的规定,复位异常的向量地址是0x00000000,各异常向量地址之间相差4个字节。
板级支持包:
BSP实际上一些汇编程序和C语言代码相结合的操作系统底层软件。
包括初始化程序、设备驱动程序、配置文件和引导加载程序等。
系统复位:
一般情况下,为保证系统可靠复位,复位信号有效电平的时间宽度必须为若干个处理器时钟周期;
嵌入式系统可使用外接典型复位芯片来保证系统可靠复位;
嵌入式处理器都有一个系统复位引脚为nRESET或RESET,n表示低电平复位,不带n的表示高电平复位;
ARM复位后PC无条件的指向0x00000000处。
复位异常向量地址处通常存储一条分支指令的代码
实时操作系统完成每次任务所需时间的偏差,也就是时间一致性,叫做抖动;
硬实时操作系统的抖动比软实时操作系统的抖动要小。
I^2C总线属于多主总线,即允许总线上有一个或多个主控制器件和若干从器件同时进行操作,通过总线仲裁的方式确定总线控制权;
I2C只有两条信号线;
数据线SDA和时钟线SCL,所有操作都通过这两条信号线完成
MMU是Memory
Management
Unit的缩写,中文名是内存管理单元,它是CPU管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权;
MMU进行虚拟地址到物理地址的转换通过查找页表来完成,每次在访问内存时先查TLB,查不到时再到内存中去查整个页表。
CPSR为当前程序状态寄存器,记录了ARM运行过程中的标志状态;
其中T为ARM与Thumb指令切换,F为禁止快速中断FIQ的控制位。
当前程序状态寄存器CPSR的相关控制位。
CPSR中的控制位中,I是外部IRQ中断禁止控制位,I=1禁止外部IRQ中断,I=0允许IRQ中断;
F为禁止快速中断FIQ的控制位,F=1禁止FIQ中断,F=0允许FIQ中断
IP核通常分为3种:
软核,即使用硬件描述余语言(HDL)描述的IP核;
固核,与工艺相关的包含具体结构信息的IP核,以逻辑综合后的RTL描述和可综合网表的形式提供;
硬核,是已被投片测试验证的IC的掩膜版图和全套工艺文件。
GCC是GNU开发工具套件中的核心工具软件,是GNU
C语言编译器的简称。
GCC所编译的目标机的处理器包括X86、ARM、PowerPC等体系结构的处理器,如ARM_Linux_GCC即是针对ARM体系结构的目标机的编译工具。
Linux操作系统的嵌入式软件的工具套件GNU相关知识。
GCC是GNU开发工具套件中的核心工具软件,是编译器;
GDB是GNU开发工具套件中的程序调试工具。
Thumb-2指令集的掌握,开关中断指令属于程序状态类指令,用于更改处理器状态。
关外部中断使用的指令为:
CPSID
I,开外部中断的指令为:
CPSIE
I。
UART的构成。
UART由发送器、接收器、控制单元及波特率发生器等构成
AMBA总线的典型ARM片上系统构建方式。
按照AMBA总线规范,基于ARM内核的嵌入式处理器芯片采用系统总线与外围总线两层结构的方式构建片上系统。
其中的系统总线主要用于连接高带宽快速组件。
嵌入式系统的存储器以半导体存储器为主,FRAM和MRAM,分别称为铁电随机存取存储器和磁性随机存取存储器。
片选信号CS低电平有效;
nGCS2映射地址为0x10000000。
ARM9体系结构中规定异常向量之间各相差四个字节;
对于S3C2410微处理器来说,其启动引导程序还需要完成禁止看门狗定时器部件和禁止中断,并设置各工作模式下的堆栈指针。
存储器管理单元(MMU)是许多高性能处理器所必需的重要部件之一,用来完成虚拟地址到物理地址转换。
存储器保护单元(MPU)湿度存储器进行保护的可选组件。
临界区的概念和关中断操作。
代码的临界区(Critical
Section)是指处理时不可分割的代码。
为确保临界区代码的执行,在进入临界区之前必须关中断,执行完临界区代码之后要立即开中断。
μC/OS-II系统调用宏OS_ENTER_CRITICAL
()执行关中断操作。
代码的临界区是指处理时不可分割的代码;
一旦这部分代码执行,不允许任何中断打入。
任务级的调度是由函数OSSchedLock()完成的。
差分传输,就是发送端在两条信号线上传输幅值相等相位相反的电信号,接收端对接受的两条线信号作减法运算,这样获得幅值翻倍的信号。
特点:
从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的。
在某些系统里,"
系统地"
被用作电压基准点。
当'
地'
当作电压测量基准时,这种信号规划被称之为单端的。
我们使用该术语是因为信号是用单个导体上的电压来表示的。
另一方面,一个差分信号作用在两个导体上。
信号值是两个导体间的电压差。
尽管不是非常必要,这两个电压的平均值还是会经常保持一致。
】
软件平台的构建步骤通常是:
首先移植启动引导程序(Bootloader),然后完成Linux内核的移植,随后还需构建根文件系统。
基于ARM9核的处理器,各异常向量之间相差4个字节。
因此,需要在各异常向量处设计一条无条件转移指令。
对于S3C2410微处理器来说,启动引导程序还需要完成禁止看门狗部件和禁止中断,并设置各工作模式下的SP指针,然后再通过BL指令来引导应用程序的main函数
ARM7采用冯•诺依曼结构,3级流水线,无MMU;
Cortex-A15采用哈佛结构,13级流水线,MPCore为多核,超标量,可变长度,乱序执行指令流水线,动态分支指令预测,4路相关二级Cache。
】典型的嵌入式WEB服务器应用软件至少有4个重要的组件:
客户端浏览器,WEB服务器、WEB页面、设备操控程序等。
其中WEB页面是用于设备操控命令提交或设备状态信息显示的人机界面,它需要通过CGI接口来与设备操控程序进行信息交互。
传送CPSR或SPSR的内容到通用寄存器指令用MRS;
传送通用寄存器到CPSR或SPSR的指令用MSR。
为了连接ARM内核与处理器芯片中的其他各种组件,ARM公司定义了总线规范,名为先进微控制器总线体系结构(Advanced
Microcontroller
Bus
Architecture,
AMBA);
先进外围总线(Advanced
Peripheral
Bus,
APB)。
在掉电模式下,电源管理模块将断开内部电源,除非唤醒逻辑有效,内核不产生功耗;
在任何情况下,对处理器进行复位操作,均自动进入
正常模式。
GNU包含三个协议条款,其中最重要的是GPL。
GPL是通用公共许可协议。
图中X处应为设备驱动程序。
硬件最小系统包括电源电路、时钟电路、复位电路、调试测试接口、以及存储器
嵌入式系统硬件的逻辑组成。
硬件的主体是中央处理器和存储器,他们通过I/O接口和I/O设备与外部世界联系,并借助总线相互连接。
中央处理器(CPU)由运算器、控制器、寄存器、高速缓冲存储器(Cache)等部件组成,故A是中央处理器;
B里面包括按键、键盘、指示灯和屏幕等人机交互设备,他们是用户界面的硬件部分,所以B是用户界面。
ARM处理器中通用寄存器的作用。
ARM通用寄存器共有31个,均为32位结构。
R13~R14除了用户模式和系统模式分别为堆栈指针(SP)和程序链接寄存器(LR)之外,其他模式下均有自己独特的标记方式,是专门用于特定模式的寄存器,共6组12个。
I2C总线的相关概念。
是广泛采用的一种串行半双工传输的总线标准。
I2C总线中发起数据传输操作的I2C器件是主控器件。
嵌入式系统主要开发工具软件ADS1.2如何进行地址映射配置。
ADS1.2把目标文件中的信息按照3种存储区域类型来进行划分,即划分为RO段、RW段、ZI段;
RO段是指代码存储区和常数存储区,具有只读性质。
伪指令的了解和使用。
引用一个在其它文件中的标号Lable1的伪指令为IMPORT
Lable1,声明一个全局标号Lable2以便其它文件引用,该伪指令为EXTERN
Lable2。
数字信号处理器的英文缩写是DSP,是一种专用于数字信号处理的微处理器,指令系统中增加单指令多数据(SIMD)并行处理的特殊指令。
ARM嵌入式处理芯片方面的知识。
基于Cortex-M0的专家处理器为SC100,基于Cortex-M3的专家处理器名为SC300。
直接存储器访问(DMA)控制器可将数据块从外设传输至内存、从内存传输至外设或从内存传输至内存。
本题考查存储器的主要性能指标及相关因素。
存储器带宽与存储器总线的工作频率(周期)有关,也与数据线的位数(位宽、宽度)和每个总线周期的传输次数有关。
串行外设接口SPI。
SPI一般使用4条信号线:
串行时钟线SCK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SSEL。
本题考查嵌入式系统仿真开发平台相关概念。
仿真平台(仿真开发平台)一般指嵌入式系统开发过程中使用的虚拟机管理软件、仿真软件或者指令集模拟器。
嵌入式操作系统的基本组成。
在嵌入式操作系统的核心部分称为内核(kernel),而对硬件设备进行控制和管理的程序模块称为驱动程序(driver)。
嵌入式系统的启动顺序和Bootloader的存放位置。
在嵌入式系统加电或复位的时候,所有的微处理器通常都从某个由CPU制造商预先安排的地址上取指令;
基于ARM920T核的微处理器从地址0x00000000取得它的第一条指令。
CPU执行的第一条指令就是Bootloader(引导加载)程序中的第一条指令。
引导加载程序在引导加载操作系统时,设置相关的寄存器和资源,跳转到操作系统所在的空间,执行其引导,这个过程中可以给内核传递参数,可以控制系统启动的模式。
U-Boot是一种通用的引导加载程序,对PowerPC系列处理器支持最为丰富,对Linux操作系统的支持最为完善。
嵌入式系统的调试,驻留监控软件调试。
所谓驻留监控软件是一段固化在目标机ROM中的程序。
它是一种成本较低的调试方法,不需要专门的硬件调试和仿真设备。
ADS1.2工具软件对嵌入式系统进行开发时的相关设置。
利用ADS1.2工具套件进行基于ARM硬件平台的软件开发,在进行编译连接时,地址映射连接类型有2种方式,分别是Simple连接类型和Scattered连接类型。
采用Scattered连接类型时需要提供一个scatter格式的配置文件。
移植μC/OS-II操作系统作为软件平台。
移植工作的重点是改写OS_CPU.H、OS_CPU_A.S、OS_CPU_C.C等与处理器硬件有关的文件;
用OSTaskCreate()函数来创建任务,并用OSStart()函数来启动多任务调度功能。
μC/OS-II操作系统中,一般用OSQPend()函数来等待并获得消息,用函数OSQPost()来发送消息;
堆层式软件架构的组成,分为四层,从低层到高层分别是内核、系统运行库、应用程序框架和应用
Linu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 计算机 三级 嵌入式 知识点 推荐 文档