当前位置:文档之家› 嵌入式系统原理复习资料

嵌入式系统原理复习资料

嵌入式系统原理复习资料
嵌入式系统原理复习资料

选择题

1、在嵌入式系统的存储结构中,存储速度最快的是( B )。

A.Cache B.寄存器组 C.Flash D.内存2、16位的2Mbit×4banks×16的SDRAM容量为( D )。

A.8MB B.32MB C.128MB D.16MB 3、以下说法正确的是( ABD )

A.不需将软件引导到RAM中而是让其直接在NorFlash上运行,这种方式启动最快。

B.ARM9对I/O端口进行寻址采用的是存储器映射法。

C.NAND Flash的檫除和写入速度比NOR Flash慢。

D.Nand Flash的存储密度小于Nor Flash。

4、ADD R0,R0,#1 属于( D)。

?A.基址变址寻址

?B.寄存器寻址

?C.寄存器间接寻址

?D.立即寻址

5、()语句将存储器地址为R1的半字数据读入寄存器R0,并将R0的高16位清零。

?A.LDR R0,[R1]

?B.STRH R0, [R1]

?C.LDRH R0,[R1]

?D.LDRB R0, [R1]

6、在下列ARM微处理器的运行模式中,不属于异常模式的是(A )。

A.系统模式

B.FIQ

C.IRQ

D.数据访问中止模式

7、在ARM处理器中,(A )寄存器包括全局的中断禁止位,控制中断禁止位就可以打开或者关闭中断。A.CPSR

B.SPSR

C.IP

D.PC

8、嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此需要一个( B)环境。

A.分布式计算 B.交叉编译C.交互平台D.交互操作平台

9、通常所说的32位微处理器是指(A )。

?A.地址总线的宽度为32位

?B.通用寄存器数目为32个

?C.CPU字长为32位

?D.处理的数据长度只能为32位

10、在ARM处理器的内部寄存器中,用作子程序连接寄存器的是(C )。

?A.R12

?B.R13

?C.R14

?D.R15

?S3C2410芯片的I/O端口一共有几个?各端口各有几根I/O引脚?

?每个I/O端口有几个寄存器?有何作用?

4、如何告诉汇编编译器下面的指令序列是ARM指令还是Thumb指令?

回答:CODE16,CODE32

5、EQU伪指令相当于C语言的什么语句?

回答:#define,用于为一个常量定义字符名称

6、如何使用本源文件以外的符号?

回答:IMPORT指示符告诉编译器当前的符号不是在本源文件中定义的,而是在其他源文件中定义的,在本源文件中可能引用该符号

7、如何将本源文件的符号开放给外部源文件使用?

回答:EXPRORT声明一个符号可以被其他文件引用。相当于声明了一个全局变量。GLOBAL是EXPORT的同义词。

8、DCD指示符的功能是什么?

回答:分配一段字的内存单元,并用指定的数据初始化

9、C程序调用ARM汇编子程序

/* main_0522.c semihosting output mode */

#include

extern int asmfile(int arg1, int arg2, int arg3);

int main(void)

{

int a1=1,a2=2,a3=4;

printf("Example of C Program calling Assembly program!\n");

printf("(%d + %d + %d) * 600 = %d\n",a1,a2,a3,asmfile( a1, a2, a3));

} ; ASM_0522.s

EXPORT asmfile

AREA My_pro, CODE, READONLY

asmfile

STMFD SP!, {R4-R6,R8,R7}

add r0, r0, r1

add r0, r0, r2

mov r4, #600

mul r3, r0, r4

mov r0, r3

LDMFD SP!, {R4-R6,R8,R7}

mov pc, lr

END

11、本案例程序比较两个IP地址的大小,a1~a4存放IP地址1的值(按照ATPCS传递参数),b1~b4存放IP地址2的值(通过栈传递参数),如果IP地址1的值大于IP地址2的值则返回1,如果IP地址1的值小于IP地址2的值则返回-1 ,如果两者相等则返回零。

IP地址1取值:192, 168, 1, 152,

IP地址2取值: 172, 0, 0, 151

/* C代码部分 */

#include

extern int function(void); /* 声明function是外部函数 */

int compare_ip(int a1, int a2, int a3, int a4, int b1, int b2, int b3, int b4){ if(a1!=b1)

return a1>b1?1:-1;

if(a2!=b2)

return a2>b2?1:-1;

if(a3!=b3)

return a3>b3?1:-1;

if(a4!=b4)

return a4>b4?1:-1;

return 0; }

int main(){

printf("This is a example of semihosting\n");

printf("result is %d\n",function()); }

AREA FUNCTION, CODE, READONLY ;ARM汇编子程序

IMPORT compare_ip

EXPORT function

function

STMFD r13!,{r0-r3,r14} ;保存寄存器到栈区

MOV r3,#0x97 ;存入IP地址2的4个数, 0x97=151

MOV r2,#0 ; 存入0

MOV r1,#0 ; 存入0

MOV r0,#0xac ; 存入0xac=172

STMIA r13, {r0-r3} ; R0-R4覆盖存入栈区的R0-R4位置

MOV r3,#0x98 ; 存入IP地址1的4个数, 0x98=152

MOV r2,#1 ; 存入1

MOV r1,#0xa8 ; 存入0xa8=168

MOV r0,#0xc0 ; 存入0xc0=192

BL compare_ip ; 0x0 ; 调用C语言函数进行IP值比较

ADD r13,r13,#0x10 ; 栈指针上移4个字(元素)

LDR pc,[r13],#4 ; 将保存的r14值加载到PC,而后r13加4

END ; 本段汇编代码的操作图解参看下一页

作业1:

1、ARM9TDMI采用了几级流水线工作方式,简要说明。

5级流水线,具体如下。

(1)取指:从存储器中取出指令,并将其放入指令流水线。

(2)译码:对指令进行译码。

(3)执行:把一个操作数移位,产生ALU的结果。

(4)缓冲/数据:如果需要,则访问数据存储器;否则ALU的结果只是简单地缓冲1个时钟周期,以便所有的指令具有同样的流水线流程。

