中北大学嵌入式习题答案第4章
嵌入式习题答案(DOC)

6.用汇编语言编写程序,求1到50的累加和。
答:
1
32
R50x40003005
R00
R11
LOOP
BLOOP
R001
R111
R150
R0,[R5]
B.
7.请说明汇编语句R2,[R04]和R2,[R04]!的区别。
答:状态:处理器执行32位的字对齐的指令;状态:处理器执行16位的半字对齐的指令。
指令集和指令集均有切换处理器状态的指令。
从状态转换到状态:
R0, 1
R0
8.处理器有哪些工作模式?哪些是特权模式?哪些是异常模式?
答:体系结构支持7种工作模式(),分别为用户模式()、快中断模式()、中断模式()、管理模式()、数据访问终止模式()、系统模式()、及未定义指令中止模式()。除去用户模式外的其他6种处理器工作模式称为特权模式()。除去用户模式和系统模式以外的5种处理器工作模式称为异常模式()
答:第2个操作数的三种形式如下。立即数,例如:R00x0000F200;寄存器方式,例如:R1,R1,R2;寄存器移位方式,例如:R112 R3。
3.请分别写出调用子程序、子程序返回所使用的指令,并简述所用指令的工作过程。
答:用指令调用子程序。指令先将下一条指令的地址拷贝到R14(即)连接寄存器中,然后跳转到指定地址运行指令。子程序返回的指令是:,。
答:8[R0+4]2;R0不变
32[R0+4]=R2;R00+4
32[]表示存储器的存储单元中存放的32位字数据,16[]表示存储器的存储单元中存放的16位半字数据,8[]表示存储器的存储单元中存放的8位字节数据
最新嵌入式原理思考题及答案精品版

2020年嵌入式原理思考题及答案精品版第1章复习要点1.1.1节嵌入式系统的概念1.1.3节嵌入式系统的特点1.3节嵌入式处理器1.4节嵌入式系统的组成第2章复习要点2.1节计算机体系结构分类2.3.1节 ARM和Thumb状态2.3.2节 RISC技术2.3.3节流水线技术2.4.3节 ARM存储系统第3章复习要点3.1节ARM编程模式3.2节ARM指令格式及其寻址方式3.3节ARM指令集(课上所讲的指令)第4章复习要点4.1节汇编语言源程序格式4.2节汇编语言的上机过程第5章复习要点5.1节键盘接口5.2节 LED显示器接口5.5.1节 UART异步串行接口作业题答案:1.什么是嵌入式系统?•第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
•第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2.与通用型计算机相比,嵌入式系统有哪些特点?⏹通常是面向特定应用的;⏹空间和各种资源相对不足,必须高效率地设计,量体裁衣、去除冗余;⏹产品升级换代和具体产品同步,具有较长的生命周期;⏹软件一般都固化在存储器芯片或单片机本身;⏹不具备自举开发能力,必须有一套开发工具和环境才能进行开发3.举例介绍嵌入式微处理器有哪几类?一、嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式处理器目前主要有Aml86/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。
二、嵌入式微控制器(Microcontroller Unit, MCU)嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。
ARM嵌入式系统结构与编程习题答案(全).

《ARM嵌入式系统结构与编程》习题答案第一章绪论1.国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机系统。
从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的剪裁利用。
因此有人把嵌入式系统比作是一个针对特定的应用而“量身定做”的专业计算机系统。
2.嵌入式系统是从何时产生的,简述其发展历程。
答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。
嵌入式系统的出现最初是基于单片机的。
Intel公司1971年开发出第一片具有4位总线结构的微处理器4004,可以说是嵌入式系统的萌芽阶段。
80年代初的8051是单片机历史上值得纪念的一页。
20世纪80年代早期,出现了商业级的“实时操作系统内核”,在实时内核下编写应用软件可以使新产品的沿着更快,更节省资金。
20世纪90年代实时内核发展为实时多任务操作系统。
步入21世纪以来,嵌入式系统得到了极大的发展。
在硬件上,MCU的性能得到了极大的提升,特别是ARM技术的出现与完善,为嵌入式操作系统提供了功能强大的硬件载体,将嵌入式系统推向了一个崭新的阶段。
3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。
答:主要有嵌入式Linux和嵌入式实时操作内核uC/OS-II嵌入式Linux操作系统是针对嵌入式微控制器的特点而量身定做的一种Linux操作系统,包括常用的嵌入式通信协议和常用驱动,支持多种文件系统。
主要有以下特点:源码开放,易于移植,内核小,功能强大,运行稳定,效率高等。
uC/OS是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。
嵌入式系统开发基础——基于ARM9微处理器C语言程序设计各章习题答案

