期末作业考核。
满分100分。
一、判断题(每题3分,共30分)
1.以32位risc嵌入式处理器加嵌入式操作系统为标志的嵌入式系统为其发展的第三个阶段。(√2.
嵌入式系统的硬件一般包括嵌入式微处理器、外围电路和嵌入式外围设备等组成。(√3. codewarrior具有很多功能,但不具备对文本文件进行比较的功能。
(×4.一般情况下,gnu交叉工具链包括若干个工具软件。(√
5. linux内核的主要功能仅包括内存管理、任务调试、进度间通信和网络接口。(×
6. linux采用的是树型目录结构,其中,最上层是根目录,其他的目录都是从根目录出发而生成的。(√
7.当程序状态寄存器cpsr的i位置1时,允许irq中断。(×
8.所谓大端序(也称为大端模式)是指字数据的高位字节存储在高地址中,而字数据的低字节则存放在低地址中。(×
9. dcw用于分配一段半字对齐的内存单元,dcwu分配的内存单元并不严格半字对齐。(√10.
一个程序(可以包含多个源文件)中至少要有一个entry(可以有多个entry),但一个源文件中最多只能有一个entry(可以没有entry)。(二、简答题(每题10分,50分)
1.比较nor flash和nand flash有相同和不同之处?
答:1)相同点:同属于非易失型存储器;可对存储器单元块进行擦写和再编程;写入前必须先执行擦除。
2)不同点:
a)性能:nor-flash的读取速度比nand-flash稍快;nand-flash的写入速度比nor-flash快很多;nand-flash的4ms擦除速度远比nor-flash的5s快;nand-flash的擦除单元更小,擦除电路更少。b)接口差别:
nor-flash带有sram接口;nand-flash使用复杂的i/o口来串行地存取数据。c)容量和成本:nand-flash的单元尺寸几乎是nor-flash器件的一半;nand-flash的成本低于nor-flash;nand-flash的容量大于nor-flash。
d)研发公司:nand-flash由日本东芝公司研发,nor-flash由intel公司研发。
e)用途:nand-flash相当于硬盘,用于存放数据,使用时要mtd;nor-flash存入程序,执行程序,且不需要任何软件支持。
2.什么是源程序模拟器?它有哪些功能?
答:1)源程序模拟器是在pc机上,通过软件手段模拟执行为某种嵌入式处理器编写的源程序的测试工具。
2)具有指令,周期和定时等**模拟功能。
3.通常linux内核移植有哪些基本过程?
答:1)阅读硬件文档:cpu体系结构及汇编,地址空间分布,寄存器列表及详细功能。
2)建立交叉汇编环境3)编写bootloader4)内核移植和裁剪5)建立文件系统6)驱动开发。
4.假设r0的内容为0x8000,寄存器r1、r2内容分别为0x01与0x10,存储器内容为空,执行下述指令后,说明pc如何变化?存储器及寄存器的内容如何变化?
stmib r0!, ldmia r0!,
答:stmibr0!,ldmiar0!
,stmibro!,此条指令有2步,ib表示执行前地址加41)[r0+4]←[r1];把0x01放到存储器0x8004,r0=80042)[r0+4]←[r2];把0x10放到存储器0x8008,r0=8008ldmiar0!,;此条指令有2步,ia表示执行后地址加4
1)[r0]→[r1],[r0+4]把0x8008内容放到存r1,r0加4此步完r0=800c,r1=ox102)[r0]→[r2],[r0+4]把0x800c内容放到存r2,r0加4最终r0=80010,r2=[0x800c]5.在arm汇编语言程序编写规范中有哪些规则?
答:子程序间通过寄存器r0~r3来传递参数。这时,寄存器r0~r3可记作a0~a3。被调用的子程序在返回前无需恢复寄存器r0~r3的内容。
在子程序中,使用寄存器r4~r11来保存局部变量。这时,寄存器r4~r11可以记作v1~v8。如果在子程序中使用了寄存器v1~v8中的某些寄存器,则子程序进入时必须保存这些寄存器的值,在返回前必须恢复这些寄存器的值。
在thumb程序中,通常只能使用寄存器r4~r7来保存局部变量。寄存器r12用作过程调用中间临时寄存器,记作ip。在子程序之间的连接**段中常常有这种使用规则。
寄存器r13用作堆栈指针,记作sp。在子程序中寄存器r13不能用作其他用途。寄存器sp在进入子程序时的值和退出子程序时的值必须相等。
寄存器r14称为连接寄存器,记作lr。它用于保存子程序的返回地址。如果在子程序中保存了返回地址,寄存器r14则可以用作其他用途。
寄存器r15是程序计数器,记作pc。它不能用作其它用途。三、问答及应用题(每小题10分,共20分)
1.arm处理器总共有多少个寄存器,这些寄存器按其在用户编程中的功能是如何划分的?这些寄存器在使用中各有何特殊之处?
答:arm微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。31个通用寄存器根据其编程特点可分为如下几种类型:
①、不分组寄存器r0-r7为所有模式共享②、分组寄存器r8-r12r8_fiq-r12_fiq:fiq模式下的寄存器r8-r12:其它模式共享。
、分组寄存器r13-r14分为6组,用户、系统一组,其他每种模式一组。r13_通常用作堆栈指针sp,r14_通常用作子程序链接寄存器,当进入子程序时,常用来保存pc的返回值其中,mode为以下几种模式之一:usr、fiq、irq、svc、abt、und。
、程序寄存器r15(pc)所有模式共享6个状态寄存器:一个cpsr当前程序状态寄存器,保存当前程序状态。
五个程序状态备份寄存器spsr(svc,abt,und,irq,frq),只有在异常模式下,才能被访问;各异常模式都拥有属于自己的spsr,当发生异常时,spsr用来保存cpsr的值,从异常退出时则可由spsr来恢复cpsr。
2.假设变量str1中保存了一个以0终结的字符串,试编写一个arm汇编子程序strcopy实现将str1中内容的逆序存入到str2开始的存储单元中。str1和str2的地址作为参数传递给汇编子程序。解:
对于str:
前变址:strr0,[r1,#
回写前变址:strr0,[r1,后变址:strr0,r1,r2#
嵌入式ARM嵌入式系统设计
摘要 本系统设计了基于arm系统的嵌入式硬件平台,其中主要介绍了系统母版的具体电路实现,其硬件电路已经通过了信号完整性分析。中国 网 关键词 arm 嵌入式系统 中图分类号 tp368.1 文献标识码 a 文章编号 1007 9416 2012 12 0104 01 1 序言 本系统是设计一款基于a...
嵌入式系统
期末作业考核。满分100分。一 判断题 每题3分,共30分 1.嵌入式系统中的软件系统主要由嵌入式操作系统和应用软件组成,其中嵌入式微处理器属于嵌入式软件系统的核心。答 错。2.运行在智能手机或平板电脑中的android系统是一种嵌入式操作系统。答 对。3.windriver公司所提供的软件开发包是...
嵌入式系统
关于嵌入式系统 献给热爱此道的初学者们前言。网上看到众多网友都问了关于嵌入式系统方面的很多问题,很多都可在这里找到答案,希望我的这篇文章能给他们以启发。也请大家不要轻易 一 嵌入式系统的概念。着重理解 嵌入 的概念。主要从三个方面上来理解。1 从硬件上,将基于cpu的处围器件,整合到cpu芯片内部,...