(5)回写:将指令产生的结果回写到寄存器,包括任何从存储器中读取的数据。

2、ARM920T支持哪几种运行模式,简要说明。

ARM9微处理器核共支持7种工作模式

处理器模式

系统模式正常执行程序时的处理器模式

用户模式运行特权操作系统任务时的模式

管理模式操作系统的保护模式

中止模式指令或数据预取操作中止时的模式,该模式下实现虚拟存储器或存储器保护

未定义模式当执行未定义的指令时进入该模式

IRQ模式响应普通中断时的处理模式

FIQ模式响应快速中断时的处理模式

3、ARM920T体系结构支持哪两种方法存储字数据?

ARM9存储器系统的存储单元与地址的对应方式有两种:一种是大端存储系统,;另一种是小端存储系统 大端存储系统中,字的地址对应的是该字中最高有效字节所对应的地址;半字的地址对应的是该半字中最高有效字节所对应的地址。也就是说,32位数据的最高字节存储在低地址中,而其最低字节则存放在高地址中。

小端存储系统中,字的地址对应的是该字中最低有效字节所对应的地址;半字的地址对应的是该半字中最低有效

字节所对应的地址。也就是说,32位数据的最高字节存储在高地址中,而其最低字节则存放在低地址中。

作业2:

1、简述ARM920T在ARM状态下是如何组织寄存器的?

ARM9处理器的内部总共有37个32位的寄存器,其中31个用作通用寄存器,6个用作状态寄存器,每个状态寄存器只使用了其中的12位。

2、ARM920T体系结构中包含一个当前程序状态寄存器(CPSR),其中用于控制的标志位有哪几个位?

条件码标志

?N(negative)、Z(zero)、C(carry)和V(overflow)位称为条件码标志,简称为标志,CPSR中的标志可用于检测以决定指令是否执行。

控制位

?程序状态寄存器的最低8位I、F、T和M[4:0]用做控制位,当异常出现时改变控制位,处理器在特权模式下也可用软件改变。

?·I和F是中断禁止位。I置1时禁止IRQ中断;F置1时禁止FIQ中断。

?·T位 T=0时指示ARM执行;T=1时指示Thumb执行。

3、简述ARM处理器对异常的响应的步骤。

(1)将下一条指令的地址保存在相应的LR寄存器中。如果异常是从ARM状态进入,则保存在LR中的是下一条指令的地址。如果异常是从Thumb状态进入,则保存在LR中的是当前PC的偏移量。

(2)将CPSR复制到相应的SPSR中。

(3)迫使CPSR模式位M[4:0]的值设置成对应的异常模式值

(4)迫使PC从相关的异常向量取下一条指令。

(5)也可以设置中断禁止位来阻止其他无法处理的异常嵌套。如果在异常发生时处理器是在Thumb状态下,那么当用中断向量地址加载PC时,自动切换进入RAM状态。

作业3:

用汇编指令设计完成1+2+3+4+5+……+100的程序。

答案:

AREA QIUHE , CODE , READONLY

ENTRY

START MOV R0 , #1

MOV R1 , #1

LOOP ADD R1 , R1 , #1

ADD R0 , R0 , R1

CMP R1 , #100

BNE LOOP

HALT B HALT

END

1、ARM汇编程序中的宏是如何定义的?(第9讲)

答案:与C语言中的#define相似,仅在源程序中做字符替换

以MACRO指示符开始,以MEND结束,

2、从IRQ和FIQ处理程序返回时,如何写返回指令。

答案:从IRQ和FIQ异常处理程序返回时,返回地址应该是LR-4。

有三种不同的编程方法,分别列出如下:

返回方式1:

INT_HANDLER

<异常处理代码>

………

SUBS PC, LR, #4 ; PC=R14-4

返回方式2:

INT_HANDLER

SUB R14, R14, #4 ; R14 -=4

………

<异常处理代码>

………

MOVS PC, LR

返回方式3:

INT_HANDLER

SUB R14, R14, #4 ; R14 = R14 – 4

STMFD R13!, {R0-R3, R14}

………

<异常处理代码>

………

LDMFD R13!, {R0-R3, R15}

3、子程序或者过程调用时,如果参数超过4个,如何编程实现正确地参数传递?

答案:当参数个数不超过4个时,可以使用寄存器R0~R3来传递参数;当参数超过4个时,还可以使用堆栈来传递参数。在传递参数时,将所有参数看作是存放在连续的内存字单元的字数据。然后,依次将各字数据传递到寄存器R0,R1,R2和R3中。如果参数多于4个,则将剩余的字数据传递到堆栈中。入栈的顺序与参数传递顺序相反,即最后一个字数据先入栈。对于参数个数可变的子程序,当参数个数不超过4个时,可以使用寄存器R0~R3来传递参数;当参数超过4个时,还可以使用堆栈来传递参数。在传递参数时,将所有参数看作是存放在连续的内存字单元的字数据。然后,依次将各字数据传递到寄存器R0,R1,R2和R3中。如果参数多于4个,则将剩余的字数据传递到堆栈中。入栈的顺序与参数传递顺序相反,即最后一个字数据先入栈。

1、描述IRQ异常及FIQ异常的处理过程

答案:ARM9微处理器响应IRQ异常中断时,需要完成保护现场及进入IRQ异常模式等操作。所有这些操作描述如下。

1.链接寄存器R14_irq保存有:被执行指令地址+4;

2.状态寄存器SPSR_irq保存有:CPSR寄存器的内容

3.状态寄存器CPSR的位[4:0]被赋予:0b10010

4.寄存器CPSR的位[5]清0,但位[6]不变

5·寄存器CPSR的位[7]置1

6.如果采用高向量地址配置,那么PC寄存器被赋予0xffff0018

7.否则PC寄存器被赋予0x00000018

8.因为,ARM920T核会把当前PC的值保存到R14_irq中,该值在ARM状态下,对应当前指令后的第2条指令的地址。IRQ中断返回时,就需要通过下面指令来实现回到断点下第1条指令处执行:SUBS PC, LR, #4,同时将SPSR_irq内容复制到当前CPSR中。

