嵌入式系统原理一、选择题(30分)1、假设Cortex-M4处理器的3级流水线,每级所耗时间均为0.1ms,不考虑流水线“断流”则顺序执行50条指令需要耗费时间____5.2___2、在下面的寄存器中,只能在特权级下进行访问的是()A.PCB.MSPC.R3DAPSR3、若R0的值为4,执行指令ORRR0,R0,#3后,R0的值是___7____4、下列指令中会对内存单元进行写操作的是()A.Addr0,r1,r2,lsl#1B.ldrr0,[r1]C.bicr0,r0,#3D.movr0,r15、下列指令中,寻址方式为基址变址寻址的是()A.ldrr0,[r1,#0x0f]B.movr0,r1C.ldrr0,[r1]D.addr0,r1,r2,lsl#16、按照ATPCS规则,子程序的第5个参数通过__堆栈__传递。7、若要把F组GPIO的模式寄存器GPIO_MODER的bit3和bit2位设置为二进制01,而其他位不变,下面可以实现这一功能的正确表达式是()A.GPIOF_MODER&=(~0x3)|0x1;B.GPIOF_MODER=0x1;C.GPIOF_MODER&=(0x3<<2)|(0x1<<2);D.GPIOF_MODER&=(~(0x3<<2))|(0x1<<2);8、STM32F439的主锁相环(PLL)时钟是否就绪,可通过寄存器()进行判断。A.RCC_CFGRB.RCC_PLLCFGRC.RCC_CRD.RCC_CIR9、STM32F439的USART1完成初始化工作后,若要发送数据,只要把需要发送的数据写入寄存器()A.USART1_SRB.USART1_DRC.USART1_BRRD.USART1_CR110、下列异常中,优先级可编程配置的异常是()A.NMIB.HardfaultC.SVCD.RESET11、若已知STM32F439通用定时器TIM3预分频器的时钟由内部时钟CK_INT提供,CN_INT的频率为20MHz,预分频寄存器的值为1,要实现2us的定时,自动重载寄存器的值应为__19=ARR___12、STM32F439的通用定时器TIM14,工作在PWM模式时,在计数器时钟频率不变的情况下,输出PWM波形的周期取决于寄存器()。A.TIM14_CCR1B.TIM14_ARRC.TIM14_CR1D.TIM14_SR13、Cortex_M4内核的嵌套向量中断控制器NVIC,要禁止一个中断,需要对寄存器()对应的位进行写1操作。A.NVIC_ICERnB.NVIC_ISERnC.NVIC_ICPRnD.NVIC_ISPRn14、STM32F439的外部中断/事件控制器EXTI,若要允许某个输入线下降沿触发中断和事件,需要设置的寄存器是(c)。A.EXTI_PRB.EXTI_RTSRC.EXTI_FTSRD.EXTI_IMR15、要取消STM32F439独立看门狗寄存器IWDG_PR的写保护,要对寄存器IWDG_KR寄存器写入____0x5555_____二、填空题(20分)1、STM32F439复位后默认的运行模式是__线性模式________,默认级别是__特权级________。2、Cortex_M4三级流水线的三个阶段分别是____取指_____、___译码_______、__执行________3、Cortex_M4内核复位后,读取0x00000000地址单元的值作为寄存器_(MSP)___的初始值;读取0x00000004地址单元的值作为寄存器__(PC)___的初始值。4、把CONTROL的值读取到R0,完整的汇编指令是___(mrsr0,control)______;把R0的值写入到CONTROL,完整的汇编指令是____(msrcontrol,r0)_________5、伪操作IMPORT的作用是___声明需要应用的标号在其他文件中_。6、Cortex_M4处理器嵌套向量中断控制器(NVIC)的中断控制器类型寄存器(NVIC_ICTR),主要用于_____显示NVIC支持的中断线数目_____。7、通用寄存器TIM14主要由__触发控制器___、__时基单元__、_输入捕获通道__和__输出比较通道__组成。8、伪指令ldrr0,=label的功能是_____将label标号地址传递给r0___。9、STM32F439时钟数中,系统时钟SYSCLK的来源有三个,分别是:___HSI___、___HSE____和___PLLCLK_________,其中__PLLCLK____是由主锁相环倍频分频产生。三、简答题(20分)1、Cortex_M4处理器的一个异常或中断被发出后,硬件自动完成了哪些操作?(10分)所有异常都在处理模式中操作。出现异常时,自动将处理器状态保存到堆栈中,并在中断服务程序(ISR)结束时自动从堆栈中恢复。在状态保存的同事取出向量快速地进入中断。异常进入当CM4处理器的一个异常或中断被触发,硬件中断完成如下工作:(1)CM4中断控制器根据当前状态和中断的抢占级别来确定是响应应该中断,还是先挂起,并更新相应的寄存器状态。(2)通过Dbus保存处理器状态,将下面的8个寄存器按顺序保存入SP(MSP或PSP)指向的系统堆栈。(3)CM4通过Ibus从异常向量表取得对应的中断向量,并开始读取ISR指令,这一步几乎与压栈同时进行。(4)CM4处理器更...