什么是嵌入式系统?其特点有些什么?
答: 嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”
特点:1)是专用的计算机系统,用于特定的任务;
2)资源较少,可以裁减;
3) 功耗低,体积小,集成度高,成本低;
4)使用实时操作系统;
5) 可靠性要求更高,具有系统测试和可靠性评估体系;
6)运行环境差异大
7)大部分程序固化在 ROM中;
8) 较长的生命周期;
9)嵌入式微处理器通常包含专用调试电路
R14两个用途LR
工作模式下保存子程序的返回地址
异常模式下设置为异常返回地址
嵌入式RISC处理器“ARM7TMDI”中TDMI的基本含义是什么? 答:ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。
TDMI的基本含义为:T:支持16为压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上断点和调试点;
目前嵌入式操作系统有哪些?
答:1)μC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统 ;5)Symbian操作系统
嵌入式系统开发的基本流程?
答:1)系统定义与需求分析;
2)系统设计方案的初步确立;
3)初步设计方案性价比评估与方案评审论证;
4)完善初步方案、初步方案实施;
5)软硬件集成测试;
6)系统功能性能测试及可靠性测试。
什么是可编程片上系统?
答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上
系统SOPC.它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主
逻辑功能,具有一般SOC基本属性;其次,
它又具备软硬件在系统可编程的功能,是
可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。
有时要使用Thumb技术的原因
答:(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。
ARM处理器的工作模式有哪几种?
答:1)用户模式(usr);
2)快速中断模式(fiq);
3)外部中断模式(irq);
4)操作系统保护模式(svc)或 管理模式 ;
5)数据访问中止模式(abt);
6)处理未定义指令的未定义模式(und);
7)运行特权级的操作系统任务的系统模式(sys)。
寄存器R13,R14,R15的专用功能各是什么?
答:1)寄存器R13保存堆栈指针SP;2)寄存器R14用作子程序链接寄存器,也称为LR ,用以保存返回地址;3)R15(PC)用作程序计数器。
ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?
答:1)复位(Reset)异常(管理模式);
2)未定义指令(undefined instruction)异常(未定义模式);
3)软件中断(SWI)异常(管理模式);
4)指令预取中止(Prefech Abort)异常(中止模式);
5)数据访问中止(Data Abort)(中止模式);
6)快速中断请求(FIQ)(FIQ模式);
7)外部中断请求(IRQ)(IRQ模式)。
异常返回指令:1)SWI,未定义的返回:MOVS PC,R14;
2)IRQ,FIQ,预取中止的返回:SUBS PC,R14,#4;
3)数据中止返回并重新存取:SUBS PC,R14,#8
异常中断的优先级:复位(最高优先级)---->数据异常中止--->FIQ--> IRQ--->预取指异常中止--->SWI---->未定义指令(包括缺协处理器)
什么是小端和大端存储器组织?
答:1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。 2) 大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。
ARM核现在有哪几种?
答:ARM7、 ARM9、ARM9E 、ARM10E,、SecurCore 、ARM11
表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。
答:有4种类型的堆栈,表示递增和递减的满堆栈和空堆栈的各种组合。
1、满递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA,STMFA等。
2、空递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空地址。指令如LDMEA,STMEA等。
3、满递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向内含
有效数据项的最低地址。指令如LDMFD,STMFD等。
4、空递增:堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空地址。指令如LDMED,STMED等。
嵌入式Linux与其他嵌入式操作系统相比,有哪些优点和缺点? 答:嵌入式Linux作为嵌入式操作系统,与其他嵌入式操作系统相比,优点有:开放源代码、免费、开发周期短等;缺点是实时性较差。
数字接地与模拟接地一般如何区分开和相连?
答:系统中的模拟电源一般由数字电源产生,可以通过:
(1)数字电源与模拟电源,以及数字地与模拟地之间加铁氧体磁珠或电感构成无源滤波电路;
(2)采用多路稳压器的方法将模拟地和数字地连接。
简述SDRAM在ARM系统中的主要作用。
答:SDRAM 具有高速、大容量等优点,是一种具有同步接口的高速动态随机存储器,在ARM系统中主要用作程序的运行空间、数据及堆栈区。
区别ARM外启动方式和内启动方式的不同。
答:外启动方式下,ARM从外部程序存储器取指令执行;内启动时,ARM运行片上ROM中固化的启动程序。
简述嵌入式设备中程序运行方式。
答:嵌入式设备中程序运行方式有两种:一种是将程序加载到SDRAM中运行,另一种是程序直接在其所在的ROM/Flash存储器中运行。
在读写数据速度上,Nor-Flash 与Nand-Flash有什么区别?
答:Nor-Flash的读取速度比Nand-Flash快; Nand-Flash的写入速度和擦除速度比Nor-Flash快。
74.如何确保复位电路的可靠复位?
答:一方面复位低电平时间足够长(20ms以上),保证ARM可靠复位;另一方面保证复位电路稳定性良好,防止ARM 误复位。
93.简述ARM Linux内核启动三个阶段的功能。
答:第一阶段主要是进行CPU和体系结构的检查、CPU本身的初始化,以及页表的建立等。初始化是从内核入口Entry开始到start_kernel前结束。
第二阶段主要是对系统中的一些基础设施进行初始化。
最后是更高层次的初始化,如根设备和外部设备的初始化。
97.简述ARM Linux三种主要编译开发工具的作用。
答:二进制文件处理工具binutils主要应用于移植调试操作系统初期的辅助开发;编译工具gcc用于编译内核代码;glibc用于链接和运行库文件。
在嵌入式系统中对GUI的基本要求是什么?
答:(1)占用的存储空间以及运行时占用资源少。
(2)运行速度以及响应速度快。
(3)可靠性高。
(4)便于移植和定制。
ARM处理器的工作模式
答:用户模式、FIQ模式、IRQ模式、SVC模式、中止模式、未定义指令异常模式、系统模式
ARM有15个通用寄存器、一个或两个状态寄存器和PC,有些模式共用同一个寄存器,一共具有37个寄存器。R12一般在子程序连接代码中使用,作为子程序间的中间结果寄存器;R13通常被用做栈指针,也称做SP;R14又被称为连接寄存器LR。
寄存器R14的两种特殊用途
存放当前子程序的返回地址;当发生异常中断的时候,该模式下的特
定物理R14被设置成该异常模式将要返回的地址。
ARM7采用的是三级流水技术,指令分为三个阶段执行:取指、译码、执行;
ARM9采用的是五级流水技术,指令分为三个阶段执行:取指、译码、执行、访存、回写;
Thumb指令与ARM指令性能比较,分别有什么优缺点。
答:Thumb代码所需的存储空间约为ARM代码的60%~70%
Thumb代码使用的指令数比ARM代码多30%~40%
若使用32位的存储器,ARM代码比Thumb代码快约40%
若使用16位的存储器,Thumb代码比ARM代码快约40%~50%
在ARM代码相比较,使用Thumb代码,存储器的功耗会降低约30%
什么是交叉编译,为什么要采用交叉编译(5分)
答:所谓交叉编译,是指在一个平台上编译生成在另一个平台上运行
的可执行程序。(3分)之所以采用交叉编译,是因为目标平台上不
具备直接运行开发环境的条件(2分)。
在ARM系统中,函数调用的时候,参数是通过哪种方式传递的? 参考答案:应用程序中使用中间寄存器和数据栈来传递参数。在ARM汇编中,如果第1-4个参数通过R0-R4来传递,超过4个的使用数据栈进行传递,输出函数R0传递。
中断(interrupt,如键盘中断)与异常(exception,如除0异
常)有什么区别?
答案:所谓的中断应该是指外部硬件产生的一个电信号,从cpu的中断引脚进入,打断cpu当前的运行。所谓异常,是指软件运行中发生了一些必须作出处理的事件,cpu自动产生一个陷入来打断当前运行,转入异常处理流程。
嵌入式系统与通用计算机之间的区别。
答:通用计算机系统采用标准化、模块化的设计,其技术要求是高速、海量的信息处理,技术发展方向是处理速度、总线宽度、存储容量的无限提升。而嵌入式系统怎采用针对性较强的专业化设计,技术要求是满足具体应用,技术发展方向是在保证应用系统的技术要求和可靠性的前提下,尽可能减小成本、体积和耗。
嵌入式处理器的分类
答:
1嵌入式微处理器MPU
2嵌入式微控制器MCU
3 嵌入式DSP处理器
4嵌入式片上系统SOC
嵌入式操作系统的作用是什么?请举出3种常见的操作系统。
答:用于管理存储器分配、中断处理、任务间通信和定时器响应,以及提供多任务处理等功能。嵌入式操作系统,大大地提高了嵌入式系统硬件工作效率,并为应用软件开发提供了极大的便利。3种常见的操作系统:WinCE、Vxworks、uClinux
嵌入式系统开发流程
答:嵌入式系统开发流程一般可分为4个阶段:需求分析阶段、硬件
开发阶段、软件开发阶段和程序固化阶段。
在ARM系列中,ARM7, ARM9分别是什么体系结构。
ARM7是冯•诺依曼体系结构 ARM9是哈佛体系结构
ARM处理器数据存储格式有哪几种?各自的特点?能否举例进行说明。
答:ARM存储器有大端格式和小端。大端格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中;小端格式则相反。
ARM处理器共有多少个32位寄存器,多少个为通用寄存器,多少个状态寄存器。
答:共有37个32位寄存器,其中31个为通用寄存器,可用于累加操作,6个为状态寄存器。
在ARM指令中,R13寄存器常用?R14寄存器被称为?,R15寄存器?
答:R13常用做堆栈指针,R14被称为子程序连接寄存器或连接寄存器。R15寄存器用于保存程序计数器(PC)。R15一般不作为通用寄存器使用
ARM指令的寻址方式。
(1)寄存器寻址;(2)立即寻址;(3)寄存器偏移寻址;(4)寄存器间接寻址;(5)基址变址寻址;(6)多寄存器寻址;(7)堆栈寻址;(8)块拷贝(复制)寻址;(9)相对寻址
什么是交叉编译工具。
答:交叉编译是一个平台上生成另外一个平台上的可执行代码。使用交叉编译工具有很多种原因,有时是因为目标平台上不允许或不能够安装所需的编译器;有时是因为目标平台资源贫乏,无法运行所需编译器;有时是因为目标平台还没有建立,连操作系统都没有,根本无
法运行编译器。
简述嵌入式操作系统与通用操作系统的区别。
答:通用操作系统是一种通用的操作系统,可运行在不同的硬件平台。而嵌入式操作系统与一般的Windows操作系统不同,其是一种专用、可定制的特点。
简述S3C2410的存储空间是如何分配的?
答:S3C2410芯片采用的是ARM920T核,地址空间总共为4G。其中,1GB地址空间用于支持外部存储器的链接,此部分被分成8个存储块,每块128MB。另外的空间有一小部分用于I/O端口或部件的寻址,其他的地址空间没有用到。
简述看门狗定时器的作用及必要性。
答:当系统程序出现功能错乱,引起系统程序死循环时,能中断该系统程序的不正常运行,恢复系统程序的正常运行。嵌入式系统由于运行环境的复杂,及所处环境有较强的干扰信号,或系统程序本身的不完善,不能排除系统程序不会出现死循环现象。在系统中加入看门狗部件,当系统程序出现死循环时,看门狗定时器产生一个具有一定时间宽度的复位信号,迫使系统复位,恢复系统正常运行。