4、在S3C2410芯片中采用中断方式控制I/O端口或部件操作时,其中断处理编程应该涉及哪些方面?举例

说明。

答案:S3C2410芯片的I/O端口或部件若采用中断方式控制操作时,其编程的内容实际上涉及四部分,既:1.建立系统中断向量表,并且设置ARM920T核的程序状态寄存器CPSR中的F位和I位。一般情况下中断均

需使用数据栈,因此,还需建立用户数据栈。这一部分内容对应的程序指令,通常编写在系统引导程序中,如3.4节中的实例。

2.设置S3C2410芯片中56个中断源的中断向量。通常需要利用未决寄存器或地址偏移寄存器来计算,若中断号还对应有子中断(如中断号为5时,对应EINT8_23),需求出子中断的地址偏移。

3.中断控制初始化。主要是初始化S3C2410芯片内部的中断控制的寄存器。针对某个具体的中断源,设置其中断控制模式、中断是否屏蔽、中断优先级等。

4.完成I/O端口或部件具体操作功能的中断服务程序。中断服务程序中,在返回之前必须对中断未决寄存器(INTPND)的相应未决位进行清除操作。上述四部分的程序,第一部分应属于系统引导程序完成的功能。用户在开发嵌入式系统时若使用的是现成硬件平台,则用户对第一部分的程序通常不需要进行编写,因为现成的硬件平台已带有系统引导程序,用户主要需编写的是后三部分的程序。

嵌入式系统原理与应用习题解析

1.8 练习题P14 1.选择题 (1)A 说明:嵌入式系统的发展趋势表现在以下几方面: 1.产品种类不断丰富,应用范围不断普及 2.产品性能不断提高 3.产品功耗不断降低,体积不断缩小 4.网络化、智能化程度不断提高 5.软件成为影响价格的主要因素 (2)D

说明:常见的嵌入式操作系统: VxWorks,Windows CE、uC/OS-II和嵌入式Linux。 (3)A 说明:VxWorks是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。 2.填空题 (1)嵌入式计算机 (2)微处理器外围电路外部设备 (3)板级支持包实时操作系统应用编程接口应用程序 (4)嵌入式处理器微控制器数字信号处理器 3.简答题 (1)简述嵌入式系统的定义和特点 答:定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。(2)简述计算机系统的发展历程 第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段; 第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统; 第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用

开始普及的阶段; 第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。 (3)简述MCU和DSP的区别 MCU是微控制器,DSP是数字信号处理器。 MCU相当于小型的电脑,内部集成的CPU、ROM、RAM、I/O总线,所以集成度高是它的特点。 DSP是专用的信息处理器,内部的程序是对不同的机器和环境进行特别优化,所以处理速度是最快的。 2.4 练习题 1. 填空题 (1) ARM7 ARM9 ARM9E ARM10E ARM11 (2) 精简指令集计算机 (3) Samsung ARM920T IIC总线 (4) BGA 显卡布线 (5) 1.8V 3.3V (6) 8 128 1 (7) S3C2410 64MB 64MB 2. 选择题 (1) D (2)C (3)A (4)B (5)B (6)C (7)D (8)C (9)C (10)B

嵌入式系统原理与应用技术

1.嵌入式系统的定义:一般都认为嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,可满足应用系统对功能、可靠性、成本、体积和功能有严格要求的专用计算机系统。 2.嵌入式系统的特征:(1)通常是面向特定应用的。具有功耗低、体积小和集成度高等特点。(2)硬件和软件都必须高效率地设计,量体裁衣,力争在同样的硅片面积上实现更高的性能,这样才能满足功能、可靠性和功耗的苛刻要求。(3)实时系统操作支持。(4)嵌入式系统与具体应用有机结合在一起,升级换代也同步进行。(5)为了提高运行速度和系统可靠性,嵌入式系统中的软件一般固化在存储器芯片中。 3.ARM嵌入式微系统的应用:工业控制、网络系统、成像和安全产品、无线通信、消费类电子产品。 4.ARM嵌入式微处理器的特点:(1)体积小、低功耗、低成本、高性能。(2)支持Thumb(16位)/ARM(32位)双指令集,兼容8位/16位器件。(3)使用单周期指令,指令简洁规整。(4)大量使用寄存器,大多数数据都在寄存器中完成,只有加载/存储指令可以访问存储器,以提高指令的执行效率。(5)寻址方式简单灵活,执行效率高。(6)固定长度的指令格式。 5.嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户软件构成。 2.哈佛体系结构的主要特点是将程序和数据存储在不同的存储空间。 3.嵌入式处理器主要有四种嵌入式微处理器(EMPU)、嵌入式微控制器(MCU)、嵌入式数字信号处理器(DSP)、嵌入式片上系统(SoC) 4.ARM7采用3级流水线结构,采用冯·诺依曼体系结构;ARM9采用5级流水线结构,采用哈佛体系结构。 5.ARM处理器共有37个32bit寄存器,包括31个通用寄存器和6个状

嵌入式系统设计大作业

嵌入式系统设计大作业 学号:14020520009 姓名:罗翔 1、叙述JTAG接口在嵌入式开发中的作用。 答: (1)用于烧写FLASH 烧写FLASH的软件有很多种包括jatg.exe fluted flashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上是没有jtag接口的,所以利用并口来传递信息给目标板的jtag接口。所以就需要并口转jtag接口的电路。 (2)用于调试程序 同时应该注意到jtag接口还可以用来调试程序。而调试程序(如ARM开发组件中的AXD)为了通过jtag接口去调试目标板上的程序,同样是使用pc的并口转jtag接口来实现与目标板的通信。这样,并口转jtag接口的电路就有了两种作用。 (3)仿真器 根据(1)和(2)的总结,并口转jtag接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫仿真器。并口转jtag接口的电路有很多种,有简单有复杂的,常见的仿真器有Wigger,EasyJTAG,Multi-ICE等。这些所谓的仿真器的内部电路都是并口转jtag接口,区别只是电路不同或使用的技术不同而已。 2、叙述嵌入式平台的搭建过程,以linux为例。 答: 1) 一:建立宿主机开发环境 建立交叉编译的环境即在宿主机上安装与开发板相应的编译器及库函数,以便能够在宿主机上应用开发工具编译在目标板上运行的Linux引导程序,内核,文件系统和应用程序 交叉编译:在特殊的环境下,把嵌入式程序代码编译成不同的CPU所对应的机器代码。

