南邮(研)嵌入式系统复习题资料整理1 下载本文

Watchdog Timer [5] 使能和禁止看门狗定时器 0=禁止看门狗定时器 1=使能看门狗定时器 这两位决定时钟分频因素 00:1/16 01:1/32 10:1/64 11:1/128 中断的禁止和使能 0=禁止中断产生 1=使能中断产生 保留 禁止很使能看门狗复位信号的输出 1=看门狗复位信号使能 0=看门狗复位信号禁止 读/写 读/写 读/写 读/写 描 述 看门狗数据寄存器 描 述 看门狗计数器当前值 0 Clock Select [4:3] 00 Interrupt Generation Reserved Reset Enable/Disable [2] [1] 0 0 [0] 1 看门狗定时器数据寄存器(WTDAT) 寄 存 器 WTDAT 寄 存 器 WTCNT 地 址 0x53000004 地 址 0x53000008 初 始 值 0x8000 初 始 值 0x8000 看门狗计数寄存器(WTCNT)

#define rWTCON (*(volatile unsigned *)0x53000000) // 第1行 #define rWTDAT (*(volatile unsigned *)0x53000004) // 第2行 #define rWTCNT (*(volatile unsigned *)0x53000008) // 第3行 void watchdog_test(void) { rWTCON = ((PCLK/1000000-1)<<8)|(3<<3)|(1<<2); // 第4行 rWTDAT = 7812; // 第5行 rWTCNT = 7812; // 第6行 rWTCON |=(1<<5); // 第7行 }

第1-3 行:定义看门狗控制寄存器、数据寄存器和计数寄存器为rWTCON、rWTDAT和rWTCNT。 第4 行:设置看门狗的预装比例值为1000000,分频因素为1/128,并使能中断。(6分) 第5-6 行:对数据寄存器和计数寄存器赋值为7812。(2分) 第7 行:启动看门狗。(2分)

7、阅读以下S3C2410部分用户手册.求:当PCLK 或 UCLK 为40 MHz时,串口0的波特率为2400 bps ,串口1的波特率为115200bps,相应的控制寄存器如何设置. UART BAUD RATE DIVISOR REGISTER

There are three UART baud rate divisor registers(寄存器)including UBRDIV0, UBRDIV1 and UBRDIV2 in the UART block(模块). The value stored in the baud rate divisor register (UBRDIVn), is used to determine the serial Tx/Rx clock rate(baud rate) as follows:

UBRDIVn = (int)(PCLK / (bps x 16) ) –1 or UBRDIVn = (int)(UCLK / (bps x 16) ) –1 Where, the divisor should be from 1 to (216-1) and UCLK should be smaller than PCLK. Register UBRDIV0 UBRDIV1 UBRDIV2 UBRDIVn UBRDIV Bit [15:0] Address 0x50000028 0x50004028 0x50008028 R/W R/W R/W R/W Description Baud rate divisor register 0 Baud rate divisor register 1 Baud rate divisor register 2 Initial State – Reset Value – – – Description Baud rate division value UBRDIVn >0 答: 根据UBRDIVn = (int)(PCLK / (bps x 16) ) –1

寄存器UBRDIV0= (int)(40000000/2400*16)-1=1040=10000010000(B) 寄存器UBRDIV1=( int)(40000000/115200*16)-1=20=10100(B)

任务控制块(TCB)的数据结构OS-TCB表示任务的状态。当任务的CPU控制权被枪战后,任务控制块用来保存该任务的状态。当任务重新获得CPU的控制权后,任务控制块能够保证任务从被中断的位置继续正确执行。 任务控制块提供了任务的基本信息,如任务的执行状态、优先级和堆栈位置等。

1、 ARM微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。其中用

户模式属于 非特权模式 ARM处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指令分开使用不同接口的是 哈佛结构

2、 ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状

态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态

3、 ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存

储PC,R13通常用来存储 SP

4、 ARM微处理器复位后,PC的地址通常是 0x0 ,初始的工作模式是Supervisor 。

5、 ARM微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管理部件)来进行虚拟

内存的存储和管理。当系统发生 数据 异常和 指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。

6、 编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是 打断对齐 7、 构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,ARM公司提供的

工具链是 ADS工具链

8、 计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于 RISC、 类型,其

指令长度是 定长的 。

9、 写一条 ARM 指令,完成操作r1 = r2 * 3(4分)

ADD R1,R2,R2, LSL #1

10.初始值R1=23H,R2=0FH执行指令BIC R0, R1,R2,LSL #1后,寄存器R0,R1的值分别是多少?(4分)

R0=21H,R1=23H

11.说明指令STMIA r12!, {r0-r11}的操作功能。

将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。