1 第一章习题1。
嵌入某种微处理器或单片机的测试和控制系统称为嵌入式控制系统(Embedded Control System)。
在应用上大致分为两个层次,以MCS-51为代表的8位单片机和以ARM技术为基础的32位精减指令系统单片机2。
目标机上安装某种嵌入式操作系统和不安装嵌入式操作系统, 以MCS-51为代表的8位单片机不安装嵌入式操作系统。
3。
32位、16位和8位5。
32位、16位6。
在大端格式中,字数据的高字节存储在低字节单元中,而字数据的低字节则存放在高地址单元中。
在小端存储格式中,低地址单元存放的是字数据的低字节,高地址单元中,存放的是数据的高字节。
第二章习题(略)第三章习题1。
(1)寄存器大约有17类,每个的定义都是寄存器名字前面加一个小写”r”(2)在56个中断源中,有32个中断源提供中断控制器,其中,外部中断EINT4~EINT7通过“或”的形式提供一个中断源送至中断控制器,EINT8~EINT23也通过“或”的形式提供一个中断源送至中断控制器。
第四章习题1,56个中断源,有32个中断源提供中断控制器2,两种中断模式,即FIQ模式(快速模式)和IRQ模式(通用模式)。
通过中断模式控制寄存器设置。
3,常用的有5个,它们是中断模式控制寄存器,控制中断模式;中断屏蔽寄存器,控制中断允许和禁止;中断源挂起寄存器,反映哪个中断源向CPU申请了中断;中断挂起寄存器,反映CPU正在响应的中断是哪个中断源申请的;中断优先级寄存器,它和中断仲裁器配合,决定中断优先级。
4,中断源挂起寄存器,反映哪个中断源向CPU申请了中断;中断挂起寄存器,反映CPU正在响应的中断是哪个中断源申请的。
中断源向CPU申请了中断如果该中断源没被屏蔽并且没有和它同级或高级的中断源申请中断,才能被响应。
系统中可以有多个中断源向CPU申请中断,但同一时刻CPU只能响应一个最高级的中断源中断请求。
中断源挂起寄存器和中断挂起寄存器反映了中断系统不同时段的状态。
嵌入式系统基础B习题及答案综述

第1章嵌入式系统概述1、什么是嵌入式系统?嵌入式系统的特点是什么?嵌入式系统概念:(1) IEEE对嵌入式系统的定义:用于控制、监视或者辅助操作机器和设备的装置。
(2)一般定义:以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统的特点:(1) 专用的计算机系统 (2) 必须满足环境要求 (3) 必须能满足对象系统的控制要求 (4) 是集成计算机技术与各行业应用的集成系统(5) 具有较长的生命周期 (6) 软件固化在非易失性存储器中 (7) 必须能满足实时性要求(8) 需要专用开发环境和开发工具5、简单分析几种嵌入式操作系统的主要特点,包括嵌入式Linux、Windows CE、uCOS II 及VxWorks。
(1)嵌入式Linux:有多个主流版本,根据应用需求,性能略有差别。
μCLinux是Linux小型化后,适合于没有MMU的微处理器芯片而裁剪成的操作系统,μCLinux保持了传统Linux操作系统的主要特性,包括稳定、强大的网络和文件系统的支持,μCLinux裁剪了大量的Linux内核以缩小尺寸,适合像512KB RAM、1MB Flash这样小容量、低成本的嵌入式系统。
RT_Linux即能兼容通常的Linux,又能保证强实时性。
(2)Windows CE:开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用。
WinCE 开发难度远低于嵌入式Linux,实时性略低,常用于手机、PDA等手持设备中。
(3)uCOS II:结构小巧、抢先式的实时嵌入式操作系统,具有执行效率高、占用空间小、可移植性强、实时性能好和可扩展性能等优点。
主要用于小型嵌入式系统。
(4) VxWorks: 集成开发环境为Tornado,Vxworks因出现稍早,实时性很强,并且内核可极微(最小8K),可靠性较高等。
《嵌入式技术基础与实践》习题参考答案