开发时使用宿主机上的交叉编译,汇编及链接工具形成可执行的二进制代码(该代码只能在开发板上执行),然后下载到开发板上运行 2) 下载和安装arm-Linux-gcc编译工具链下载最新的arm-Linux-gcc并解压至当前目录下 在系统配置文件profile中设置环境变量方法:直接在profile文件中加入搜索路径立即使新的环境变量生效:运行source命令,检查是否将路径加入到path,测试是否安装成功, 编译程序,测试交叉工具链 3) 配置超级终端minicom minicom是宿主机与目标板进行通信的终端:在宿主机Linux终端中输入:minicom-s或输入minicom然后按ctrl+A+O对超级终端minicom进行配置,再选择串口并配置串口,最后保存即可 4) 建立数据共享服务:NFS服务是Linux系统中经常使用的数据文件共享服务 5) 编译嵌入式系统内核:内核配置,建立依存关系,建立内核 6) 制作文件系统 3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品? 体系结构是什么? S3C2410X基于ARM的Sumsang; XscalePXA255/PXA270基于ARM的Intel; 摩托罗拉MC基于68k; Power 601基于Power PC; MIPS32Kc基于MIPS 4、现今较流行的嵌入式操作系统有哪些? 答: (1) VxWorks (2)wince (3)linux (4)android

嵌入式实验报告

嵌入式技术 实验报告 系别:计算机与科学技术系 班级:计12-1班 姓名:刘杰 学号:12101020128 总成绩: 评语: 日期:

2.在弹出的对话框中依次选择“cedevice emulator emulator kdstub”。 3.选择“Build OS”菜单的“sysgen”开始构建平台。 1.1.4连接,下载和运行平台 1.选择“Target”菜单下的“Connection option”菜单项。 2.在新的对话框中,配置连接关系 3.选择“Target”菜单下的“attach”菜单项,开始下载。 ?实验结果 操作系统定制成功,能正常运行。 ?结果截图 ?问题总结 由于对实验平台了解不够,致使操作过程中添加和删除组件时不知道该如何下手,影响整个实验进度。 实验1.2: 1.打开Platform Builder,并且打开实验1的工程,在实验1的工程基础上做本实验。

进程显示 IE信息查看

报文监测 实验1.3使用Platform Builder开发应用程序 简单实验步骤 1.打开Platform Builder。 2.选择“File”菜单下的“Open Workspace…”,然后打开实验1中创建的平台,本实验要基于 上面的实验的基础上做。 3.选择“File”菜单下的“New Project or File…”,打开“New Project or File”对话框。 4.在“Projects”选项页中选择“WCE Application”;在“Project Name”中输入项目的名字,例 如“MyApp”。 5.在“New Project Wizard – step 1 of 1”中选择“A typical Hello World Application”,点击“Finish” 按钮。 6.选择“Build”菜单中的“Build MyApp.exe”来编译应用程序。

嵌入式系统原理及应用第三章习题

第三章软件作业习题 3、将存储器中0x400000开始的200字节的数据,传送到0x400800开始的区域。 解: AREA procedure3,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 LDR R1,=0x400800 MOV R7,#200 LOOP LDRB R2,[R0],#1 STRB R2,[R1],#1 SUBS R7,R7,#1 BNE LOOP CEASE B CEASE END 4、编写程序,比较存储器中0x400000与0x400004两无符号字数据的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记为0,若前者大于后者其结果记为1,若前者小于后者其结果记为-1。解: AREA procedure4,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 LDR R1,[R0],#4 ;取第1个数 LDR R2,[R0],#4 ;取第2个数 CMP R1,R2 ;将两个数相比较 MOVHI R1,#1 ;R1比R2大 MOVLO R1,#-1 ;R1比R2小 MOVEQ R1,#0 ;两个数相等 STR R1,[R0] CEASE

B CEASE END 5、存储器从0x400000开始的100个单元中存放着ASCII码,编写程序,将其所有的小写字母转换成大写字母,对其它的ASCII码不做变换。 解: AREA procedure5,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 MOV R1,#0 LOOP LDRB R2,[R0,R1] CMP R2,#0x61 ;与‘a’比较 BLO NEXT ;小于转到NEXT CMP R2,#0x7B ;0x7A为‘z’ SUBLO R2, R2,#0x20 ;小于转换 STRBLO R2,[R0,R1] ;小于保存 NEXT ADD R1,R1,#1 CMP R1,#100 BNE LOOP CEASE B CEASE END 6、编写一程序,查找存储器从0x400000开始的100个字中为0的数目,将其结果存到0x400190中。 解: AREA procedure6,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 MOV R7,#100 ;控制循环变量 MOV R1,#0 ;保存0的数目 LOOP LDR R2,[R0],#4 ;取数 CMP R2,#0 ;比较为0

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

孟祥莲嵌入式系统原理及应用教程部分习题答案

