当前位置:文档之家› 2016年下半学期西电嵌入式系统设计大作业

2016年下半学期西电嵌入式系统设计大作业

2016年下半学期西电嵌入式系统设计大作业
2016年下半学期西电嵌入式系统设计大作业

嵌入式系统设计大作业

授课老师:孙江敏

学院:计算机学院

学生姓名:

学号:

日期:2016年6月12日

嵌入式系统设计大作业

1、判断题

( ×)1.嵌入式系统调试通常可以分为硬件级调试和在线仿真器调试。

( √)2.在ARM处理器中,快速中断(FIQ)的优先级高于外部中断(IRQ)。( ×)3.ROM能够永久或半永久地保存数据,ROM内的数据永远不会丢失。( √)4.内建测试系统(BIST)是SoC片上系统的重要结构之一,JTAG测试接口是IC 芯片测试方法的标准。

( ×)5.VHDL的基本单元描述不包括库。

( ×)6.嵌入式ARM架构的嵌入式处理器同时支持大端、小端(Big/Little-Endian)数据类型。

( ×)7.嵌入式操作系统通常采用整体式内核或层次式内核的结构。

( ×)8.ARM7TDMI中的T代表增强型乘法器。

( ×)9.看门狗(Watch Dog)实际是一个简单的定时器,在固定时间内若正常清零,则自动复位处理器。

( √)10.ARM-CPU由多家不同制造商生产,芯片外部提供的总线是不一致的。( √)11.Linux 内核稳定、功能强大并且可以裁减,因为非常适合嵌入式应用。( √)12.Linux 内核的中断服务程序运行于与所有进程都无关的中断上下文中。( √)13.Linux遵循POSIX标准,意味着绝大多数UNIX应用程序不需要任何改动就可以在Linux系统上编译且运行。

( ×)14.Linux内核支持可以裁减的功能,因此它属于微内核架构。

( √)15.Linux在fork()时采用了写时拷贝(简称COW)技术,允许父进程和子进程同时共享相同的物理页面。

( √)16.任何一个Linux应用程序都需要调用exit()函数。

( √)17.当前的Linux调度算法非常高效,但是查找当前最高优先级的可运行程序时,开销会随着可运行程序的多少而变化。

( √)18.Linux的系统调用是作为C库的一部分提供的。

( ×)19.为了对硬件做出迅速的响应并完成对时间严格的操作,中断处理下半部必须在关中断状态下执行。

( ×)20.Linux的内存管理采用了分页的机制,因此即使是内核本身也全部是分页的。

( ×)21.嵌入式系统由上到下主要分为3个层次:应用软件层,系统软件层,硬件层。

( ×)22.嵌入式系统的软硬件是独立设计的。

( √)23.嵌入式系统设计需要建立交叉开发环境。

( √)24.通用系统程序开发不需要建立和使用交叉编译环境。

( √)25.对于C++代码,gcc命令只能编译其源文件,而不能自动和C++程序使用的库链接。

( √)26.嵌入式系统可以没有操作系统。

( √)27.JTAG测试允许多个器件通过JTAG接口串联在一起形成一个JTAG链,能实现对各个器件分别测试。

( ×)28.GDB调试器只支持本地调试应用程序。

( √)29.KGDB程序是一个专门用于调试Linux内核的GDB调试桩。

( ×)30.片上调试器是存在重叠RAM。

2、叙述嵌入式平台的搭建过程,以linux为例。

①建立交叉编译环境

一般开发机上已经有一套开发工具,称之为原生开发套件。一般用原生开发套件来写程序,在开发机上再安装一套开发工具,这套开发工具编译出来的程序,如内核、系统工作或者自己的程序,放在目标主机上运行。一般的开发机都是X86平台,原生开发套件开发的工具,也针对X86 平台,而目标主机可能是PowerPC、IXP、MIPS。所以,用交叉编译环境针对某一类具体平台。交叉开发环境一般需要二进制工具程序、编译器、C链接库,嵌入式开发常用的三类软件是:Binutils、Gcc、uClibc。GNU包含的工具套件不仅于此,有时会根据实际需要,进行选择。

②编译内核

开发工具是针对某一类硬件平台,内核同样也是。这一步需要用第一步中建立的工具,对内核进行编译。

③建立根文件系统

也就是建立平常看到的bin、dev、proc……等目录,以及一些必备的文件;

另外,还需要为目标系统安装一些常用的工具软件,如ls、ifconfig。一个办法是找到这些工具的源代码,用第一步建立的交叉编译工具来编译,但是这些软件一般数量多,而且其中某些体积较大,不适合嵌入式系统。所以一般用busybox来完成的,包括系统引导软件init ;最后,还需要为系统建立初始化的引导文件,如inittab。

④启动系统

在这一步,把建立好的目标、文件、程序、内核及模块全部拷贝到目标机存储器上,如硬盘。然后为系统安装bootloader。对于嵌入式系统,有许多引导程序可供我们使用。不过它们许多都有硬件平台的限制。当然,如果工作在X86下,可以直接用lilo来引导。做到这一步时,将目标存储设备挂上目标机,如果顺利,就可以启动系统了。当然,针对某些特别的平台,不能像硬盘这样拷贝,就需要读卡器、烧录。但是基本的方法是相通的。

⑤优化和个性化系统

通过前四步,已经得到了一个可以正常工作的系统。之后只需根据个人的工作习惯进行设置。

3、给出现今有哪些用于嵌入式开发的芯片名称,

他们分别是哪些公司的产品?体系结构是什么?

①基于32位RISC微处理器芯片的ARM7系列,ARM9系列,ARM9E系列,

ARM10E系列都是ARM公司的产品,arm9以上的体系结构是哈佛总线体系结构以下的是冯。诺依曼体系。

②TI公司的DSP处理器内核是哈佛总线体系结构。

③PowerPC公司的芯片,基于RISC结构,是哈佛总线体系结构。

④MIPS公司的芯片,基于RISC结构,是哈佛总线体系结构。

4、现今较流行的嵌入式操作系统有哪些

① VxWork

② Linux

③μC/OS-Ⅱ

④ windows CE

⑤ Android

5、PXA270嵌入式开发板的接口有哪些?

全双工异步串行口和硬件流控制串行口,10M标准以太网接口10M/100M标准以太网接口,USB接口,红外通讯口,音频接口,存储卡口,视频和触摸屏接口摄像头接口,RTC时钟接口,调试接口,下载接口,电源接口。

