2018-2019嵌入式期末复习材料Word格式文档下载.doc

上传人:b****9 文档编号:13072560 上传时间:2022-10-04 格式:DOC 页数:8 大小:969KB
下载 相关 举报
2018-2019嵌入式期末复习材料Word格式文档下载.doc_第1页
第1页 / 共8页
2018-2019嵌入式期末复习材料Word格式文档下载.doc_第2页
第2页 / 共8页
2018-2019嵌入式期末复习材料Word格式文档下载.doc_第3页
第3页 / 共8页
2018-2019嵌入式期末复习材料Word格式文档下载.doc_第4页
第4页 / 共8页
2018-2019嵌入式期末复习材料Word格式文档下载.doc_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

2018-2019嵌入式期末复习材料Word格式文档下载.doc

《2018-2019嵌入式期末复习材料Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《2018-2019嵌入式期末复习材料Word格式文档下载.doc(8页珍藏版)》请在冰豆网上搜索。

2018-2019嵌入式期末复习材料Word格式文档下载.doc

以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。

发展趋势:

1.产品种类不断丰富,应用范围不断普及

2.产品性能不断提高 

3.产品功耗不断降低,体积不断缩小 

4.网络化、智能化程度不断提高 

5.软件成为影响价格的主要因素

特点:

专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。

应用领域:

生产过程控制、数据采集、通信、军事、海洋、等领域

硬件结构(★):

微处理器  外围电路  外部设备

软件结构(★):

板级支持包  实时操作系统  应用编程接口  应用程序

分类(★):

嵌入式处理器  微控制器  数字信号处理器

主流的嵌入式操作系统:

 

VxWorks,Windows 

CE、uC/OS-II和嵌入式Linux。