习题1 1. 嵌入式系统的概念的是什么?答:嵌入式系统是以应用为中心,以计算机技 术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。(嵌入式系统是嵌入式到对象体系中的,用于执行独立功能的专用计算机系统。) 2. 嵌入式系统的特点是什么? 答:系统内核小;专用性强;运行环境差异大;可靠性要求高;系统精简和高实时性操作系统;具有固化在非易失性存储器中的代码嵌入式系统开发和工作环境 4. 嵌入式系统的功能是什么?答:提供强大的网络服务小型化,低成本,低 功能;人性化的人机界面;完善的开发平台 5. 嵌入式系统的硬件平台由哪些部分组成?答:嵌入式系统的硬件是以嵌入式处理器为核心,由存储器I/O 单元电路,通信模块,外部设备必要的辅助接口组成的。 7. 嵌入式操作系统的主要特点是什么?答:体积小;实时性;特殊的开发调试环境。 8. 叙述嵌入式系统的分类。答:按嵌入式微处理器的位数分类可以分为4 位、 8 位、16 位、32 位和64 位等;按软件实时性需求分类可以分为非实时系统(如PDA), 软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统)按嵌入式系统的复杂程度分类可以分为小型嵌入式系统,中型嵌入式系统和复杂嵌入式系统。 习题2 处理器和工作状态有哪些?