6、请写出Nor Flash和Nand Flash的区别。

Flash是一种非易失闪存,它具有和ROM一样的掉电后数据不会丢失的

7、冯·诺依曼架构与哈佛架构的区别。

①冯?诺依曼结构是一种程序指令存储器和数据存储器合并在一起的存储

器结构。

②哈佛体系结构是一种将程序指令存储和数据存储分开的存储器结构。

8、单周期3级流水的情况下,第10个指令周期时,第几条指令执行结束?

三级流水读取指令过程:

①取指从存储器装载一条指令

②译码识别将要被执行的指令

③执行处理指令并将结果写会寄存器

故ARM正在执行第1条指令的同时对第2条指令进行译码,并将第3条指令从存储器中取出。所以,ARM7流水线只有在取第10条指令时,第7条指令才算完成执行。

9、下面是linux下的一个简单的设备驱动程序,写出linux设备驱动常用的数据结构,同时阅读下面代码,请给出测试程序中的每条语句加以注释。

设备驱动程序Keypad.c的源代码:

#include //最基本的文件,支持动态添加和卸载模块。

#include //包含了文件操作相关struct的定义

#include //初始化头文件

#include //轮询文件

#include //对一些特殊类型的定义,只是为了方便阅读。

#include //可以在芯片上产生周期性的中断

#include //延时头文件

#include //与处理器相关的硬件

#include //延时头文件

#include //与处理器相关的入口

#define LEDnKEY_MAJOR 251 //宏定义

#define KEYPAD_NAME "X-Hyper250 Keypad" //宏定义

#define KEYPAD_VERSION "Version 0.1" //宏定义

#define EXT_KEY_CS EXT_PORT2 //宏定义

#define EXT_LED_CS EXT_PORT3 //宏定义

#define LED_SHOW 10 //宏定义

void led_off_on()

{

int i;

EXT_LED_CS = 0xff;

for(i =0 ; i<8;++i)

{

EXT_LED_CS = ~((1 << i) & 0xff);//点亮相应LED灯

udelay(30000);//调用udelay函数来延迟}

EXT_LED_CS = 0xff;

}

/*应用程序用open来打开设备文件,实际上调用驱动的lednkey_open()函数*/

int lednkey_open(struct inode *inode, struct file *filp)//打开设备文件

{

MOD_INC_USE_COUNT;//模块自身通过MOD_INC_USE_COUNT,宏来管理自己被使用的计数。

return (0);

}

int lednkey_release(struct inode *inode, struct file *filp) //释放设备文件

{

led_off_on();

MOD_DEC_USE_COUNT;

return (0);

}

ssize_t lednkey_read(struct file *filp, char *Putbuf, size_t length, loff_t *f_pos) { //按键读取函数

unsigned short BottonStatus;

unsigned char Bottontmp = 0;

int i;

BottonStatus = ( EXT_KEY_CS & 0xff );//按键状态

for(i = 0 ; i < 8; ++i)

{

if( ((BottonStatus >> i) & 1) == 0 ) //判断哪个按键按下

Bottontmp = (i+1);

}

copy_to_user( Putbuf, &Bottontmp, length);//将数据从内核态拷贝到用户态

return length;

}

ssize_t lednkey_write(struct file *filp, const char *Getbuf, size_t length, loff_t *f_pos)

{

int num;

unsigned char UsrWantLed;

copy_from_user( &UsrWantLed, Getbuf, length);//将数据从用户态拷贝到核心态

num = ( (UsrWantLed) & 0xff ); //确定哪一位要进行设定

EXT_LED_CS = ~(1 << (num-1));//点亮相应LED灯

return (0);

}

int lednkey_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,unsigned long arg)

{ //lednkey_ioctl 接口函数,主要用于获取或者改变正在运行的设备参数switch(cmd)

{

case LED_SHOW:

{

if(arg)

led_off_on();

break;

}

}

return 0;

}

/*以下这驱动函数与用户应用程序里对设备文件操作的函数相对应*/

struct file_operations lednkey_fops = {

open: lednkey_open,

read: lednkey_read,

write: lednkey_write,

ioctl: lednkey_ioctl,

release: lednkey_release,

};

static int _init xhyper250_keypad_init(void)

{

/*初始化设备函数,在函数名之前加上这个属性之后,系统会在初始化完成之后丢弃初始化函数,收回它所占用的内存,以减小内核所占用的内存空间,它只对内建的驱动起作用*/

int result;

result = register_chrdev(LEDnKEY_MAJOR, "lednkey", &lednkey_fops);

/*向操作系统注册一个主号为251,设备名为"lednkey",并传递设备驱动程序的指针为lednkey_fops(全局变量),其中register_chrdev()是内核提供的函数,作用是完成注册新的字符设备*/

printf("%s %s initialized.\n",KEYPAD_NAME, KEYPAD_VERSION);

led_off_on();

return 0;

}

static void _exit xhyper250_keypad_exit(void)

{ //向操作系统卸载设备函数

unregister_chrdev( LEDnKEY_MAJOR, "lednkey" );

led_off_on();

}

module_init(xhyper250_keypad_init); //显式声明初始化设备函数

module_exit(xhyper250_keypad_exit); //显式声明卸载设备函数

测试文件的源代码如下:

#include

#include

#include

#include

#include

#include

#define LED_SHOW 10

int fd;

static char *dev_name = "/dev/keypad";

int main(int argc, char **argv)

{

int data = 0, pre_data;

fd = open( dev_name , O_RDWR ); //使用函数open打开设备keypad

if( !(fd >=0) )

{

printf("%s file open failed\n", dev_name );

exit(-1); //打开失败,显示出错信息

}

printf("\nkeypad App : press the push button see show led - Exit Ctrl-C \n",dev_name);//打开成功,提示用户输入

ioctl(fd,LED_SHOW,1);//循环显示LED,看LED是否正常

while(1)

{

do

{

pre_data = data;

read( fd, (char * )&data, sizeof(data) );

data = (data & 0xff);

}while(data == 0);

if( pre_data == 0)

{

printf("Write %d LED\n",data);

write( fd, (const char *)&data, sizeof((const char )data) );

} //采用忙等待方式扫描用户输入,传递给write函数

}

close( fd );//使用函数close关闭设备keypad

return 0;

}

10、基于嵌入式的智能家居系统设计,重点在于完成智能家居控制平台的结构、功能和设计分析,画出相应的结构功能框图。