第1章概述习题参考答案1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统?答:即的含义是:在一块芯片上集成了中央处理单元()、存储器(等)、定时器/计数器与多种输入输出()接口的比较完整的数字处理系统。
大部分嵌入式系统以为核心进行设计。
从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。
因此以为核心的系统是应用最广的嵌入式系统。
2.简述嵌入式系统的特点以与应用领域。
答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉与软件、硬件与应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。
一般用于工业控制,智能家电,日常电子等领域。
4.比较与的区别与联系。
答:是一个单独的处理器。
而,则有微处理器,存储器(等)、定时器/计数器与多种输入输出()接口的比较完整的数字处理系统。
所以可以这么说,是一个包含微处理器的嵌入式系统,而紧紧是一个处理器而已。
第2章08微控制器习题参考答案1.给出60 存储器映像的简要说明。
答:所谓存储器映像,是指地址$0000 ~ $这个64空间,哪些地址被何种存储器所占用,或者说60的、、映像寄存器各使用$0000 ~ $这个64空间中的哪些地址。
简单地说,就是$0000 ~ $这个64空间是如何分配的。
2.60的引脚主要分为哪几类?简要说明主要引脚的功能。
答:(1)电源类信号引脚(2)复位信号引脚(3)主要功能模块引脚。
比如定时器,中断等。
(4)其他,比如背景调试引脚主要引脚:60最小系统连接的口,以与各具体功能口。
3.嵌入式系统中和作用分别是什么?答:一般来说这个区域安排用户数据(主要是全局变量)和堆栈空间;要用于存储程序、常数、中断向量等。
嵌入式课后习题答案

第八章
一、填空题。
1、Makefile、配置文件、配置工具。
2、配置命令解释器、配置用户界面。
arch:arch目录包括了所有和体系结构相关的核心代码。include:include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下;init:init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件;mm:mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下;drivers:drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound;ipc:ipc目录包含了核心进程间的通信代码;modules:modules目录存放了已建好的、可动态加载的模块;fs:fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录;Kernel:Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下;net:net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面;lib:lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下;scripts:scripts目录包含用于配置核心的脚本文件;documentation:documentation目录下是一些文档,是对每个目录作用的具体说明。
嵌入式系统应用教程习题答案