答:ARM犬态:此时处理器执行32位的的字对齐的ARS旨令。 Thumb犬态:此时处理器执行16位的,半字对齐的Thumb旨令 2.叙述ARM9内部寄存器结构,并分别说明R13 R14 R15寄存器的 作用。 答:共有37个内部寄存器,被分为若干个组(BANK,这些寄存器包括31个通用寄存器,包括程序计数器(PC指针)6个状态寄存器。R13用作堆栈指针,R14称为子程序链接寄存器,R15用作程序计数器。处理器的工作模式有哪些? 答:用户模式:ARM处理器正常的程序执行状态。 快速中断模式:用于高速数据传输或通道处理 外部中断模式:用于通用中断处理管理模式:操作系统使用的保护模式数据访问终止模式:当数据或指令预期终止时进入该模式,可用于虚拟存储器及存储保护 系统模式:运行具有特权的操作系统任务 未定义指令终止模式:当未定义的指令执行时进入该模式,可用 于支持硬件协处理器的软件仿真。 微处理器支持的数据类型有哪些? 答:ARM微处理器中支持字节(8位)、半字(16位),字(32 位)

上海交大---嵌入式第一次作业

题目1 完成 满分1.00 Flag question 题干 下列哪个不是嵌入式系统的特点:()选择一项: a. 专用性 b. 资源受限 c. 功耗约束 d. 常由外接交流电电源供电 题目2 完成 满分1.00 Flag question 题干 下列哪些不是嵌入式系统:()。 选择一项: a. 移动电话、手机 b. MP3 c. MID

d. 深蓝超级计算机 题目3 完成 满分1.00 Flag question 题干 指令和数据共享同一总线的体系结构是()。选择一项: a. 冯?诺依曼结构 b. 哈佛结构 c. RISC d. CISC 题目4 完成 满分1.00 Flag question 题干 下面不属于 ...嵌入式处理器的是:()。 选择一项: a. Intel Core(酷睿)处理器

b. Intel Atom处理器 c. MCS-51单片机 d. ARM处理器 题目5 完成 满分1.00 Flag question 题干 在嵌入式处理器与外部设备接口中,使用2根线实现多对多双向收发的是:()。 选择一项: a. UART b. I2C c. SPI d. USB 题目6 完成 满分1.00 Flag question 题干 假设使用奇偶校验位,UART发送一个字节的数据,从idle状态开始(及数据线为高),到允许进行下一次发送动作态为止,至少需要()个时钟节拍。

选择一项: a. 8 b. 9 c. 10 d. 11 题目7 完成 满分1.00 Flag question 题干 关于SIMD说法错误 ..的是:()。 选择一项: a. SIMD通过复制ALU和寄存器组,共享取值、译码单元来获得计算并行。 b. SIMD是通过增加寄存器个数来提高数据处理的宽度。 c. SIMD中多个运算单元运行的是相同的指令。 d. Intel Atom的SSE指令属于SIMD指令 题目8 完成 满分1.00 Flag question 题干

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

嵌入式系统原理及接口技术复习题

一、简答题 1.什么是嵌入式系统?嵌入式系统的特点是什么? 答:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能, 可靠性,成本,体积,功耗严格要求的专用计算机系统 特点:与应用密切相关,实时性,复杂的算法,制造成本,功耗,开发和调试,可 靠性,体积 2.简要说明嵌入式系统的硬件组成和软件组成。 答:硬件组成:微处理器,存储器,输入设备和输出设备。 软件组成:操作系统,文件系统,图形用户接口,网络系统,通用组建模块。 3.S3C2410A的AHB总线上连接了那些控制器?APB总线上连接了那些部件? AHB:LCD控制器,LCD DMA,总线控制器,USB主控制器,中断控制器,ExtMaster,电源管理,Nandflash控制器,储存器控制器。 APB:通用异步收发器,内部集成电路总线(IIC),USB设备控制器,集成电路内部 声音总线(IIS),MMC/SD/SDIO主控制器,通用I/O端口(GPIO),看门狗定时器(WDT),定时时钟(RTC),总线控制器,A/D转换器,串行外设接口,定时器/脉宽调制。 4.ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态? 答,支持7种类型的异常 异常处理过程:(进入异常)PC→LR,CPRS→SPSR,设置CPSR的运行模式位,跳转 到相应的异常处理程序,(异常返回)LR→PC,SPSR→CPSR,若在进入异常处理时 设置中断禁止位,要在此清楚,复位异常处理程序不需要返回。 Reset>数据中指>快速中断请求(FIQ)>中断请求(IRQ)>指令预取中止> 未定义指令和软件中止。 5.存储器生长堆栈可分为哪几种?各有什么特点? 4种,满递增堆栈,满递减堆栈,空递增堆栈,空递减堆栈。 6.简述存储器系统层次结构及特点。 答:层次结构:包括Cache,主存储器和辅助存储器 特点: 7.简述I2S总线接口的启动与停止过程。 通过I2S控制寄存器IISCON控制,当控制寄存器IISCON的地址为0=I2S禁止(停止); 当控制寄存器IISCON的地址为1=I2S允许(开始)。 8.简述ARM系统中的中断处理过程。 中断处理过程包括:中断请求、中断排队或中断判优、中断响应、中断处理和中断返回 9.ARM微处理器支持哪几种运行模式?各运行模式有什么特点? User:用户模式。绝大部分的任务执行都在这种操作模式下,此为正常的程序执行 模式。 FIQ:快速中断模式。支持数据传送或通道处理。 IRQ:普通中断模式。用于一半中断处理。 Supervisor:管理模式。一种操作系统受保护的方式。 Abort:中止模式。在访问数据中止后或指令预取中止后进入中止方式。 System:系统模式。是操作系统一种特权级的用户方式。 Undef:未定义模式。当执行未定义指令时会进入这种操作模式。

2016年下学期嵌入式系统设计大作业

嵌入式系统设计大作业 1、叙述嵌入式系统开发过程中所要解决的两个问题。 2、叙述嵌入式平台的搭建过程,以linux为例。 3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品? 体系结构是什么? 4、现今较流行的嵌入式操作系统有哪些? 5、PXA270嵌入式开发板的接口有哪些? 6、请写出Nor Flash和Nand Flash的区别。 7、冯。诺依曼架构与哈佛架构的区别。 8、单周期3级流水的情况下,第10个指令周期时,第几条指令执行结束? 9、下面是linux下的一个简单的设备驱动程序,写出linux设备驱动常用的数据结构,同时阅读下面代码,请给出测试程序中的每条语句加以注释。 设备驱动程序Keypad.c的源代码: #include #include #include #include #include #include #include #include #include #include #include #define LEDnKEY_MAJOR 251 #define KEYPAD_NAME "X-Hyper250 Keypad" #define KEYPAD_VERSION "Version 0.1" #define EXT_KEY_CS EXT_PORT2 #define EXT_LED_CS EXT_PORT3 #define LED_SHOW 10 /*EXT_KEY_CS 为向外部LED进行数值设定,它定义在其它头文件里*/ void led_off_on() /**/ { int i; EXT_LED_CS = 0xff; for(i =0 ; i<8;++i) { EXT_LED_CS = ~((1 << i) & 0xff); udelay(30000); } EXT_LED_CS = 0xff; }

嵌入式实验报告心得

嵌入式实验报告心得 篇一:嵌入式系统原理实验总结报告 嵌入式系统原理实验总结报告 车辆座椅控制系统实验 XX/5/23 嵌入式系统原理实验总结报告 一、技术性总结报告 (一)题目:车辆座椅控制系统实验(二)项目概述: 1.为了实现车辆座椅控制的自动化与智能化。 2.方便用户通过智能手机与车载传感器之间的联动。 3.使车辆作为当今物联网中重要的一个节点发挥作用。 4.通过车辆座椅控制系统实验实现对嵌入式系统原理课程的熟练掌握与对嵌入式系统原理知识的深化记忆。 5. 加强本组学生对嵌入式系统原理的更深层次的理解与运用。 (三)技术方案及原理 本次试验分为软件、硬件两个部分。 1.软件部分。 A.智能手机部分,包括通过智能手机对座椅的控制部分、手机所携带的身份信息部分。 本部分软件使用Java编写,其程序部分为:主程序:package ;

import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ; import ; import ; public class MainActivity extends ActionBarActivity { private Button Up = null; private Button Left = null; private Button Dowm = null; private Button Right = null; private Socket socket = null; private static final String HOST = "";private static final int PORT = 10007; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(; initControl();} private void initControl() {

嵌入式系统原理与设计知识点整理

第一章嵌入式处理器 1嵌入式系统的概念组成: 定义:以应用为主,以计算机技术为基础,软硬件可裁剪,满足系统对功能、性能、可靠性、体积和功耗有严格要求的计算机系统。 组成:硬件:处理器、存储器、I / O设备、传感器 软件:①系统软件, ②应用软件。 2.嵌入式处理器分类特点: 分类:①MPU(Micro Processor Unit)微处理器。一块芯片,没有集成外设接口。部主要由运算器,控制器,寄存器组成。 ②MCU(Micro Controller Unit)微控制器(单片机)。一块芯片集成整个计算机系统。 ③EDSP(Embled Digital Signal Processor)数字信号处理器。运算速度快,擅长于大量重复数据处理 ④SOC(System On Chip)偏上系统。一块芯片,部集成了MPU和某一应用常用的功能模块 3.嵌入式处理器与通用计算机处理器的区别: ①嵌入式处理器种类繁多,功能多样 ②嵌入式处理器能力相对较弱,功耗低 ③嵌入式系统提供灵活的地址空间寻址能力 ④嵌入式系统集成了外设接口 4.①哈佛体系结构:指令和数据分开存储————————(嵌入式存储结构) 特征:在同一机器周期指令和数据同时传输 ②·诺依曼体系结构:指令和数据共用一个存储器——(通用式存数结构) 数据存储结构(多字节): 大端方式:低地址存高位;小端方式:高地址存高位 6.ARM指令集命名:V1~V8 (ARMV表示的是指令集)

7.ARM核命名:. 命名规则:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{S}{x}——系列(版本) {y}——当数值为“2”时,表示MMU(存管理单元) {z}——当数值为“0”时,表示缓存Cache {T}——支持16位Thumb指令集 {D}——支持片上Debug(调试) {M}——嵌硬件乘法器 {I}——嵌ICE(在线仿真器)——支持片上断点及调试点 {E}——支持DSP指令 {J}——支持Jazzle技术 {F}——支持硬件浮点 {S}——可综合版本 8. JTAG调试接口的概念及作用: ①概念:(Joint Test Action Group)联合测试行动小组→检测PCB和IC芯片标准。(P CB→印刷电路板IC→集成芯片) ②作用(1)硬件基本功能测试读写 (2)软件下载:将运行代码下载到目标机RAM中 (3)软件调试:设置断点和调试点 (4)FLASH烧写:将运行最终代码烧写到FLASH存储器中。 9.GPIO概念:(General Purpose I/O Ports)通用输入/输出接口,即处理器引脚。 10.S3C2410/S3C2440 GPIO引脚 S3C2410共有117个引脚,可分成A——H共8个组,(GPA,GPB,…GPH组) S3C2440共有130个引脚,可分成A——J共9个组,(GPA,GPB,…,GPH,GPJ 组) 11.GPxCON寄存器,GPxDAT寄存器,GpxUP寄存器的功能,各位含义和用法 ①GPxCON寄存器(控制寄存器)——设置引脚功能 →GPACON(A组有23根引脚,一位对应一个引脚,共32位,拿出0~22位,其余没用) (若某一位是)0:(代表该位的引脚是一个)输出引脚 1:地址引脚 →GPBCON——GPH/JCON(用法一致,两位设置一个引脚) 00:输入引脚 01:输出引脚 10:特殊引脚 11:保留不用 GPBCON ②GPxDAT寄存器(数据寄存器)——设置引脚状态及读取引脚状态 若某一位对应的是输出引脚,写此寄存器相应位可令引脚输出高/低电平。 若某一位对应的是输入引脚,读取此寄存器可知相应引脚电平状态。GPBDAT

嵌入式程序设计实验报告

实验一开发环境的搭建与配置 【实验目的】 1)熟悉嵌入式Linux开发平台。 2)掌握嵌入式Linux开发平台的开发环境搭建与配置。 3)了解minicom配置串口通信参数的过程。 4)了解嵌入式Linux的启动过程。 5)掌握程序交叉编译运行及调试的一般方法。 【实验内容】 1)连接实验开发板与宿主机。 2)在虚拟机中的CentOS(宿主机)搭建开发环境。 3)在宿主机中配置minicom。 4)分析嵌入式Linux的启动过程。 5)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,然后传输到目标机上运行。 6)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,用gdbserver进行远程调试。 【实验步骤】 连接实验开发板,对虚拟机进行设置 1)首先把实验开发板打开,用网线和串口线连接宿主机,并连接电源(注意这时不要拨动实验 开发板的开关按钮)。 2)在桌面上点击打开vmware 软件,选择“编辑虚拟机设置”,如下图所示:

图1 3)进入虚拟机配置界面后把网络连接方式设置为“桥接方式”,如图2所示: 图2

4)添加串口,如下图所示: 图3 5)完成串口的添加后,选择“OK”,完成对虚拟机的设置。如下图所示:

图4 6)选择虚拟机的“Edit”、“Virtual Network Editor...”,如下图所示:

图5 7)进入虚拟机网络参数设置界面后对VMnet0进行设置(注意这里桥接的网卡应选择与实验开 发板相连接的那块儿网卡),然后点击“Apply”、“OK”如下图所示:

图6 8)上述设置完成后启动CentOS(CentOS的用户名为“root”,密码为“xidianembed”)。 工具链的配置 1)在CentOS的根目录下创建一个名为“EELiod”的目录,把实验中要用到的文件(主要是一 些rpm包)拷贝到该目录下。(可以用U盘、WinSCP等工具进行,此处不再做详细说明)。 2)交叉编译工具链位于/opt/buildroot-2011.02/output/host/usr目录下,进入工具链的bin目录下, 可以看到一些编译工具,这些工具将会在之后的交叉编译过程中使用到。

嵌入式系统原理与应用习题答案

版权说明 本文件中出现的任何文字叙述、文件格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属本人所有。 ----WangYiwei 由于我正在学习“嵌入式系统原理与应用——基于ARM微处理器和Linux操作系统”这门课程,网络上找不到课后习题答案。因此本人通过认真地做习题,不懂百度,查阅相关书籍等途径,整理了一份答案,可供各位参考。 注意:答案并不一定完全正确,有异议的答案欢迎提出来大家一起探讨。 练习题P14 1.选择题 (1)A 说明:嵌入式系统的发展趋势表现在以下几方面: 1.产品种类不断丰富,应用范围不断普及 2.产品性能不断提高 3.产品功耗不断降低,体积不断缩小 4.网络化、智能化程度不断提高 5.软件成为影响价格的主要因素 (2)D 说明:常见的嵌入式操作系统: VxWorks,Windows CE、uC/OS-II和嵌入式Linux。 (3)A 说明:VxWorks是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。 2.填空题 (1)嵌入式计算机 (2)微处理器外围电路外部设备 (3)板级支持包实时操作系统应用编程接口应用程序 (4)嵌入式处理器微控制器数字信号处理器 3.简答题 (1)简述嵌入式系统的定义和特点 答:定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。

(2)简述计算机系统的发展历程 第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段; 第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统; 第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用开始普及的阶段; 第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。 (3)简述MCU和DSP的区别 MCU是微控制器,DSP是数字信号处理器。 MCU相当于小型的电脑,内部集成的CPU、ROM、RAM、I/O总线,所以集成度高是它的特点。 DSP是专用的信息处理器,内部的程序是对不同的机器和环境进行特别优化,所以处理速度是最快的。 练习题 1. 填空题 (1) ARM7 ARM9 ARM9E ARM10E ARM11 (2) 精简指令集计算机 (3) Samsung ARM920T IIC总线 (4) BGA 显卡布线 (5) (6) 8 128 1 (7) S3C2410 64MB 64MB 2. 选择题 (1) D (2)C (3)A (4)B (5)B (6)C (7)D (8)C (9)C (10)B 3. 简答题 (1)ARM和S3C2410X有什么关系? S3C2410是韩国三星公司生产的嵌入式处理器,它采用了ARM公司的ARM920T(即ARM9)内核 (2)ARM7是32位RISC处理器,使用3级流水线,采用冯 ?诺依曼体系结构,不支持MMU。 (3)ARM8是32位RISC处理器,使用5级流水线,采用哈佛体系结构,支持MMU。 (4)S3C2410X芯片有27根地址线,8根片选线(nGCS),32根数据线。 (5)S3C2410X芯片内部集成了一个LCD控制器,SDRAM控制器,3个通道UART,4个通道DMA,4个具有PWM 功能的计时器和一个内部时钟,8通道的10位ADC。 (6)ARM体系结构有哪几种工作状态?又有哪几种运行模式?其中哪些为特权模式?哪些为异常模式?并指出处理器在什么情况下进入相应模式?