11、建立五个文件:ex1.c文件,ex2.c文件,ex.h 文件,ex.c文件,makefile文件,其中ex1.c文件和ex2.c文件分别输出hello linux1和hello linux2,ex.h文件包含ex1.c文件和ex2.c文件中的函数,ex.c文件为包含main函数的文件,来调用ex1.c文件和ex2.c文件中的函数,编写makefile文件对上述文件进行编译和执行。

上机记录:

加减乘除运算-函数库:

加减乘除运算-动态链接库:

数据结构大作业报告

数据结构大作业报告 数据结构大作业实验报告课程名称:数据结构设计题目:客户去银行储蓄模拟程序一( 实验题目 (1)内容描述:编写一个程序反映客户到银行储蓄的过程。 (2)基本要求:要实现以下功能:1:排队 2:储蓄 3:查看排队4.:删除自己所排的队 5.不再排队,剩下的客户依次储蓄 6:下班 二( 实验的工程组成图和程序结构图 main bank 本工程的组成结构如左图所示,程序结构图如右图所示。三( 工程所包含的函数的功能描述 Bank():模拟客户到银行去储蓄的过程。客户排队储蓄,所以要用到一个队列, 这里设计了一个不带头结点的单链表作为队列。 四( 实验工程的算法描述及流程图 //客户排队去银行储蓄,用到了队列的知识,这里设计了一个不带头结点的单链表作为队列来完成排队储蓄过程 #include

#include typedef struct qnode { int data; struct qnode *next; } QNode; //定义链队结点类型 typedef struct { QNode *front,*rear; } QType; //定义链队类型 void bank() //模拟客户储蓄的过程 { int cho,onwork=1,no,find; QType *q; //定义链队类型的指针 QNode *p,*r; //定义链队结点的指针 q=(QType *)malloc(sizeof(QType)); //申请链队的空间 q->front=q->rear=NULL; //创建空队 while (onwork==1) //循环执行 { printf("1:排队 2:储蓄 3:查看排队4:删除自己所排的队 5:不再排队,剩下的客户依次储蓄 6:下班请选择:"); scanf("%d",&cho); switch(cho) { case 1://排队

西电随机信号大课后复习

随机信号大作业 班级:02xxxx 姓名:xx

学号:02xxxxx 第一章 1.23上机题:设有随机初相信号X(t)=5cos(t+φ),其中相位φ是在区间(0,2π)上均匀分布的随机变量。试用Matlab编程产生其三个样本函数。 解:程序: clc clear m=unifrnd(0,2*pi,1,10); for k=1:3 t=1:0.1:10; X=5*cos(t+m(k)); plot(t,X); hold on

end title('其三个样本函数'); xlabel('t');ylabel('X(t)'); grid on ;axis tight ; 由 Matlab 产生的三个样本函数如下图所示: 第二章 2.22 上机题:利用Matlab 程序设计一正弦型信号加高斯白噪声的复合信号。 (3)分析复合信号通过理想低通系统后的功率谱密度和相应的幅度分布特性。 1 2 3 4 5 6 7 8 9 10 -4-3-2-101 23 4其三个样本函数 t X (t )

解:取数据如下: 正弦信号的频率为:fc=10HZ,抽样频率为:fs=100HZ; 信号:x=sin(2*pi*fc*t); 高斯白噪声产生复合信号y: y=awgn(x,10); 复合信号y通过理想滤波器电路后得到信号y3 ,通过卷积计算可以得到y3 即:y3=conv2(y,sin(10*t)/(pi*t)); y3的幅度分布特性可以通过傅里叶变换得到Y3(jw)=fft(y3),y3的功率谱密度:G3(w)=Y3(jw).*conj(Y3(jw)/length(Y3(jw)))。 程序: clear all; fs=100; fc=10; n=201; t=0:1/fs:2; x=sin(2*pi*fc*t); y=awgn(x,10); m=50; i=-0.49:1/fs:0.49; for j=1:m R(j)=sum(y(1:n-j-1).*y(j:199),2)/(n-j); Ry(49+j)=R(j);

西电人工智能大作业

人工智能大作业 学生:021151** 021151** 时间:2013年12月4号

一.启发式搜索解决八数码问题 1.实验目的 问题描述:现有一个3*3的棋盘,其中有0-8一共9个数字,0表示空格,其他的数字可以和0交换位置(只能上下左右移动)。给定一个初始状态和一个目标状态,找出从初始状态到目标状态的最短路径的问题就称为八数码问题。 例如:实验问题为

到目标状态: 从初始状态: 要求编程解决这个问题,给出解决这个问题的搜索树以及从初始节点到目标节点的最短路径。 2.实验设备及软件环境 利用计算机编程软件Visual C++ 6.0,用C语言编程解决该问题。 3.实验方法 (1).算法描述: ①.把初始节点S放到OPEN表中,计算() f S,并把其值与节点S联系 起来。 ②.如果OPEN表是个空表,则失败退出,无解。 ③.从OPEN表中选择一个f值最小的节点。结果有几个节点合格,当其 中有一个为目标节点时,则选择此目标节点,否则就选择其中任一节点作为节点i。 ④.把节点i从OPEN表中移出,并把它放入CLOSED的扩展节点表中。 ⑤.如果i是目标节点,则成功退出,求得一个解。 ⑥.扩展节点i,生成其全部后继节点。对于i的每一个后继节点j: a.计算() f j。 b.如果j既不在OPEN表中,也不在CLOSED表中,则用估价函数f

把它添加入OPEN表。从j加一指向其父辈节点i的指针,以便一旦 找到目标节点时记住一个解答路径。 c.如果j已在OPEN表或CLOSED表上,则比较刚刚对j计算过的f 值和前面计算过的该节点在表中的f值。如果新的f值较小,则 I.以此新值取代旧值。 II.从j指向i,而不是指向它的父辈节点。 III.如果节点j在CLOSED表中,则把它移回OPEN表。 ⑦转向②,即GO TO ②。 (2).流程图描述: (3).程序源代码: #include #include

西电射频大作业(精心整理)

射频大作业 基于PSpice仿真的振幅调制电路设计数字调制与解调的集成器件学习

目录 题目一:基于PSpice仿真的振幅调制电路设计与性能分析 一、实验设计要求 (3) 二、理论分析 1、问题的分析 (3) 2、差动放大器调幅的设计理论 (4) 2.1、单端输出差动放大器电路 2.2、双端输出差动放大器电路 2.3、单二极管振幅调制电路 2.4、平衡对消二极管调幅电路 三、PSpice仿真的振幅调制电路性能分析 (10) 1、单端输出差动放大器调幅电路设计图及仿真波形 2、双端输出差动放大器调幅电路设计图及仿真波形 3、单二极管振幅调制电路设计图及仿真波形 4、平衡对消二极管调幅电路设计图及仿真波形 四、实验总结 (16) 五、参考文献 题目二数字调制与解调的集成器件学习 一、实验设计要求 (17) 二、概述 (17) 三、引脚功能及组成原理 (18) 四、基本连接电路 (20) 五、参考文献 (21) 六、英文附录 (21)

题目一基于PSpice仿真的振幅调制电路设计 摘要 随着大规模集成电路的广泛发展,电子电路CAD及电子设计自动化(EDA)已成为电路分析和设计中不可缺少的工具。此次振幅调制电路仿真设计基于PSpice,利用其丰富的仿真元器件库和强大的行为建模工具,分别设计了差分对放大器和二极管振幅调制电路,由此对线性时变电路调幅有了更进一步的认识;同时,通过平衡对消技术分别衍生出双端输出的差分对放大器和双回路二极管振幅调制电路,消除了没用的频率分量,从而得到了更好的调幅效果。本文对比研究了单端输出和双端输出的差分对放大器调幅电路及单二极管和双回路二极管调幅电路,通过对比观察时域和频域波形图,可知平衡对消技术可以很好地减小失真。 关键词:PSpice 振幅调制差分对放大器二极管振幅调制电路平衡对消技术 一、实验设计要求 1.1 基本要求 参考教材《射频电路基础》第五章振幅调制与解调中有关差分对放大器调幅和二极管调幅的原理,选择元器件、调制信号和载波参数,完成PSpice电路设计、建模和仿真,实现振幅调制信号的输出和分析。 1.2 实践任务 (1) 选择合适的调制信号和载波的振幅、频率,通过理论计算分析,正确选择晶体管和其它元件;搭建单端输出的差分对放大器,实现载波作为差模输入电压,调制信号控制电流源情况下的振幅调制;调整二者振幅,实现基本无失真的线性时变电路调幅;观察记录电路参数、调制信号、载波和已调波的波形和频谱。 (2) 参考例5.3.1,修改电路为双端输出,对比研究平衡对消技术在该电路中的应用效果。 (3) 选择合适的调制信号和载波的振幅、频率,通过理论计算分析,正确选择二极管和其它元件;搭建单二极管振幅调制电路,实现载波作为大信号,调制信号为小信号情况下的振幅调制;调整二者振幅,实现基本无失真的线性时变电路调幅;观察记录电路参数、调制信号、载波和已调波的波形和频谱。 (4) 参考例5.3.2,修改电路为双回路,对比研究平衡对消技术在该电路中的应用效果。 1.3 写作报告 (1) 按论文形式撰写,包括摘要、正文和参考文献,等等。 (2) 正文包括振幅调制电路的设计原理、理论分析结果、实践任务中各阶段设计的电路、参数、波形和频谱,对观察记录的数据配以图像和表格,同时要有充分的文字做分析和对比,有规律性认识。 (3) 论文结构系统、完备、条理清晰、理论正确、数据翔实、分析完整。 1.4 相关提示 (1) 所有电路和信号参数需要各人自行决定,各人有不同的研究结果,锻炼学生的独立研究和实验分析能力。 (2) 为了提高仿真精度和减小调试难度,可以将调制信号和载波的频率设置得较低。 二、理论分析 1、问题的分析 根据题目的要求,差分对放大器和二极管振幅调制电路目的都是实现基本无

西电随机信号分析大作业

随机信号分析大作业 学院:电子工程学院 班级:021151 学号:02115037 姓名:隋伟哲

第一题:设有随机信号X(t)=5cos(t+a),其中相位a是在区间(0,2π)上均匀分布的随机变量,使用Matlab编程产生其三个样本函数。 解: 源程序如下: clc;clear; C=2*pi*rand(1,3);%在[0,2π]产生均匀分布的相位角 t=1:.1:80; y1=5*cos(t+C(1)); %将产生的随机相位角逐一代入随机过程中 y2=5*cos(t+C(2)); %将产生的随机相位角逐一代入随机过程中 y3=5*cos(t+C(3)); %将产生的随机相位角逐一代入随机过程中 plot(t,y1,'r-'); hold on; plot(t,y2,'g--'); hold on; plot(t,y3,'k-'); xlabel('t');ylabel('X(t)'); grid on;axis([0 30 -8 8]); title('随机相位的三条样本曲线'); 产生的三条样本曲线:

第二题:利用Matlab程序设计一正弦型信号加高斯白噪声的复合信号。(1)分析复合信号的功率谱密度、幅度分布特性; (2)分析复合信号通过RC积分电路后的功率谱密度和相应的幅度分布特性; (3)分析复合信号通过理想低通系统后的功率谱密度和相应的幅度分布特性。 解:设定正选信号的频率为10HZ,抽样频率为100HZ x=sin(2*pi*fc*t)

(1)正弦函数加上高斯白噪声: y=awgn(x,10) y 的幅度分布特性可以通过傅里叶变换得到: Y(jw)=fft(y) y 的功率谱密度: G(w)=Y(jw).*conj(Y(jw)/length(Y(jw))) 随机序列自相关函数的无偏估计公式为: 1 01()()()N m xx n R m x n x n m N m --==+-∑ 01m N ≤≤- (2)复合信号 y 通过RC 积分电路后得到信号y2 通过卷积计算可以得到y2 即:y2= conv2(y,b*pi^-b*t) y2的幅度分布特性可以通过傅里叶变换得到: Y2(jw)=fft(y2) y2的功率谱密度: G2(w)=Y2(jw).*conj(Y2(jw)/length(Y2(jw))) (3)复合信号 y 通过理想滤波器电路后得到信号y3 通过卷积计算可以得到y3 即:y3=conv2(y,sin(10*t)/(pi*t)) y3的幅度分布特性可以通过傅里叶变换得到: Y3(jw)=fft(y3) y3的功率谱密度: G3(w)=Y3(jw).*conj(Y3(jw)/length(Y3(jw)))

人工智能大作业

第一章 1、3 什么就是人工智能?它的研究目标就是什么? 人工智能(Artificial Intelligence),英文缩写为AI。它就是研究、开发用于模拟、延伸与扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 研究目标:人工智能就是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理与专家系统等。 1、7 人工智能有哪几个主要学派?各自的特点就是什么? 主要学派:符号主义,联结主义与行为主义。 1.符号主义:认为人类智能的基本单元就是符号,认识过程就就是符号表示下的符号计算, 从而思维就就是符号计算; 2.联结主义:认为人类智能的基本单元就是神经元,认识过程就是由神经元构成的网络的信 息传递,这种传递就是并行分布进行的。 3.行为主义:认为,人工智能起源于控制论,提出智能取决于感知与行动,取决于对外界复 杂环境的适应,它不需要只就是,不需要表示,不需要推理。 1、8 人工智能有哪些主要研究与应用领域?其中有哪些就是新的研究热点? 1、研究领域:问题求解,逻辑推理与定理证明,自然语言理解,自动程序设计,专家系统,机器 学习,神经网络,机器人学,数据挖掘与知识发现,人工生命,系统与语言工具。 2、研究热点:专家系统,机器学习,神经网络,分布式人工智能与Agent,数据挖掘与知识发 现。 第二章 2、8 用谓词逻辑知识表示方法表示如下知识: (1)有人喜欢梅花,有人喜欢菊花,有人既喜欢梅花又喜欢菊花。 三步走:定义谓词,定义个体域,谓词表示 定义谓词 P(x):x就是人

西电数字信号处理大作业

第二章 2.25 已知线性时不变系统的差分方程为 若系统的输入序列x(x)={1,2,3,4,2,1}编写利用递推法计算系统零状态响应的MATLAB程序,并计算出结果。 代码及运行结果: >> A=[1,-0.5]; >> B=[1,0,2]; >> n=0:5; >> xn=[1,2,3,4,2,1]; >> zx=[0,0,0];zy=0; >> zi=filtic(B,A,zy,zx); >> yn=filter(B,A,xn,zi); >> figure(1) >> stem(n,yn,'.'); >> grid on;

2.28图所示系统是由四个子系统T1、T2、T3和T4组成的,分别用单位脉冲响应或差分方程描述为 T1: 其他 T2: 其他 T3: T4: 编写计算整个系统的单位脉冲响应h(n),0≤n≤99的MATLAB程序,并计算结果。 代码及结果如下: >> a=0.25;b=0.5;c=0.25; >> ys=0; >> xn=[1,zeros(1,99)]; >> B=[a,b,c]; >> A=1; >> xi=filtic(B,A,ys); >> yn1=filter(B,A,xn,xi); >> h1=[1,1/2,1/4,1/8,1/16,1/32]; >> h2=[1,1,1,1,1,1]; >> h3=conv(h1,h2); >> h31=[h3,zeros(1,89)]; >> yn2=yn1+h31; >> D=[1,1];C=[1,-0.9,0.81]; >> xi2=filtic(D,C,yn2,xi); >> xi2=filtic(D,C,ys); >> yn=filter(D,C,yn2,xi); >> n=0:99; >> figure(1) >> stem(n,yn,'.'); >> title('单位脉冲响应'); >> xlabel('n');ylabel('yn');

数据结构大作业-纸牌游戏

数据结构课程设计大作业 题目纸牌游戏 专业计算机科学与技术 学生姓名 __________________ 学号 _____________________ 指导教师 __________________ 完成日期 __________________ 信息与工程学院

目录 一、实验内容概述(设计任务与技术要求) (1) 二、实验目的概述(总体设计方案) (1) 三、解题思路的描述(数据结构和算法的设计): (1) 四、源程序清单(源程序中应该附有必要的注释) (2) 五、程序调试及测试结果 (4) 六、结论 (4) 七、参考文献 (5)

【内容摘要】 编号为1~52的牌,正面向上,从第二张开始,以2为基数,是2的倍数的牌翻一次,直到最 后一张牌;然后,从第三张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后从 第四张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;依次类推,知道所有以52 为基数的牌翻过一次。输出:这时正面向上的牌有哪些? 【关键字】 52张纸牌,倍数,基数,数组 【Abstract 】 Numbered 1 to 52 cards, face up, starting from the second to 2 as the base, is a multiple of 2 cards turning on ce, un til the last card; and the n, begi nning from the third to 3 as the base,is a multiple of 3 cards turning once, un til the last card; and the n start from the fourth to 4 as the base, is a multiple of 4 cards turning once, un til the last card; and so on, that was all of 52base of the card turned over on ce.Output: At this time what the cards face up? 【Key words 】 52 cards, multiple, base, array

随机信号分析大作业

随机信号分析实验报告 信息25班 2120502123 赵梦然

作业题三: 利用Matlab 产生一个具有零均值、单位方差的的高斯白噪声随机序列X(n),并通过一脉冲响应为 (0.8)(0)0 n n h n else =≥??? 的线性滤波器。 (1) 产生一个具有零均值、单位方差的的高斯白噪声随机序列X(n),检验其一维概率密度函 数是否与理论相符。 (2) 绘出输入输出信号的均值、方差、自相关函数及功率谱密度的图形,讨论输出信号服从 何种分布。 (3) 试产生在[-1,+1]区间均匀分布的白噪声序列,并将其替换高斯白噪声通过上述系统。 画出此时的输出图形,并观察讨论输出信号服从何种分布。 作业要求 (1) 用MATLAB 编写程序。最终报告中附代码及实验结果截图。 (2) 实验报告中必须有对实验结果的分析讨论。 提示: (1) 可直接使用matlab 中已有函数产生高斯白噪声随机序列。可使用hist 函数画出序列的 直方图,并与标准高斯分布的概率密度函数做对比。 (2) 为便于卷积操作,当N 很大时,可近似认为h(N)=0。卷积使用matlab 自带的conv 函 数。 (3) 分析均值、方差等时,均可使用matlab 现有函数。功率谱密度和自相关函数可通过傅 里叶变换相互获得。傅里叶变换使用matlab 自带的fft 函数。 (4) 作图使用plot 函数。

一、作业分析: 本题主要考察的是加性高斯白噪声相关问题,因此构造一个高斯白噪声十分重要,故在本题中使用randn函数随机生成一个个符合高斯分布的数据,并由此构成高斯白噪声;而且由于白噪声是无法完全表示的,故此根据噪声长度远大于信号长度时可视为高斯白噪声,构造了一个长度为2000的高斯白噪声来进行试验。 二、作业解答: (1)matlab程序为: x-1000:1:1000; k=1*randn(1,length(x));% 生成零均值单位方差的高斯白噪声。 [f,xi]=ksdensity(x);%利用ksdensity函数估计样本的概率密度。 subplot(1,2,1); plot(x,k); subplot(1,2,2); plot(xi,f); 实验结果为:

西安电子科技大学人工智能试题

1.(该题目硕士统招生做)请用框架法和语义网络法表示下列事件。(10分) 2015年2月20日上午11点40分,广东省深圳市光明新区柳溪工业园附近发生山体滑坡,经初步核查,此次滑坡事故共造成22栋厂房被掩埋,涉及公司15家,截至目前已安全撤离900人,仍有22人失联。 答:框架表示法(5分):(给分要点:确定框架名和框架槽,根据报道给出的相关数据填充,主要内容正确即可给分,不必与参考答案完全一致) <山体滑坡> 时间:2015年2月20日上午11点40分 地点:广东省深圳市光明新区柳溪工业园附近 掩埋厂房:22栋 涉及公司数目:15家 安全撤离人数:900人 失联人数:22人 语义网络表示法(5分):(给分要点:确定语义网络的节点及其连接关系,根据报道内容进行填充,主要内容正确即可给分,不必与参考答案完全一致) 1. (该题目全日制专业学位硕士做)请用一种合适的知识表示方法来表示下面知识。(10分) How Old Are YOU是微软推出的一款测年龄应用,该应用架设在微软服务平台Azure上,该平台具有机器学习的开发接口,第三方开发者可以利用相关的接口和技术,分析人脸照片。

(给分要点:采用合适的知识表示方法,正确即可给分,不必与参考答案完全一致) 答: 类属(继承):<应用程序> 用途:测年龄 开发者:微软 服务平台: 开发接口:机器学习 用途:分析人脸照片 2.(该题目硕士统招生做)请用归结反演的方法求解下述问题。(15分) 已知:张和李是同班同学,如果x和y是同班同学,则x的教室也是y的教室,现在张在302教室上课。 问:现在李在哪个教室上课? 解:第一步:定义谓词;(谓词不一定与参考答案完全相同,只要正确表示即可给分)(3分)C(x, y) x和y是同班同学; At(x, u) x在u教室上课。 第二步:根据定义的谓词写出上述知识的谓词表示,并化成子句集;(6分) 把已知前提用谓词公式表示如下: C(zhang, li) (?x) (?y) (?u) (C(x, y)∧At(x, u)→At(y,u)) At(zhang, 302) 把目标的谓词公式表示如下: (?v)At(li, v) 把上述公式化为子句集: (1) C(zhang, li) (2) ﹁C(x, y)∨﹁At(x, u)∨At(y, u) (3) At(zhang, 302) 把目标的否定化成子句式: (4) ﹁At(li,v) ∨Answer(v) 第三步:使用归结原理对子句集进行归结;(6分)(注意:具体的归结顺序不一定和参考答案完全一致,只要归结过程正确,最后得到的答案正确即可给分)

西电数据结构大作业

题目:数据结构上机报告学院:电子工程学院 专业:信息对抗技术 学生姓名:甘佳霖 学号:14020310092

西安电子科技大学 数据结构课程实验报告实验名称线性表 电子工程学院 1402031 班Array姓名甘佳霖学号 14020310092 同作者 实验日期 2017 年 3 月 18 日

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验要求 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n, e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。 三、设计思路 1.顺序表做逆置操作时将对应的首尾元素位置交换,单链表的指针end指向链表的末尾,指针start指向链表头结点,指针s用来找到指向end节点的节点,将指向链表末尾和头结点的存储内容交换,然后头结点指针指向下一节点,s指针从start节点开始遍历寻找指向end 指针的节点,并将end指针赋值为s指针,就完成了单链表的逆置,可以看出单链表和顺序表都可以完成线性表的逆置。 2.分解单链表的实现思路是首先新建3个循环链表,然后顺序遍历单链表,ASCII码判断链表中的元素属于哪一类元素,然后将这个元素添加到对应的循环链表中,从而实现分解单链表的功能。 四、运行结果 1.单链表逆置:

西电电院人工智能课程大作业

西电人工智能大作业

八数码难题 一.实验目的 八数码难题:在3×3的方格棋盘上,摆放着1到8这八个数码,有1个方格是空的,其初始状态如图1所示,要求对空格执行空格左移、空格右移、空格上移和空格下移这四个操作使得棋盘从初始状态到目标状态。例如: (a) 初始状态 (b) 目标状态 图1 八数码问题示意图 请任选一种盲目搜索算法(深度优先搜索或宽度优先搜索)或任选一种启发式搜索方法(A 算法或 A* 算法)编程求解八数码问题(初始状态任选),并对实验结果进行分析,得出合理的结论。 本实验选择宽度优先搜索:选择一个起点,以接近起始点的程度依次扩展节点,逐层搜索,再对下一层节点搜索之前,必先搜索完本层节点。 二.实验设备及软件环境 Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI 等编程语言。 三.实验方法 算法描述: (1)将起始点放到OPEN表; (2)若OPEN空,无解,失败;否则继续; (3)把第一个点从OPEN移出,放到CLOSE表; (4)拓展节点,若无后继结点,转(2); (5)把n的所有后继结点放到OPEN末端,提供从后继结点回到n的指针; (6)若n任意后继结点是目标节点,成功,输出;否则转(2)。

流程图:

代码: #include #include typedef struct Node { int num[9]; //棋盘状态 int deepth; //派生的深度 g(n) int diffnum; //不在位的数目 h(n) int value; //耗散值 f(n)=g(n)+h(n) struct Node * pre; struct Node * next; struct Node * parent; }numNode; /* ---------- end of struct numNode ---------- */ int origin[9]; //棋盘初始状态 int target[9]; //棋盘目标状态 int numNode_num,total_step; numNode *open,*close; //Open表和Close表 numNode *create_numNode() { return (numNode *)malloc(sizeof(numNode)); } numNode *open_getfirst(numNode *head); //返回第一项,并从Open表中删除

数据结构大作业题目

《数据结构大作业》要求 一、作业目的 1、掌握用数据结构的知识进行Java或者C程序设计。 2、应用所学的数据结构完成一个具有一定实际意义的应用程序的设计、编码、调试,锻炼 实践动手能力,提高编程水平。 二、作业内容 1、图书管理系统 问题描述:实现图书管理系统,主要为图书管理员和借阅者提供管理和查询服务。 基本功能要求: 程序必须采用链表数据结构实现。 图书信息至少包括以下信息:书名,ISBN、作者、出版社、出版时间,入库时间,库存量(图书馆购买此书的数目),借阅数(被借阅的本数)。 图书管理员身份可以完成以下操作: (1)录入:增加一本图书信息; (2)删除:删除某一本图书的信息; (3)修改:修改某一本图书的信息; (4)查询:根据书名或图书ISBN等查询图书信息(可选择:简单条件查询,组合 条件查询等)。 (5)排序:根据书名或入库时间等信息进行排序,尽可能提高查找和维护性能; (6)借书:借出一本书,该书的借阅量增加一本。 (7)还书:还回一本书,该书的借阅量减少一本。 (8)统计:统计所有的借出的图书数目,即:所有图书借阅量之和。 (9)输出:输出所有图书的所有信息,要求格式清晰,方便查看。 扩展功能要求: (1)导出:把用户信息导出到文件中保存; (2)实现图形用户界面与用户进行交互。 2、学生管理系统 必须完成学籍登记表中的下面功能。 登记表中包括:学号、姓名、班级(如:13级软件1班)、性别、手机号码、选修课程等信息。 程序必须采用链表数据结构实现; (1)插入:将某学生的基本信息插入到登记表中; (2)删除:将满足条件的基本信息删除; (3)修改:对基本信息的数据项进行修改;

人工智能大作业翻译

Adaptive Evolutionary Artificial Neural Networks for Pattern Classification 自适应进化人工神经网络模式分类 Abstract—This paper presents a new evolutionary approach called the hybrid evolutionary artificial neural network (HEANN) for simultaneously evolving an artificial neural networks (ANNs) topology and weights. Evolutionary algorithms (EAs) with strong global search capabilities are likely to provide the most promising region. However, they are less efficient in fine-tuning the search space locally. HEANN emphasizes the balancing of the global search and local search for the evolutionary process by adapting the mutation probability and the step size of the weight perturbation. This is distinguishable from most previous studies that incorporate EA to search for network topology and gradient learning for weight updating. Four benchmark functions were used to test the evolutionary framework of HEANN. In addition, HEANN was tested on seven classification benchmark problems from the UCI machine learning repository. Experimental results show the superior performance of HEANN in fine-tuning the network complexity within a small number of generations while preserving the generalization capability compared with other algorithms. 摘要——这片文章提出了一种新的进化方法称为混合进化人工神经网络(HEANN),同时提出进化人工神经网络(ANNs)拓扑结构和权重。进化算法(EAs)具有较强的全局搜索能力且很可能指向最有前途的领域。然而,在搜索空间局部微调时,他们效率较低。HEANN强调全局搜索的平衡和局部搜索的进化过程,通过调整变异概率和步长扰动的权值。这是区别于大多数以前的研究,那些研究整合EA来搜索网络拓扑和梯度学习来进行权值更新。四个基准函数被用来测试的HEANN进化框架。此外,HEANN测试了七个分类基准问题的UCI机器学习库。实验结果表明在少数几代算法中,HEANN在微调网络复杂性的性能是优越的。同时,他还保留了相对于其他算法的泛化性能。 I. INTRODUCTION Artificial neural networks (ANNs) have emerged as a powerful tool for pattern classification [1], [2]. The optimization of ANN topology and connection weights training are often treated separately. Such a divide-and-conquer approach gives rise to an imprecise evaluation of the selected topology of ANNs. In fact, these two tasks are interdependent and should be addressed simultaneously to achieve optimum results. 人工神经网络(ANNs)已经成为一种强大的工具被用于模式分类[1],[2]。ANN 拓扑优化和连接权重训练经常被单独处理。这样一个分治算法产生一个不精确的评价选择的神经网络拓扑结构。事实上,这两个任务都是相互依存的且应当同时解决以达到最佳结果。

数据结构大作业(试题题目)

浙江大学城市学院实验报告 课程名称数据结构基础 实验项目名称实验九栈的应用 学生姓名丁汀专业班级信管1006 学号31001444 实验成绩指导老师(签名)日期 一.实验目的和要求 1、学会通过对问题的分析,设计一种合理的数据结构,并进行定义及操作的实现。 2、掌握利用栈各种操作来进行具体的实际应用。 3、加强综合程序的分析、设计能力。 二.实验内容 1、共享栈的设置,问题描述如下: 在一个数组空间stack[MaxSize]中可以同时存放两个顺序栈,栈底分别处在数组的两端,当第1个栈的栈顶指针top1等于-1时则栈1为空,当第2个栈的栈顶指针top2等于MaxSize时则栈2为空。两个栈均向中间增长,当有元素向栈1进栈时,使top1增1得到新的栈顶位置,当有元素向栈2进栈时,使top2减1得到新的栈顶位置。当top1==top2-1或top1+1==top2时,存储空间用完,无法再向任一栈做进栈操作,此时可考虑给出错误信息并停止运行。 要求: ⑴给出共享栈的顺序存储类型定义。 ⑵给出共享栈的抽象数据类型定义。 ⑶建立头文件test9_stack.h,包含共享栈的基本操作实现函数;建立主程序文件test9.cpp,在主函数中对共享栈的各个操作进行测试。 2、利用上述共享栈,实现火车车厢的调度模拟 设火车车厢分为三类:硬座、硬卧、软卧,分别用A、B、C表示。下图描述车厢调度的示意图,图中右端为排列无序的车厢,左端为调度后的车厢排列,使得所有软卧车厢在最前面、所有硬卧车厢在中间、所有硬座车厢在最后。 编程模拟上述车厢调度过程。 提示:两个辅助铁轨相当于两个栈,右端车厢进入用相应字符串给出,如“BBACBCAABBCAA”,左端车厢的用新生成的字符串给出。在test9_stack.h 给出模拟函数,并在主函数中进行调用测试。

人工智能大作业

人工智能基础 大作业 —---八数码难题 学院:数学与计算机科学学院 班级:计科14—1 姓名:王佳乐 学号:12 2016、12、20 一、实验名称 八数码难题得启发式搜索 二、实验目得 八数码问题:在3×3得方格棋盘上,摆放着1到8这八个数码,有1个方格就是空得,其初始状态如图1所示,要求对空格执行空格左移、空格右移、空格上移与空格下移这四个操作使得棋盘从初始状态到目标状态. 要求:1、熟悉人工智能系统中得问题求解过程; 2、熟悉状态空间得启发式搜索算法得应用; 3、熟悉对八数码问题得建模、求解及编程语言得应用。 三、实验设备及软件环境 1.实验编程工具:VC++ 6、0 2.实验环境:Windows7 64位 四、实验方法:启发式搜索 1、算法描述 1.将S放入open表,计算估价函数f(s)

2.判断open表就是否为空,若为空则搜索失败,否则,将open表中得第 一个元素加入close表并对其进行扩展(每次扩展后加入open表中 得元素按照代价得大小从小到大排序,找到代价最小得节点进行扩展) 注:代价得计算公式f(n)=d(n)+w(n)、其中f(n)为总代价,d(n)为节点得度,w(n)用来计算节点中错放棋子得个数. 判断i就是否为目标节点,就是则成功,否则拓展i,计算后续节点f(j),利用f(j)对open表重新排序 2、算法流程图: 3、程序源代码: #include<stdio、h> # include<string、h> # include # include〈stdlib、h> typedef struct node{ ?int i,cost,degree,exp,father; ?int a[3][3]; ?struct node *bef,*late;

算法设计与分析课程大作业

题目作业调度问题及算法分析 学院名称:计算机与信息工程学院 专业名称:计算机科学与技术

目录 《算法设计与分析》课程大作业.................................................................... 错误!未定义书签。一.动态规划算法解决流水作业调度. (4) 1、问题描述 (4) 2、算法分析 (4) 3. 算法的描述 (5) 4、部分算法实现 (6) 5. 运行结果 (8) 6、时空效率分析 (8) 二.贪心算法解多机调度问题 (8) 1、问题描述 (8) 2、算法分析 (9) 3.部分算法实现 (9) 4.计算复杂性分析 (11) 5. 运行结果 (12) 三.回溯法解决批作业调度问题 (12) 1.问题描述 (12) 2.算法思想 (13) 3. 部分算法实现 (14) 4.运行结果 (15) 5.时间复杂性分析 (15) 四.作业调度算法比较 (16) 五.课程学习总结 (16)

摘要: 在现代企业中,作业调度已成为提高资源利用率、从而提高企业运行效益的关键环节之一。把各个作业分配到车间现有的设备上,并确定它们的先后次序,这是一项复杂的工作本文就作业调度排序问题进行了研究,通过对几个经典作业调度算法的分析讨论,总结了各个算法对作业调度的求解过程,并给出了每个算法的复杂度及性能分析。 关键词:作业调度;动态规划;贪心算法;回溯法;

一.动态规划算法解决流水作业调度 1、问题描述 给定n 个作业,每个作业有两道工序,分别在两台机器上处理。一台机器一次只能处理一道工序,并且一道工序一旦开始就必须进行下去直到完成。一个作业只有在机器1上的处理完成以后才能由机器2处理。假设已知作业i 在机器j 上需要的处理时间为t[i,j]。流水作业调度问题就是要求确定一个作业的处理顺序使得尽快完成这n 个作业。 2、算法分析 直观上,一个最优调度应使机器M1没有空闲时间,且机器M2的空闲时间最少。在一般情况下,机器M2上会有机器空闲和作业积压2种情况。 在一般情况下,机器M1开始加工S 中作业时,机器M2还在加工其他作业,要等时间t 后才可利用。将这种情况下完成S 中作业所需的最短时间记为T(S,t)。流水作业调度问题的最优值为T(N,0)。 由流水作业调度问题的最优子结构性质可知, )}},{({min )0,(1i i n i b i N T a N T -+=≤≤(1)

2016年下半学期西电嵌入式系统设计大作业解析

嵌入式系统设计大作业 授课老师:孙江敏 学院:计算机学院 学生姓名: 学号: 日期:2016年6月12日

嵌入式系统设计大作业 1、判断题 ( ×)1.嵌入式系统调试通常可以分为硬件级调试和在线仿真器调试。 ( √)2.在ARM处理器中,快速中断(FIQ)的优先级高于外部中断(IRQ)。( ×)3.ROM能够永久或半永久地保存数据,ROM内的数据永远不会丢失。( √)4.内建测试系统(BIST)是SoC片上系统的重要结构之一,JTAG测试接口是IC 芯片测试方法的标准。 ( ×)5.VHDL的基本单元描述不包括库。 ( ×)6.嵌入式ARM架构的嵌入式处理器同时支持大端、小端(Big/Little-Endian)数据类型。 ( ×)7.嵌入式操作系统通常采用整体式内核或层次式内核的结构。 ( ×)8.ARM7TDMI中的T代表增强型乘法器。 ( ×)9.看门狗(Watch Dog)实际是一个简单的定时器,在固定时间内若正常清零,则自动复位处理器。 ( √)10.ARM-CPU由多家不同制造商生产,芯片外部提供的总线是不一致的。( √)11.Linux 内核稳定、功能强大并且可以裁减,因为非常适合嵌入式应用。( √)12.Linux 内核的中断服务程序运行于与所有进程都无关的中断上下文中。( √)13.Linux遵循POSIX标准,意味着绝大多数UNIX应用程序不需要任何改动就可以在Linux系统上编译且运行。 ( ×)14.Linux内核支持可以裁减的功能,因此它属于微内核架构。 ( √)15.Linux在fork()时采用了写时拷贝(简称COW)技术,允许父进程和子进程同时共享相同的物理页面。 ( √)16.任何一个Linux应用程序都需要调用exit()函数。 ( √)17.当前的Linux调度算法非常高效,但是查找当前最高优先级的可运行程序时,开销会随着可运行程序的多少而变化。 ( √)18.Linux的系统调用是作为C库的一部分提供的。 ( ×)19.为了对硬件做出迅速的响应并完成对时间严格的操作,中断处理下半部必须在关中断状态下执行。 ( ×)20.Linux的内存管理采用了分页的机制,因此即使是内核本身也全部是分页的。 ( ×)21.嵌入式系统由上到下主要分为3个层次:应用软件层,系统软件层,硬件层。 ( ×)22.嵌入式系统的软硬件是独立设计的。 ( √)23.嵌入式系统设计需要建立交叉开发环境。 ( √)24.通用系统程序开发不需要建立和使用交叉编译环境。 ( √)25.对于C++代码,gcc命令只能编译其源文件,而不能自动和C++程序使用的库链接。 ( √)26.嵌入式系统可以没有操作系统。

相关主题
文本预览
相关文档 最新文档