参考答案第1章嵌入式系统概论1.嵌入式系统具有什么特点?举出3个嵌入式系统的实例。
答:嵌入式系统具有特点是以应用为中心, 以计算机技术为根底, 软件硬件可裁剪, 适应应用系统对功能, 牢靠性, 本钱, 体积, 功耗严格要求的专用计算机系统。
智能仪器仪表, 导弹, 汽车限制系统, 机器人, ATM 〔Automatic Teller Machine〕, 信息家电, 智能手机等内部都有嵌入式系统。
2.嵌入式系统的开展经验了哪些阶段?答:嵌入式系统的开展经验了以下四个阶段:无操作系统阶段, 简单操作系统阶段, 实时操作系统阶段, 面对Internet 阶段。
3.画出嵌入式系统的开发流程图。
图1-1 嵌入式系统开发流程4.嵌入式操作系统有哪些?举出4个实例,并说明特点。
答:嵌入式操作系统主要有嵌入式Linux, Windows CE, VxWorks, Palm OS以及µC/OS-Ⅱ等。
(1)嵌入式Linux在嵌入式领域的特点:①.Linux是开放源代码的,不存在黑箱技术,遍布全球的Linux爱好者为Linux供应强大的技术支持;②.Linux属于微内核操作系统,内核小, 效率高, 运行稳定, 可裁剪性好,并且更新速度很快;③.Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统;④.Linux具有及生俱来的强大的网络功能,支持各种网络连接方式,很适合作为面对Internet的新一代嵌入式产品的操作系统;⑤.Linux具有丰富的软件开发工具,能够满意嵌入式系统中软件局部的开发要求。
(2)Windows CE在嵌入式领域的特点:Windows CE具有模块化, 构造化和基于Win32应用程序接口和及处理器无关等特点。
不仅继承了Windows优秀的图形界面,而且可以直接运用Windows 95/98上的编程工具〔如VisualBasic, Visual C++等〕进展应用程序开发,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上接着运用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章嵌入式操作系统
一、填空*
1、一般来说,嵌入式操作系统中的任务具有等待、执行和就绪三种基
本状态。
2、Linux下设备文件所在路径为 /dev ,存放内部命令的所在路径为 /
bin 。
挂载的文件路径为 /mnt 。
3、LINUX的文件系统采用的是多级目录,最上层是根目录。
4、在Linux操作系统中,设备都是通过特殊的文件来访问。
5、超级用户的用户名为 root 。
二、选择题
1、使用Host-Target联合开发嵌入式应用,( B )不是必须的。
A、宿主机
B、银河麒麟操作系统
C、目标机
D、交叉编译器
2、某文件的所有者拥有全部权限;组内的权限为可执行可写;组外成员的权限为只执行,则该文件的权限为( D )
A、467
B、674
C、476
D、764
3、linux下删除文件命令为( D )
A、mkdir
B、rmdir
C、mv
D、rm
4、为了查找出当前用户运行的所有进程的信息,我们可以使用()命令:
A、ps -a
B、ps -u
C、ls -a
D、ls –l
5、LINUX支持网络文件系统NFS,下列哪个命令实现了将位于 192.168.1.4机器上的/opt/sirnfs 目录挂载到本机/mnt/sirnfs下:( A )
A、mount -t nfs 192.168.1.4:/opt/sirnfs /mnt/sirnfs
B、mount -t nfs /mnt/sirnfs 192.168.1.4:/opt/sirnfs
C、mount nfs –t 192.168.1.4:/opt/sirnfs /mnt/sirnfs
D、mount nfs –t /mnt/sirnfs 192.168.1.4:/opt/sirnfs
6、当我们与某远程网络连接不上时,就需要跟踪路由查看,以便了解在网络的什么位置出
现了问题,满足该目的的命令是(B )。
A、ping
B、ifconfig
C、traceroute
D、netstat
7、使用命令chmod的数字设置,可以改变( C )
A、文件的访问特权
B、目录的访问特权
C、文件/目录的访问特权
8、显示当前目录中的全部文件,相应命令为(B )
A、ls
B、ls –a
C、ls -l
9、删除文件命令为( D )
A、mkdir
B、rmdir
C、mv
D、rm
10、对于tar.gz结尾的文件,采用下面哪个命令进行解压缩操作( A )
A、tar xvzf
B、tar jxvf
C、tar czvf
D、tar jcvf
11、对于ln命令,下列哪项说法是不正确的()
A、ln命令会保持每一处链接文件的同步性
B、软链接在用户选定的位置上生成一个文件的镜像
C、ln命令的链接文件不会重复占用磁盘空间
D、硬链接会在用户选定的位置上生成一个和源文件大小相同的文件
三、命令题
1、试写出对应的Linux命令,实现在根目录下创建目录my123,转到该路径下,利用VI编辑器创建文件welcome.txt,保存退出后,查看该文件内容,将其搬移到/usr下,然后删除此路径。
cd /
mkdir my123
cd /my123
vi welcome.txt
cat welcome.txt
mv /root/my123/welcome
cd /usr
rm my123
2、试写出对应的Linux命令,实现查看U盘是否已出现在设备文件中,假如设备名为SDB1,则在/mnt下创建路径myusb,将U盘挂载在此路径下。
查看U盘内容,最后将其卸载。
fdisle /dev
mkdir /mnt/myusb
mount /dev/sdb/ /mnt/myusb
ls /mnt/myusb -l
vmount /mnt/myusb
四、读程序,写出程序运行结果
/* thread.c */
….
#define THREAD_NUMBER 3
#define REPEAT_NUMBER 3
#define DELAY_TIME_LEVELS 10.0
void * thrd_func(void *arg){
int thrd_num = (int)arg;
int delay_time = 0;
int count = 0;
printf("Thread %d is starting\n", thrd_num);
for (count = 0; count < REPEAT_NUMBER; count++)
{
delay_time = count + 1;
sleep(delay_time);
printf("\tThread %d: job %d delay = %d\n", thrd_num, count,
delay_time);
}
printf("Thread %d finished\n", thrd_num);
pthread_exit(NULL);
int main(void)
{
pthread_t thread[THREAD_NUMBER];
int no = 0, res;
void * thrd_ret;
srand(time(NULL));
for (no = 0; no < THREAD_NUMBER; no++)
{
res = pthread_create(&thread[no], NULL, thrd_func, (void*)no);
if (res != 0)
{
printf("Create thread %d failed\n", no);
exit(res);
}
}
printf("Create treads success\n Waiting for threads to finish...\n");
for (no = 0; no < THREAD_NUMBER; no++)
{
res = pthread_join(thread[no], &thrd_ret);
if (!res)
{
printf("Thread %d joined\n", no);
}
else
{
printf("Thread %d join failed\n", no);
}
}
return 0;
}
五、main.c mytool1.c mytool2.c mytool1.h mytool2.h 位于同一目录下,源代码如下所示。
要求编写Makefile 文件实现对这两个文件的编译,Makefile 文件如下所示。
请填写在空白处的选项。
/*Makefile*/
main:main.o mytool1.o mytool2.o
/* main.c */
#include "mytool1.h"
#include "mytool2.h"
int main(int argc,char **argv)
{
mytool1_print("hello");
mytool2_print("hello");
} /* mytool2.h */ #ifndef _MYTOOL_2_H #define _MYTOOL_2_H void mytool2_print(char *print_str); #endif /* mytool2.c */
#include "mytool2.h"
void mytool2_print(char *print_str)
{
printf("This is mytool2
print %s\n",print_str);
}
/* mytool1.h */
#ifndef _MYTOOL_1_H
#define _MYTOOL_1_H
void mytool1_print(char *print_str);
#endif
/* mytool1.c */
#include "mytool1.h"
void mytool1_print(char *print_str)
{
printf("This is mytool1 print %s\n",print_str);
}
main.o:main.c mytool1.h mytool2.h mytool1.o:mytool1.c mytool1.h mytool2.o:mytool2.c mytool2.h。