嵌入式系统原理及接口技术复习题1

一、简答题 1.简要说明嵌入式系统的硬件组成和软件组成。 答:硬件组成:微处理器,存储器,输入设备和输出设备。 软件组成:操作系统,文件系统,图形用户接口,网络系统,通用组建模块。 2.S3C2410A的AHB总线上连接了那些控制器?APB总线上连接了那些部件? AHB:LCD控制器,LCD DMA,总线控制器,USB主控制器,中断控制器,ExtMaster,电源管理,Nandflash控制器,储存器控制器。 APB:通用异步收发器,内部集成电路总线(IIC),USB设备控制器,集成电路内部 声音总线(IIS),MMC/SD/SDIO主控制器,通用I/O端口(GPIO),看门狗定时器(WDT),定时时钟(RTC),总线控制器,A/D转换器,串行外设接口,定时器/脉宽调制。 3.ARM体系结构支持几种类型的异常,并说明其异常处理模式和优先级状态? 答,支持7种类型的异常 异常处理过程:(进入异常)PC→LR,CPRS→SPSR,设置CPSR的运行模式位,跳转 到相应的异常处理程序,(异常返回)LR→PC,SPSR→CPSR,若在进入异常处理时 设置中断禁止位,要在此清楚,复位异常处理程序不需要返回。 Reset>数据中指>快速中断请求(FIQ)>中断请求(IRQ)>指令预取中止> 未定义指令和软件中止。 4.简述I2S总线接口的启动与停止过程。 通过I2S控制寄存器IISCON控制,当控制寄存器IISCON的地址为0=I2S禁止(停止); 当控制寄存器IISCON的地址为1=I2S允许(开始)。 5.简述ARM系统中的中断处理过程。 中断处理过程包括:中断请求、中断排队或中断判优、中断响应、中断处理和中断返回 6.ARM微处理器支持哪几种运行模式?各运行模式有什么特点? User:用户模式。绝大部分的任务执行都在这种操作模式下,此为正常的程序执行 模式。 FIQ:快速中断模式。支持数据传送或通道处理。 IRQ:普通中断模式。用于一般中断处理。 Supervisor:管理模式。一种操作系统受保护的方式。 Abort:中止模式。在访问数据中止后或指令预取中止后进入中止方式。 System:系统模式。是操作系统一种特权级的用户方式。 Undef:未定义模式。当执行未定义指令时会进入这种操作模式。 7.当PCLK=66.5MHz时,选择不同的时钟分频(1/2、1/4、1/8、1/16)输入,分别计算 定时器最小分辨率、最大分辨率及最大定时区间。 答:最小分辨率:定时器输入时钟频率=PCLK/{prescaler+1}/{d ivider值}=66.5/{0+1}/{2}=33.2500(MHz) 一个计数脉冲时间=1/33.2500MHz=0.0300(us) 最大分辨率:定时器输入时钟频率=PCLK/{255+1}/{2}=66.5/256/2=129.8828 一个计数脉冲的时间=1/129.8828=7.6992(us) 最大定时区间:由于TCNTBn=65535,计数到0共65536个计数脉冲, 所以65536*7.6992=0.5045(sec)。

嵌入式系统大作业

《嵌入式系统原理及应用》课 程论文 嵌入式数据库的现状和发展趋势 学生姓名 学号 专业 班级 授课教师 所属学院

嵌入式数据库的现状和发展趋势 摘要:随着计算机技术及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已经普遍应用于我们的生活。这些产品通常是在计算资源、存储资源等条件受限的情况下处理大量的数据,而传统的数据库一般都是运行在各种各样的服务器或大容量的存储器上,显然把传统的数据库直接移植到嵌入式设备上是不可行的。嵌入式数据库应运而生。本文从嵌入式系统结构入手,阐述了嵌入式数据库的发展现状,并具体介绍了当前主流嵌入式数据库的共性、基本特点、关键技术、构件、分类,并提出了发展趋势和进一步研究的技术突破点。 关键词:嵌入式数据库、复制、缓存技术、现状、趋势 引言 随着计算机技术及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已经普遍应用于我们的生活,比如智能手机、车载导航设备、数字移动电视、机顶盒、智能控制设备等。这些产品通常是在计算资源、存储资源等条件受限的情况下处理大量的数据,而传统的数据库一般都是运行在各种各样的服务器或大容量的存储器上,显然把传统的数据库直接移植到嵌入式设备上是不可行的。那么如何在苛刻的条件下,充分利用有限的资源便成为了人们研究的热点。嵌入式数据库也正是在此条件下,和嵌入式操作系统、嵌入式应用软件相伴而生的。 正文 1嵌入式系统的体系结构 嵌入式系统的英文叫做Embedded System, 是一种包括硬件和软件的完整的计算机系统, 但又跟通用计算机系统不同。嵌入式系统的定义是: / 嵌入式系统是以应用为中心, 以计算机技术为基础, 并且软硬件可剪裁, 适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。0嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器, 但是功能比通用计算机专门化, 具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。 嵌入式数据库位于嵌入式系统的中间部分,下面有嵌入式操作系统层,当前主流的嵌入式操作系统有Windows CE;Palm OS。Linux,VXworks,SymbianOS等平台,硬件平台主要有Dragonball,Handspring,MIPS,Hitachi SH,Power PC以及ARM处理器。嵌入式应用软件位于嵌入式数据库之上,可以通过API函数接口,、ODBC,JDBC等与嵌入式数据库通信,来实现数据的检索、删除、添加等操作,更为重要的是要实现数据的完整性、一致性。当前主流的嵌入式数据库,具有支持多个平台、面向多种开发语言、具有多个灵活的接口等特点,主流的嵌入式数据库有:Oracle公司的Berkeley DB、Sysbase Adaptive ServerAnywhere、Linter以及SQLite等,国内的科研机构也积极开展这方面的研究并推出了自己的产品,主要有方舟公司的Noahbase人大金仓kingbase等。

相关主题
文本预览
相关文档 最新文档