第2章(ARM所支持的汇编?

简答题:

1、ARM微处理器的工作状态,及切换方法。

(★)

答:

ARM和Thunb状态。

切换方法:

进入Thunb状态:

当操作数寄存器的状态位(位0)为1时,执行BX指令,此外,当处理器处于Thumb状态时发生异常,则异常处理返回时,自动切换到Thumb状态。

进入ARM状态:

当操作数寄存器的状态位为0时,执行BX指令。

此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。

2、NANDFlash自动引导模式的流程(★)

1.当系统复位后,如果自动引导模式使能(OM[1:

0]=00).系统就会自动将NANDFlash的前4KB复制到Steppingstone中。

2.将Setppingstone映射到nCCS0中。

3.CPU从steppingstone中开始执行程序,这段程序的功能是将NANDFlash中Bootloader的第二阶段程序复制到SDRAM中,然后再跳转到SDRAM中执行引导程序的第二阶段代码。

3、电源管理模式及切换方法(★)

Normal模式:

为所有外设和一些基本的模块提供时钟。

Slow模式:

为通过一个慢时钟来降低电源功耗

Power-off模式:

为断开内部电源,只给内部的唤醒逻辑供电。

IDLE模式:

为断开提供给CPU的时钟。

4、串口操作流程

数据发送、数据接收、中断/DMA产生、波特率发生、loop-back模式、红外模式和自动流控制。

5、ARM处理器对异常的处理流程

1.保存异常返回地址到rl4_<

execption_mode>

2.保存当前CPSR到CPSR_<

3.改写CPSR以切换到相应的异常模式和处理器状态

4.禁止IRQ

5.跳转到相应的异常向量表人口进行异常处理

5.异常返回

程序题:

1、编写一简单ARM汇编程序段,实现1+2+…+100的运算

2、假设LED1接在GPF7上,GPF7输出0时LED灯亮,输出1时LED灯熄灭。

用ARM汇编编写程序点亮LED灯。

注:

GPFCON寄存器地址:

0x56000050;

GPFDAT寄存器地址:

0x56000054;

GPF7对应GPFCON中的[15,14]位,位值为00:

输入;

01:

输出;

10:

EINT7。

Text

Global-start

-start

LDRR0,=0x56000050

MOVR1,#0x56000050

STRR1,[R0]

LDRR0,=0x56000054

MOVR1,#0X00000000

MAIN_LOOP:

BMAIN_LOOP

若为0X000000080则灯灭

3、写一段ARM汇编程序:

循环累加队列MyArray中的所有元素,直到碰上零值元素,结果放在R4中。

LDRR0,[R1],#8;

将存储器地址为R1的字数据读入寄存器R0,并将R1+8的值存入R1。

4、指出下面各条指令的寻址方式。

SUBR0,R1,R2 寄存器寻址

SUBS R0,R0,#1 立即寻址

MOVR0,R2,LSL#3 寄存器移位寻址

SWP R1,R1,[R2] 寄存器间接寻址

LDR R2,[R3,#0x0C] 基址变址寻址

5、解释下面的每条ARM汇编语句:

ADDR0,R0,#0x3f

ADDR3,R2,R1,LSLR4

LDMIAR0,{R1,R2,R3,R4}

MULSR0,R1,R2

STRR0,[R1,#8]

第3章:

1、掌握gcc命令,及常用编译选项P66

Gcc命令格式:

gcc[选项]文件列表

常用选项:

1.输出文件选项(-O)2.链接文件库选项3.指定头文件目录选项(-I)4.指定库文件目录选项(-L)5.警告选项6.调试选项7.优化选项

2、掌握GCC编译过程P64

一、预编译:

1.把include中的头文件复制到要编译的源文件中。

2.用实际值替代define文本。

3.在调用宏的地方进行宏替换gcc-Ehello.c

二、编译:

1.检查代码的语法。

2.将编译后的文件替换或汇编语言,并自动生成后缀为.s的文件gcc-stest.c。

三、汇编。

将汇编语言代码变成目标代码gcc-ctest.c

四、连接目标代码,并生成可执行文件。

gcc-otesttest.o/gcc-otesttest.c

3、gdb调试程序的方法,及常用命令P70-73

1.编译生成可执行程序。

2.启动GDB。

3.设置断点。

4.运行程序。

5.单步执行。

6.继续执行。

7.退出。

4、Makefile文件的编写(要会写),特别是Makefile预定义变量(含义)的使用P75-81

第4章:

第七章的实验好好看看(实验手册)

掌握嵌入式系统开发流程(★)

1、交叉编译工具链的安装;

2、安装配置TFTP服务;

3、安装配置NFS服务;

4、C-Kermit的安装配置;

5、minicom的安装配置;

6、windows下超级终端的配置。

2、掌握Bootloader的框架、及具体功能(★)

框架:

Stage1:

用汇编语言编写,主要进行设备的初始化;

Stage2:

用C语言编增强程序的移植性和可读性。

具体功能:

可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适状态。

3、掌握Linux内核主要的组成部分及它们的具体功能

Linux内核主要由五个子系统组成:

进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。

进程调度:

控制进程对CPU的访问。

当需要选择下一个进程运行时,由调度程序选择最值得运行的进程;

内存管理:

允许多个进程安全的共享主内存区域;

虚拟文件系统:

隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统;

网络接口:

提供了对各种网络标准的存取和各种网络硬件的支持;

进程间通讯:

支持进程间各种通信机制。

4、掌握内核的裁剪和编译的步骤

剪裁:

1.选择硬件平台的类型2.选择内核对MTD和Flash存储器的支持3.选择内核对网络的支持。

3.选择内核对文件系统的支持

1、make 

config 

进入命令行;

2、make 

menuconfig 

内核裁剪;

编译:

3、make 

clean 

清理以前已生成的目标文件;

4、make 

dep 

编译变量的依赖关系;

5、make 

zImage 

生成内核镜像文件zImage。

6、makemodules编译模块

7、makemodules_install安装编译完成的模块

5、掌握根文件系统的构建步骤

1、建立基本的目录结构;

2、交叉编译BusyBox;

3、创建配置文件;

4、利用cramfs工具创建根文件系统映像文件。

第5章

1、掌握设备驱动程序的功能、组成;

驱动程序与应用程序的区别;

功能:

1、对设备初始化和释放;

2、数据传送;

3、检测和处理设备出现的错误。

组成:

1、自动配置和初始化子程序;

2、服务于I/O请求的子程序;

3、中断服务子程序。

区别:

第一:

主动与被动的区别。

应用程序有一个main函数,总是从些函数开始主动执行一个任务,而驱动程序安装之后,便停止工作,并等待被应用程序调用。

第二:

使用的库函数不同。

第三:

程序运行的区域不同。

驱动程序工作在内核态;

应用程序工作在用户态。

2、设备文件的常用接口(★)

open、close、read、write、ioctl

3、驱动程序的动态安装与卸载(书本上有个框图)

insmod、rmmod

4、掌握查看驱动模块、测试驱动的方法(★)

Lsmod

5、掌握驱动程序中重要的数据结构

file_operations、file和indode

6、掌握教材上的驱动程序实例(demo和AD驱动)(★)P127-P138

1、ADC转换器的工作流程(★)

初始化时,先将寄存器各位清空。

转换时,先将寄存器的最高位置1,再将寄存器的数值送入DAC,经D/A转换后生成模拟量送入比较器中与输入的模拟量进行比较,若Vs<

Vi,则该位的1被保留,否则被清除;

重复上述过程,直至最低位,最后寄存器中的内容即为输入模拟值转换成的数字量。

1、设置A/D转换器的相关参数

2、选择A/D转换器的输入通道

3、命令A/D转换器开始转换

4、读取ADCDAT0数据寄存器的低10位数据,就是A/D转换结果

2、驱动程序的编译、安装和测试方法(★)

编译:

一般采用Make工具

安装:

使用insmod

测试:

编写一个应用程序

3、驱动程序查用函数,及参数列表中各个参数的意义。

P125-P127(设备注册,创建,中断号的申请用什么函数)

字符设备注册及注销函数:

字符设备驱动程序可通过register_chrdev函数向内核注册设备,又可通过unregister_chrdev函数向内核注销设备。

中断申请和释放函数:

设备驱动程序可通过request_irq函数向内核申请中断,又可通过free_irq函数释放中断。

阻塞型I/O操作函数:

可以通过调用以下函数让进程进入睡眠状态。

voidsleep_on(structwait_queue**q);

voidinterrutible_sleep_on(struct

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1