考试范围:第一章到第四章。
1、嵌入到对象系统中的专用计算机应用应用系统称之为嵌入式系统,它有哪3个特点:?特点:嵌入性、内含计算机、专用性。
2、名称含义(mcu、soc、dsp、任务、rtos)?(第一章)mcu:微控制器soc:
片上系统risc:精简指令集计算机dsp:数字信号处理器rtos:
实时系统empc:嵌入式微处理器。
任务:一个任务也称做一个线程,是一个简单的程序,该程序可以认为cpu完全属于该程序本身。
调度(scheduler):内核的主要职责之一,决定该轮到哪个任务运行。3、常用的嵌入式操作系统有哪些?
多道批量处理操作系统、分时操作系统、实时操作系统。
4、arm7根据其编址方式来说是冯诺依曼结构,根据其指令集来说是risc结构5、大端存储是指?,小端存储是指?
大端存储:高位数据在低地址存放,低位数据在高地址存放。小端存储:高位数据在高地址存放,低位数据在地地址存放。
如:0x11223344小端存储为?大端存储为?小端:0x44 0x33 0x22 0x11大端:0x11 0x22 0x33 0x44
6、arm的立即数必须满足8位图(会判断)
7、arm有几个状态;几种模式;其中哪种为非特权模式,?
状态:2种,arm态(32位(字)长)和thumb态(16位(半字)长)
7种工作模式:用户(usr)、系统(sys)、管理(svc)、中止(abt)、未定义(und)、中断。
irq)、快速中断(fiq)
非特权模式:用户模式。
特权模式:系统模式和异常模式(其中后5种)
注意:当一个异常发生时,处理器总是切换到arm态而非thumb态。
8、arm既是指一种芯片内核也是一个公司的名称,arm公司不生产芯片只**知识产权,教材中的lpc2000系列芯片由nxp(恩智浦)公司生产属于arm7内核芯片。
9、arm7有3级流水线,哪3级?
取指、译码、执行、
arm的异常有哪几种?它们的优先级是怎么样的?各进入何种工作模式?
他们退pc指向的是正在取指的指令,当前执行的指令为pc-8(arm态)。字与半字对齐的特点:bit0=?
、bit1=?(书上20页)
出各采用什么指令?
异常模式优先级如下:
1(最高)复位(svc)管理模式不需要返回。
2数据中止中止模式subspc,r14_abt,#83快速中断请求(fiq)快速中断模式subs pc,r14_fiq,#44外部中断请求(irq)中断模式subspc,r14_irq,#45预取指令中止(abt)中止模式subspc,r14_abt,#46未定义指令(und)未定义模式movspc,r14_und6(最低)软件中断指令(swi)管理模式movspc,r14_svc13、
什么是异常向量表?异常向量表一般在什么地方?异常向量表本质是什么?异常向。
量表和其之后的跳转地址各占多少个字节?
答:在发生异常后,为了让arm内核可以转移到对应的中断服务程序上,必须在异常入口地址(0x00-0x1c)处放置一些跳转指令,这些指令组成的一段**,称为异常向量表。它通常存放在存储地址的低端。
14、arm7tdmi处理器进入异常和退出异常的过程:(哪些是内核自动完成的,哪些需要。
用户自己去编写)
进入异常。将异常处理程序的返回地址保存到相应异常模式下的lr,异常处理程序完成后的返回可通过将lr的值减去偏移量后写入pc
2)将cpsr的当前值保存到相应异常模式下的spsr,异常处理程序完成后的返回可通过保存在spsr中的值来恢复cpsr(3)设置cpsr为相应的异常模式。
4)设置pc为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行。
arm7tdmi内核在中断异常时置位中断禁止标志,这样可以防止不受控制的异常嵌套。注:异常总是在arm状态中进行处理。
当处理器处于thumb状态时发生了异常,在异常向量地址装入pc时,会自动切换到arm状态。退出异常。
将lr中的值减去偏移量后存入pc,偏移量根据异常的类型而有所不同;(2)将spsr的值复制回cpsr;
3)在入口置位的中断禁止控制位清零。
注:恢复cpsr的动作会将t、f和i位自动恢复为异常发生前的值。15、
寄存器r13,r14,r15的专用功能各是什么?
1)寄存器r13保存堆栈指针sp;
2)寄存器r14用作子程序链接寄存器,也称lr,用以保存返回地址;3)r15(pc)用作程序计数器。16、
寄存器cpsr、spsr的结构与功能是什么?
1)cpsr包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器cpsr。
2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器spsr。当异常出现时,spsr用于保存cpsr的状态,以便异常返回后恢复异常发生时的工作状态。17、
arm指令有8种寻址方式、5种移位方式:分别为?(书上53~56)
8种寻址方式:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。
5种移位方式:lsl逻辑左移、lsr逻辑右移、asr算术右移、ror循环右移、rrx带扩展的循环右移、
若arm存储器为大端存储,r0=0x33445566、r1=0x81000000、r2=0x2,则当str能够认识条件码。
r0,[r1,#8]!指令执行后寄存器和存储器有什么变化;当str r0 [r1,r2,lsl#2]指令执行后寄存器和存储器有什么变化20、
mrs r0,cpsr;bic r0,r0,#0x80;msrcpsr_c,r0实现。
了什么使能irq中断21、
subspc lr #
movspc lr
这里红色的‘s’是什么意思影响cpsr、
bootblock是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。熟悉所有介绍过的arm指令(要能灵活应用)
通过bootblock,初始化硬件设备,建立内存和i/o空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。24、
什么是启动**,启动**的作用。
从系统上电到正式运行用户的main函数之前要运行的一段**称为启动**。启动**可实现向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、i/o初始化、外围初始化、地址重映射等操作。25、
arm复位后pc值为什么,arm内核处于什么状态,进入是什么模式,最先执行的是。
**的**?
复位后pc值为0,内核处于thumb状态,进入管理模式,最先执行boot block**。
arm的存储器组bank0配置成8位宽的存储器组需要使用a0、a1;16位宽则不需如何设置系统时钟(cclk)与低速外设总线时钟(pclk)
要a0;32位宽则a0、a1都不需要,emc模块中的bls0~bls4为字节定位选择信号。rble为字节定位使能控制位28、
什么是存储器重映射?lpc2000系列arm微控制器中,哪些部分需要进行存储器重。
映射?为什么?
为了增加系统的灵活性,系统中有部分存储单元可以同时出现在不同的地址上,这称为存储器重映射。异常向量表的boot block、片内ram和外部存储器需要重映射。为了能让arm内核通过访问0x0000~0x003f地址访问到其他存储区域的向量表,这样向量表必须。
进行重映射。29、
什么rs232c电平,其逻辑‘0’与‘1’的电平范围是多少。
rs232c是美国电子工业协会eia公布的串行总线标准,逻辑“1”对应-5~-15v电平,逻辑“0”对应+5~+15v电平。30、
定时器的定时时间与定时器计数频率的计算。
计数频率=fpclk/ (pr+1)
定时时间=31、什么是gpio,gpio的设置。
mr(pr+1)
fpclkgpio是通用io口(通用可编程io接口)32、
什么pwmpwm是脉宽调制器33、
看懂下列**:
void time0init(void) {2)
intmain(void)
#define bufferlength 20
uint8 bufferstring[bufferlength];uint8 password hello world/n/r";uint8 rightstring hello arm/n/r";
uint8 wrongstring wrong password!/n/r";uint8 getchar ()
void getstring(unit8 *string,uint32 length)}
void sendbyte(uint8 data)
void sendstr(uint8 const *str)}
void uart0_init(uint32 baud)
uint32 stringcmp(uint8 *str1,uint8 *str2)
return str1[i] -str2[i];
//strcmp函数不能够使用,要自己写一个int main(void)
return(0);}
pinsel1 = 0x01 <<10;
io0dir = p0_22;
io0clr = p0_22;
pwmpr = 0x00;pwmmcr = 0x02;pwmmr0 = cycle_data;pwmmr5 = duty_cycle_data;
pwmler = 1 <<0 | 1<< 5;pwmpcr = 1 <<13;pwmtcr = 0x09;
ARM复习
1 控制led灯的闪烁 void led d2 int flag if flag trued1 on elsed1 off int main void changeclockdivider 1,11 2 4 changempllvalue 0xa1,0x3,0x1fclk 202.8mhz rgpf...
ARM复习
一。一 选择 10 2 20分 1 arm处理器的通用寄存器有 31 个,状态寄存器有 6 个。a 37,7 b 31,6 c 32,6 d 33,7 2 在用户模式的工作模式下,cpsr寄存器的低5位为 10000 a 10010 b 10001 c 11111 d 10000 3 以下哪个是st...
ARM复习
第七章。1 交叉编译环境的建立。p313六步骤 1 源 2 编译binutitls 3 配置linux内核头文件 4 第一次编译gcc 5 交叉编译glibc 6 第二次编译gcc。2 设备驱动程序 设备驱动程序是操作内核和机器硬件之间的接口。设备驱动程序file operations结构。p318...