嵌入式考题寻高手(问答题). (分不够可以再开新贴加,百分百结贴)

时间:2021-11-22 23:19:04
一、 简答题(共32分)
1. 什么是嵌入式系统?嵌入式实时操作系统的特点?试比抢占式操作系统与非抢占式操作系统、前后台系统之间的区别。(4分)
2. S3C2410处理器中某些寄存器具有特殊用途,请说明r13、r14、r15、CPSR和SPSR寄存器的特殊用途。(4分)
3. S3C2410处理器包含哪些状态?请给出进行状态切换的汇编语言代码。试述该处理器各模式的主要功能。(4分)
4. BL指令的功能是什么?ARM CPU在响应异常的过程中硬件进行了哪些操作?(4分)
5. 解释以下四个概念:运行地址、加载地址、物理地址、虚拟地址,并说明它们之间的关系。(4分)
6. Bootloader的功能是什么?简述两阶段Bootloader vivi各阶段完成的任务。(4分)
7. ARM处理器异常处理程序的最后一条指令的功能是什么?为什么需要减一个偏移量?(4分)
8. 以读操作为例说明NAND Flash芯片的整个工作过程。(4分)



分不够可以再开新贴加,百分百结贴
谢谢。


4 个解决方案

#1


1.嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 
对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。 
嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的 最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 

#2


通用寄存器可以分为3类:未备份寄存器(R0~R7)、备份寄存器(R8~R14)和程序计数器PC(R15)
备份寄存器r13和r14
每一种异常模式拥有自己的物理的r13。应用程序初始化该r13,使其指向该异常模式专用的栈地址
寄存器r14又被称为连接寄存器(Link Register,LR)每一种处理器模式自己的物理r14中存放当前子程序的返回地址//当异常中断发生时,该异常模式特定的物理r14被设置成该异常模式将要返回的地址
对于ARM版本4以及更高的版本,程序必须保证写入R15寄存器的地址值的bits[1:0]为0b00;否则会产生不可预知的结果。
每一种处理器模式下都有一个专用的物理状态寄存器,称为SPSR(备份程序状态寄存器)。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。在异常中断程序退出时,可以用SPSR中保存的值来恢复CPSR。

#3


多谢楼上兄弟。

还有几题能再帮帮忙不?
顺便给答案编个号,谢谢啦.

#4


我是菜鸟,这个都是搜的,网上搜搜到处都有的,自己搜搜对学习有好处
第4题 .  BL是带返回的跳移指令   
    当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求.在处
理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行.处
理器允许多个异常同时发生,它们将会按固定的优先级进行处理. 
ARM体系结构中的异常,与8位/16位体系结构的中断有很大的相似之处,但异常与中断的概念
并不完全等同. 
当一个异常出现以后,ARM微处理器会执行以下几步操作: 
1,将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置
重新开始执行.若异常是从ARM状态进入,LR寄存器中保存的是下一条指令的地址(当前PC+4或PC
+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这
样,异常处理程序就不需要确定异常是从何种状态进入的.例如:在软件中断异常SWI,指令 MOV PC,
R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行. 
2,将CPSR复制到相应的SPSR中. 
3,根据异常类型,强制设置CPSR的运行模式位. 
4,强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处. 
还可以设置中断禁止位,以禁止中断发生. 
如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到
ARM状态. 

 

#1


1.嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 
对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。 
嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的 最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 

#2


通用寄存器可以分为3类:未备份寄存器(R0~R7)、备份寄存器(R8~R14)和程序计数器PC(R15)
备份寄存器r13和r14
每一种异常模式拥有自己的物理的r13。应用程序初始化该r13,使其指向该异常模式专用的栈地址
寄存器r14又被称为连接寄存器(Link Register,LR)每一种处理器模式自己的物理r14中存放当前子程序的返回地址//当异常中断发生时,该异常模式特定的物理r14被设置成该异常模式将要返回的地址
对于ARM版本4以及更高的版本,程序必须保证写入R15寄存器的地址值的bits[1:0]为0b00;否则会产生不可预知的结果。
每一种处理器模式下都有一个专用的物理状态寄存器,称为SPSR(备份程序状态寄存器)。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。在异常中断程序退出时,可以用SPSR中保存的值来恢复CPSR。

#3


多谢楼上兄弟。

还有几题能再帮帮忙不?
顺便给答案编个号,谢谢啦.

#4


我是菜鸟,这个都是搜的,网上搜搜到处都有的,自己搜搜对学习有好处
第4题 .  BL是带返回的跳移指令   
    当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求.在处
理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行.处
理器允许多个异常同时发生,它们将会按固定的优先级进行处理. 
ARM体系结构中的异常,与8位/16位体系结构的中断有很大的相似之处,但异常与中断的概念
并不完全等同. 
当一个异常出现以后,ARM微处理器会执行以下几步操作: 
1,将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置
重新开始执行.若异常是从ARM状态进入,LR寄存器中保存的是下一条指令的地址(当前PC+4或PC
+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这
样,异常处理程序就不需要确定异常是从何种状态进入的.例如:在软件中断异常SWI,指令 MOV PC,
R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行. 
2,将CPSR复制到相应的SPSR中. 
3,根据异常类型,强制设置CPSR的运行模式位. 
4,强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处. 
还可以设置中断禁止位,以禁止中断发生. 
如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到
ARM状态.