嵌⼊式系统原理与应⽤--朱华⽣李军
第⼀章习题
1.简述嵌⼊式系统的定义和特点.
定义:以应⽤为中⼼,以计算机技术为基础,软硬件可裁剪,应⽤系统对对象,可能性,成本,体积,功耗有严格要求的专⽤计算机系统.
特点:1.专⽤性强.
2.实时性好.
3.可裁剪性好.
4.可靠性⾼.
5.功耗低.
2.简述嵌⼊式系统的发展历程.
第⼀阶段在20世纪70年代前后,是嵌⼊式系统的萌芽阶段.
第⼆阶段是以嵌⼊式微处理器为基础,以简单操作系统为核⼼的嵌⼊式系统.
第三阶段是以嵌⼊式操作系统为标志的嵌⼊式系统.
第四阶段是基于Internet的嵌⼊式系统.
3.简述嵌⼊式系统的组成.
1. 硬件
1. 微处理器
2. 外围电路
3. 外部设备
2. 软件
1. 板级⽀持包
2. 实时操作系统
3. 应⽤程序接⼝
4. 应⽤程序
4.简述MCU,DSP,和SOC的区别.
MCU:微控制器(单⽚机),
DSP:数字信号处理器.
SOC:⽚上系统.
微控制器的最⼤特点是单⽚化,体积⼤⼤减⼩,从⽽使功耗和成本下降,可靠性提⾼.
数字信号处理器是⾯向数字信号处理领域的应⽤,是通过对通⽤处理器的系统结构和指令集进⾏改进⽽得到的专⽤芯⽚,指令执⾏速度较快.⽚上系统与微控制器的主要区别是后者只是芯⽚级的芯⽚,⽽前者是系统级的芯⽚.
5.简述嵌⼊式微处理器的特点.
体积⼩,重量轻,成本低,可靠性⾼
第⼆章习题
1.ARM微处理器内核系列主要有哪些?
ARM7 系列;
ARM9 系列;
ARM9E 系列;
ARM10E 系列;
ARM11 系列;
Cortex 系列;
SecurCore 系列;
Inter的Xcale/StrongARM系列;
2.ARM处理器⼯作模式有哪8种?
⽤户模式
快速中断模式
外部中断模式
特权模式
数据访问终⽌模式
未定义指令中⽌模式
系统模式
监视模式
3.简述RISC和CISC的区别.
指令集区别:RISC⼀个周期执⾏⼀条指令,指令长度固定.⽽CISC指令长度不固定,执⾏需要多个周期.
流⽔线区别:RISC流⽔线每周期前进⼀步,⽽CISC指令执⾏需要调⽤微代码的⼀个微程序.
寄存器区别:RISC使⽤更多通⽤寄存器,⽽CISC⽤特定⽬的的专⽤寄存器.
load/store结构区别:RISC独⽴的load和store指令完成数据在寄存器和外部存储器之间的传输⽽CISC处理器能够直接处理存储器中的数据.
4.ARM体系结构⽀持的数据类型有哪些?有哪些寄存器?如何组织?
数据类型:
1.字节==8位
2.半字==2字节
3.字==4字节
寄存器:有33个通⽤寄存器和7个状态寄存器.
1.通⽤寄存器
a.未分组寄存器(R0-R7)
b.分组寄存器(R8-R14)
c.程序寄存器(R15)
2.转态寄存器
5.分析程序状态寄存器各位的功能描述,并说明C,Z,N,V在什么情况下进⾏置1和清零.
低8位位控制位,27-31为条件标志位,其他为其他标志位.
C:进位或者借位标志位.当运算结果产⽣了进位时,C=1,否则为0;
当运算时产⽣了借位时,C=0,否则为1;
Z:结果是否为0的标志位.运算结果为0,则Z=1,否则为0;
N:符号标志位.运算结果为负数时,n=1,运算结果为正数或者零时,N=0;
V:溢出标志位.符号位溢出时,V=1,否则为0.
第三章习题
1.简述GCC编译4个过程中预编译的主要功能.
预编译过程的主要功能是:读取源程序,并对头⽂件(include),预编译语句(如define等)和⼀些特殊符号进⾏分析和处理.如把头⽂件复制到源⽂件中,并将输出的内容送到系统的标准输出
#gcc -E test.c
2.简述GCC编译4个过程中编译的主要功能.
编译的主要功能包括两部分,第⼀部分是检查代码的语法,如果出现语法错误,则给出错误提⽰代码,并结束编译,只有在代码⽆语法错误的情况下才能进⼊第⼆部分.第⼆部分是将预编译后的⽂件转换为汇编语⾔,并⾃动⽣成扩展名为.s的⽂件.
#gcc -S test.c
3.简述GCC编译4个过程中连接的主要功能.
连接的主要功能是连接⽬标代码,并⽣成可执⾏⽂件.
#gcc test.c -o test
4.简述GDB主要完成的功能.
1.启动程序,按照程序员⾃定义的要求运⾏程序.
2.单步执⾏,设置断点,可以让被调试的程序在所指定的断点处停住.
3.监视程序中的变量.
4.动态的改变程序的执⾏环境.
5.简述Makefile的基本结构.
target:dependency
command            //(⼀个Tab的距离)
// 若⼲规则组成
target:指Make⼯具最终需要创建的东西,通常是⽬标⽂件或者可执⾏⽂件,也可以是Make⼯具执⾏的动作名称.
dependency:编译⽬标体要依赖的⼀个或者多个⽂件列表.
command:为了从指定的依赖关系中创建出⽬标体所需执⾏的命令.
第四章习题
1.简述嵌⼊式开发环境的搭建过程.
嵌⼊式交叉开发环境主要包括调试⽅法,交叉编译环境和⽬标机运⾏环境.在进⾏嵌⼊式软件开发是,⾸先根据实际应⽤选择⼀种调试⽅法,然后根据调试⽅法构建交叉编译环境和⽬标机运⾏环境
2.BootLoader的结构分两部分,简述各部分的功能.
stage1 和 stage2 两部分.
stage1:
1.硬件设备初始化.
2.为加载BootLoader程序的stage2准备RAM空间.
3.复制BootLoader程序的stage2到RAM空间.
4.设置好堆栈,堆栈指针的设置⽬的是为了执⾏C语⾔代码做好准备.
5.跳转到stage2的C⼊⼝点.
stage2:
1.初始化本阶段要使⽤到的硬件设备.
2.检测系统内存映射(memory map)
3.将内核映像和根⽂件系统映像⽂件从Flash上读取到RAM空间中.
4.为内核设置启动参数.
5.调⽤内核.
3.ARM常⽤的BootLoader程序有哪些?
Uboot
Blob
ARMBoot
Redboot
vivi
4.简述Linux系统中开发好的程序如何下载到⽬标机.
1.在board⽬录下为⽬标机新建⼀个⽬录.将⽬标机的源码复制到这个⽬录中.
2.为⽬标机准备程序启动⽂件.
3.为⽬标机指定编译⽬标名.
4.为⽬标机准备头⽂件
5.添加⽬标机信息.
6.为⽬标机⽣成映像⽂件.
5.简述Uboot启动流程.
执⾏arch/arm/cpu/armv7中的start.S⽂件==>执⾏arch/arm/lib/crt0.S⽂件的_main函数==>执⾏arch/arm/lib/board.c⽂件中的board_init_r函数==>执⾏⽬标机中的board/samsung/origen⽬录中的origen.c⽂件
6.简述⽣成内核映像⽂件zImage的步骤.
解压源⽂件并清除原有配置
内核移植: 指定处理器的类型以及使⽤的交叉编译⼯具链
内核配置: 根据⽬标机的硬件电路以及实际应⽤需要对内核进⾏裁剪.内核配置主要是处理器的配置,⽀持的⽂件系统,需要安装的设备驱动程序.
内核编译: 执⾏编译命令 make uImage
第六章习题
1.什么是嵌⼊式数据库?
嵌⼊式数据库⼀般是指运⾏在嵌⼊式系统上,且不启动服务器端的轻型数据库,它与应⽤程序紧密集成,被应⽤程序启动,并伴随应⽤程序的退出⽽终⽌.
2.嵌⼊式数据库和传统数据库从应⽤层⾯⽐较有什么特点?
linux内核设计与实现 pdf嵌⼊式有⼀下特点:
1.⼩内核:可嵌⼊应⽤程序和处理能⼒受限的硬件环境.
2.⾼性能:⽐企业级数据库速度快,实时性要求⾼.
3.低成本:可嵌⼊⼿机,车载导航等批量⽣产系统.
4.可裁剪:能够根据实际需要增加或减少必要或不必要的功能模块.
5.嵌⼊式:能够嵌⼊软件系统或者硬件系统,对于终端⽤户来说是透明的.
3.嵌⼊式数据库和传统数据库的优化重点有什么不同?
传统数据库由于⾯向通⽤的应⽤,优化重点是⾼吞吐量,⾼效的索引机制,详尽的查询优化策略.
⽽嵌⼊式数据库是⾯向特定应⽤的,并且资源有限,优化重点是实时性,开销⼤⼩,系统性能,可靠性,可预知性,和底层控制能⼒,即针对选⽤的实时OS和嵌⼊式硬件平台设计合理的数据模型和物理结构.
4.嵌⼊式数据库和传统数据库关键技术有什么不同?
传统数据库的系统的备份和恢复,复制和同步主要针对数据库服务器端⽽嵌⼊式数据库的备份与恢复,
复制和同步通过上传,下载或混合⽅式来实现服务器和前端设备的数据同步.
数据安全性⽅⾯:传统数据库允许多⽤户并发共享使⽤数据,因此需要提供多⽅⾯的数据控制功能.⽽嵌⼊式数据库的安全性则需要考虑存储设备的安全访问问题.事务处理⽅⾯:传统数据库在并发多⽤户环境下,需要考虑事务操作的原⼦性,⼀致性,隔离性,持久性.⽽嵌⼊式数据库只需要考虑结合移动计算环境的特征进⾏事务处理控制.
5.简述SQLite内部词法分析器模块的主要功能.
词法分析器的任务是把接⼝送来的字符串分割成⼀个个标识符(token),并把这些标识符传递给语法分析器.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。