嵌入式系统设计期末大作业
嵌入式系统设计大作业
嵌入式系统设计大作业1、叙述JTAG接口在嵌入式开发中的作用。
答:(1)用于烧写FLASH烧写FLASH的软件有很多种包括jatg.exe fluted flashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上是没有jtag接口的,所以利用并口来传递信息给目标板的jtag接口。
所以就需要并口转jtag接口的电路。
(2)用于调试程序同时应该注意到jtag接口还可以用来调试程序。
而调试程序(如ARM开发组件中的AXD)为了通过jtag接口去调试目标板上的程序,同样是使用pc的并口转jtag接口来实现与目标板的通信。
这样,并口转jtag接口的电路就有了两种作用。
(3)仿真器根据(1)和(2)的总结,并口转jtag接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫仿真器。
并口转jtag接口的电路有很多种,有简单有复杂的,常见的仿真器有Wigger,EasyJTAG,Multi-ICE等。
这些所谓的仿真器的内部电路都是并口转jtag接口,区别只是电路不同或使用的技术不同而已。
2、叙述嵌入式平台的搭建过程,以linux为例。
答:1) 一:建立宿主机开发环境建立交叉编译的环境即在宿主机上安装与开发板相应的编译器及库函数,以便能够在宿主机上应用开发工具编译在目标板上运行的Linux引导程序,内核,文件系统和应用程序交叉编译:在特殊的环境下,把嵌入式程序代码编译成不同的CPU所对应的机器代码。
开发时使用宿主机上的交叉编译,汇编及工具形成可执行的二进制代码(该代码只能在开发板上执行),然后下载到开发板上运行2) 下载和安装arm-Linux-gcc编译工具链下载最新的arm-Linux-gcc并解压至当前目录下在系统配置文件profile中设置环境变量方法:直接在profile文件中加入搜索路径立即使新的环境变量生效:运行source命令,检查是否将路径加入到path,测试是否安装成功,编译程序,测试交叉工具链3) 配置超级终端mini mini是宿主机与目标板进行通信的终端:在宿主机Linux终端中输入:mini-s或输入mini然后按ctrl+A+O对超级终端mini进行配置,再选择串口并配置串口,最后保存即可4) 建立数据共享服务:NFS服务是Linux系统中经常使用的数据文件共享服务5) 编译嵌入式系统内核:内核配置,建立依存关系,建立内核6) 制作文件系统3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品?体系结构是什么?S3C2410X基于ARM的Sumsang;XscalePXA255/PXA270基于ARM的Intel;摩托罗拉MC基于68k;Power 601基于Power PC;MIPS32Kc基于MIPS4、现今较流行的嵌入式操作系统有哪些?答:(1) VxWorks(2)wince(3)linux(4)android(5)μC/OS-Ⅱ5、PXA270嵌入式开发板的接口有哪些?答:全双工异步串行口和硬件流控制串行口,10M标准以太网接口10M/100M标准以太网接口,USB接口,红外通讯口,音频接口,存储卡口,视频和触摸屏接口摄像头接口,RTC时钟接口,调试接口,下载接口,电源接口。
嵌入式系统学习期末作业
一、V MWare创建和RED HAT Linux1)首先,创建一个新的虚拟机,如下图点击2)点击下一步,在我们按照向导来规划虚拟机,当然有经验的也可以使用“用户模式”,因为里面对内存等硬件有额外的配置过程,我在这里面按照向导来3)选择想要虚拟的操作系统,其实怎么选都可以,只是一个名字,我在这使用默认的“微软操作系统”,下面的下拉列表框中,我选择的是Vista,因为选择Win XP,默认会给8G的硬盘空间,当然,我这么选也是想过后不再手动调节罢了。
如图是部分安装步骤:4)用虚拟光驱打开ISO文件,将其导入安装目录。
5)选择Linux操作6)选择虚拟机在硬盘的保存目录,为你的虚拟机命名,我写的是“win7_7000”,存储路径是剩余空间较大的任一硬盘。
7)选择虚拟机占用硬盘空间大小,以文件形式,因为没有太多需要就使用8G。
到此,分配硬盘空间,创建虚拟机是完成了,下一步,我们将要在虚拟机中安装Win7。
(我用的是“用户模式”来设置的虚拟机,所以在内存大小上会有出入。
)8)注意在安装过程中,虚拟机硬盘分区:100M大小的boot区2倍RAM大小的SWAP区剩下为根文件系统挂载区(常用ext3文件系统)9)10)安装完毕启动linux系统11)登录系统12)本系统用户超级管理员:用户名:root 密码:tc普通用户:用户名:tc 密码:123456一、安装VMware Tools1、在虚拟机工具栏选择虚拟机(M) 安装VMware tools,如图所示:点击安装VMware Tools,则在linux桌面会出现这样一个光盘图标:,将这个文件拷贝到home文件夹,打开终端,在终端里输入这些代码将这个文件进行解压,得到这样一个文件,在终端可以输入ls命令查看这个文件,键入命令cd vmwarw-tools-distrib./vmwarw-install.pl回车,就可以开始安装(建议使用默认配置,按enter键就可以了),选择12分频,再注销,到[EXPERIMENTAL]选择NO,这样虚拟工具就安装好了。
嵌入式操作系统期末大作业
2015-2016学年第一学期期末大作业课程名称嵌入式操作系统专业班级电信1304学生学号31302319学生姓名陈鸿烨任课教师王群华题序一二三四总分得分一、系统安装与NFS配置(20分)(在以下2题中任选一题,并删除另一题的题目)1.学习Linux操作系统最好的方法之一就是自己安装它,建立一个属于自己的学习平台。
请在你的电脑上安装虚拟机上,然后在虚拟机上安装Linux操作系统。
所需软件请自行从网上下载,要求写出安装步骤(可用截图配合表示),同时创建一个以自己姓名和学号命名的普通用户。
二、/etc/下的配置文件的使用(共20分)1.假设某linux系统开机默认进入图形界面。
可否更改设置每次开机进入字符界面,并且系统可以自动挂载光驱和U盘。
请说明配置过程,给出所修改的文件的代码。
(10分) /etc/fstab添加:/dev/cdrom /目录ext3 defaults 0 0/dev/sda1 /目录ext3 defaults 0 02.配置sudoers文件,实现任何普通用户都拥有关机与更改他人密码(root除外)的权限。
(10分)zucc myhost=(root) NOPASSWD /usr/bin/reboot./sur/bin/passwdroot ALL=(ALL)ALL## Allows members of the “sys” group to run networking. Software.Snun ALL=NETWORKING SOFTWARE SEQVIGES STORGE DELEGATING ROCESS三、读程题(共20分)1.分析下面的程序,简要说明整体功能,并解释每条语句。
#!/bin/bash #使用/bin/bash解释脚本val=$1 #将位置变量1赋值给变量valwhile (test $val –lt 6) #判断val的值是否小于6do touch file$val #当判断语句成立则创建文件date>>file$val #在文件的末尾追加时间val=’expr $val + 1’#在循环中用于val的增量计算done #循环结束2.分析下面的程序,简要说明整体功能,并解释每条语句。
嵌入式期末试题及答案
嵌入式期末试题及答案[注意:本文章以题目的方式展示试题及答案,下文并未出现实际试题]引言在嵌入式系统的学习中,期末试题是评估学生对于该学科知识和技能掌握程度的重要方式之一。
本文将为大家提供一份嵌入式期末试题及答案,帮助大家更好地准备和复习期末考试内容。
多选题1. 下列哪些是嵌入式系统的特征?(多选)a. 嵌入式系统通常包含少量资源b. 嵌入式系统的应用范围广泛c. 嵌入式系统的功耗可以忽略不计d. 嵌入式系统的性能要求较低答案:a、b2. 嵌入式系统中,以下哪项属于输入设备?(多选)a. 键盘b. USB接口c. 音箱d. 显示器答案:a、b、d填空题3. 嵌入式系统是指将计算机技术和________集成的特定功能设备。
答案:电子技术4. 嵌入式系统的一个重要特点是对系统的稳定性和________性的要求较高。
答案:可靠简答题5. 简述嵌入式系统和通用计算机的区别。
答案:嵌入式系统通常针对特定的应用领域,它的硬件资源和软件功能相对简单,功耗低,且具有可靠性要求高的特点。
通用计算机则更注重通用性,能够运行复杂的应用软件,它的硬件资源和软件功能相对丰富。
编程题6. 编写一个C语言程序,实现将一个整数数组逆序输出的功能。
答案:```c#include <stdio.h>void reverseArray(int arr[], int size) { int start = 0;int end = size - 1;while (start < end) {int temp = arr[start];arr[start] = arr[end];arr[end] = temp;start++;end--;}}int main() {int arr[] = {1, 2, 3, 4, 5};int size = sizeof(arr) / sizeof(arr[0]); reverseArray(arr, size);for (int i = 0; i < size; i++) {printf("%d ", arr[i]);}return 0;}```总结本文提供了一份嵌入式期末试题及答案,涵盖了嵌入式系统的特征、输入设备、嵌入式系统和通用计算机的区别以及编程题等内容。
嵌入式期末考试卷十套
嵌入式期末考试卷十套嵌入式系统期末考试卷一、选择题(每题2分,共20分)1. 嵌入式系统通常是指:A. 用于嵌入式应用的软件B. 运行在嵌入式设备上的操作系统C. 一种小型的计算机系统,用于控制或监视设备D. 一种大型的计算机系统,用于复杂的数据处理2. 下列哪项不是嵌入式系统的特点:A. 可扩展性B. 实时性C. 资源受限D. 专用性3. 嵌入式操作系统(RTOS)的主要功能不包括:A. 任务调度B. 内存管理C. 文件系统管理D. 网络通信4. 以下哪个不是嵌入式系统中的编程语言:A. CB. C++C. JavaD. Python5. 在嵌入式系统中,中断服务程序(ISR)的主要作用是:A. 执行系统初始化B. 处理系统异常C. 响应外部事件D. 执行定时任务6. 以下哪个不是嵌入式系统开发过程中的步骤:A. 需求分析B. 系统设计C. 硬件选型D. 软件测试7. 在嵌入式系统中,固件通常指的是:A. 硬件B. 软件C. 介于硬件和软件之间的程序D. 操作系统8. 以下哪个是嵌入式系统开发中常用的硬件描述语言:A. VHDLB. HTMLC. XMLD. SQL9. 在嵌入式系统中,看门狗定时器的主要作用是:A. 监控系统时间B. 监控系统温度C. 监控系统电源D. 监控系统运行状态,防止死锁10. 以下哪个是嵌入式系统中的存储设备:A. RAMB. ROMC. 硬盘D. 显示器二、填空题(每空1分,共10分)1. 嵌入式系统的核心是______,它负责协调和管理整个系统。
2. 嵌入式系统软件通常由______、应用程序和设备驱动程序组成。
3. 嵌入式系统中的中断优先级是指中断服务程序的______。
4. 嵌入式系统中,______是一种常见的通信协议,用于设备间的通信。
5. 在嵌入式系统中,______是一种用于存储程序和数据的非易失性存储器。
6. 嵌入式系统中的______是用于控制和管理硬件资源的软件。
《嵌入式系统开发基础》期末考试试卷附答案
《嵌入式系统开发基础》期末考试试卷附答案一、填空题(共20小题,每小题3分,共60分)1、以下哪个不是嵌入式系统设计的主要目标?()A、低成本B、低功耗C、实时要求高D、超高性能2、嵌入式系统有别于其他系统的最大特点是()。
A、嵌入专用B、高可靠C、低功耗D、低成本3、下面哪个系统属于嵌入式系统。
()A、“天河一号”计算机系统B、联想 T400 笔记本计算机C、联想 S10 上网本D、联想 OPhone 手机4、下面哪个系统不属于嵌入式系统()。
A、MP3 播放器B、GPS 接收机C、“银河玉衡”核心路由器D、“银河”巨型计算机5、下面哪个系统属于嵌入式系统。
A、“银河”巨型计算机B、MP4 播放器C、“曙光”计算机D、IBM X60 笔记本计算机6、从层次结构来看,嵌入式系统包括()。
A、硬件层B、板级支持包C、实时操作系统和应用软件D、以上都是7、在嵌入式系统设计中,嵌入式处理器选型是在进行()时完成A、需求分析B、系统集成C、体系结构设计D、软硬件设计8、在嵌入式系统设计中,嵌入式操作系统选型是在进行()时完成。
A、需求分析B、系统集成C、体系结构设计D、软硬件设计9、在嵌入式系统设计中,进行硬件版图设计是在进行()时完成。
A、需求分析B、系统集成C、体系结构设计D、软硬件设计10、在嵌入式系统设计中,软硬件划分是在进行()时完成。
A、需求分析B、体系结构设计C、软硬件设计D、系统集成11、在嵌入式系统设计中,软硬件协同设计方法与传统设计方法的最大不同之处在于()。
A、软硬件分开描述B、软硬件统一描述C、协同测试D、协同验证12、下面关于哈佛结构描述正确的是()。
A、程序存储空间与数据存储空间分离B、存储空间与 IO 空间分离C、程序存储空间与数据存储空间合并D、存储空间与 IO 空间合并13、下面关于冯·诺依曼结构描述正确的是()。
A、程序存储空间与数据存储空间分离B、存储空间与 IO 空间分离C、程序存储空间与数据存储空间合并D、存储空间与 IO 空间合并14、以下哪个处理器属于嵌入式处理器?()A、S3C44B0xB、奔腾C、看门狗D、MP3 播放器15、下面哪一类嵌入式处理器最适合于用于工业控制()。
嵌入式 期末考试题目及答案
一、单项选择题(每题2分,共30分)1.下列哪一项不是嵌入式系统的基本要素A、嵌入性B、专用性C、通用性D、计算机系统2.下面哪项不属于ARM处理器模式A、管理模式(root)管理模式(svc):B、用户模式(usr)C、快速中断模式(fiq)D、外部中断模式(irq)3.在嵌入式系统开发过程中下面哪项为错误的说法A、对于有些硬件和软件都可以实现的功能,需要在成本和性能上做出抉择B、对实时性要求非常高的产品可以选择嵌入式Linux开发环境 VxworksC、嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分D、嵌入式系统的软件开发可分为交叉编译和交叉调试两部分4.某文件的权限是 -rwxr--r--,则下面描述正确的是A、文件的权限值是755B、文件的所有者对文件只有读权限C、其他用户对文件只有读权限D、同组用户对文件只有写权限5.在Linux操作系统默认情况下,ls命令显示的可执行文件颜色为A、绿色B、蓝色C、灰色D、黄色6.在vi编辑环境下,使用下面哪个按键进行模式转换A、EscB、TabC、ShiftD、Ctrl7.交叉编译器中,下面哪项不是必需包含的A、glibcB、gccC、binutilsD、tmake8.使用下面哪项命令查看系统的默认运行级别A、runlevelB、service xinetd statusC、chkconfig --listD、chkconfig xinetd status9.下面哪种语言GCC编译器不支持A、CB、JavaC、ASPD、C++10.不带缓存的文件I/O操作函数不包括A、fopenB、readC、writeD、open11.在Linux操作系统中,串口设备的设备名一般为A、com1B、port1C、ttyS0D、serl112.编写守护进程的第一步为A、创建子进程,父进程退出B、在子进程中创建新会话C、改变当前目录为根目录D、关闭文件描述符13.在关于ICMP协议的描述中,下面哪项是错误的A、ICMP是IP层的一个协议B、ICMP报文的最终报宿是报宿计算机上的一个用户进程C、当一个带有错误信息的ICMP报文到达时,由IP软件模块负责处理D、每种ICMP报文都有不同的格式14.键盘模式中不包括下面哪项A、ASCII mode(XLATE)模式模式B、Keycode mode(MEDIUMRAW)模式C、Multi mode(MULTI)模式UTF-8 MODE (UNICODE) Unicode 模式D、Scancode mode(RAW)模式15.socket函数的函数原型是A、int socket(int family, int type, int protocol)B、int socket(int sockfd,struct sockaddr *my_addr, int addrlen)C、int socket(int sockfd, int backlog)D、int socket(int sockfd, struct sockaddr *serv_addr, int addrlen)二、判断题(每题2分,共30分)(错标红加粗)16.ROM掉电后数据不会丢失。
嵌入式系统期末考试卷试题库包括答案.docx
《嵌入式系统》试题库一、填空题1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。
3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。
4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。
5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。
6、需求分析包括:功能性需求分析和非功能性需求分析。
7、确定输入信号是数字信号还是模拟信号属于功能性需求。
8、确定系统的物理尺寸和重量属于非功能性需求。
9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。
10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。
11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。
12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。
13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。
14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。
15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。
16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。
17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需求分析、规格说明和体系结构设计)和系统调试。
18、设计流程指的是设计过程中所经历的过程步骤。
19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。
20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。
21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和数字信号处理器( DSP)。
嵌入式系统期末考试题库及答案
《嵌入式系统》试题库一、填空题1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。
3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。
4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。
5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。
6、需求分析包括:功能性需求分析和非功能性需求分析。
7、确定输入信号是数字信号还是模拟信号属于功能性需求。
8、确定系统的物理尺寸和重量属于非功能性需求。
9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。
10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。
11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。
12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。
13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。
14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。
15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。
16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。
17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需求分析、规格说明和体系结构设计)和系统调试。
18、设计流程指的是设计过程中所经历的过程步骤。
19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。
20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。
21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和数字信号处理器(DSP)。
电子科技大学19年6月考试《嵌入式系统》期末大作业满分答案
19年6月考试《嵌入式系统》期末大作业在MDK软件的仿真界面查看存储器应该使用下列哪一个调试窗口:()A.Watch窗口B.Memory窗口C.UART窗口D.外设窗口正确答案:B以下哪一项不是LPC1768微控制器的引脚P0.6的功能:()A.P0.6--通用数字输入/输出功能B.I2SRX_SDA-接收数据C.RD2-CAN2接收器输入D.MAT2.0-定时器2的匹配输出,通道0正确答案:C在MDK软件开发工程时,下载到微控制器的文件格式是:()A.BIN格式B.EXE格式C.OUT格式D.HEX格式正确答案:D下列哪一种不属于嵌入式操作系统:()A.VxWorksB.Windows95C.WINDOWCED.μC-OS正确答案:B将LPC1768微控制器的P0.2和P0.3分别设置为TXD0和RXD0,而不改变其他引脚的设置,则程序代码应该为:()A.PINSEL0=(PINSEL0&0xFFFFFF0F)|0x00000050B.PINSEL0=PINSEL0|0xFFFFFF5FC.PINSEL1=(PINSEL1&0xFFFFFF0F)|0xFFFFFF5FD.PINSEL1=PINSEL1|0xFFFFFF5F正确答案:A要使写入锁相环0的配置参数生效应该访问下列哪一个寄存器:()A.PLL0STATB.PLL0FEEDC.PLL0COND.PLL0CFG正确答案:BUnFCR寄存器的值为0x80,则FIFO的触发点是多少字节:()A.1字节B.4字节C.8字节D.14字节正确答案:ALPC1768微控制器串口0的U0DLM=0X03,U0DLL=0xE8,外设时钟PCLK=32MHZ,则此时串口0的波特率为:()A.9600B.4800C.2400D.2000正确答案:DLPC1768微控制器的引脚在上电复位后处于什么模式:()A.上拉模式B.下拉模式C.开漏模式D.中继模式正确答案:A下列哪一个电压值属于RS232标准的逻辑0:()A.0VB.2VC.3VD.5V正确答案:DLPC1768微控制器的AD采集模块有多少个通道:()A.4个B.5个C.7个D.8个正确答案:DLPC1758微控制器的SRAM大小为:()A.8KBB.32KBC.64KBD.128KB正确答案:CLPC1768控制串口0的FIFO控制器U0FCR=0x81,则此时串口0的FIFO触发点为:()A.1字节B.4字节C.8字节D.14字节正确答案:C在LPC1768微控制器中控制GPIO输出高电平的寄存器是:()A.FIODIRB.FIOPINC.FIOSETD.PINSEL1正确答案:CLPC1768微控制器属于什么内核:()A.Cortex-M0B.Cortex-M3C.Cortex-M4D.Cortex-A正确答案:B当引脚功能选择寄存器PINSEL0的1:0位为01表示:()A.P0.0引脚定义为GPIOP0.0B.P0.0引脚定义为RD1C.P0.0引脚定义为TXD3D.P0.0引脚定义SDA1正确答案:B当需要往引脚上同时输出高电平和低电平时应该访问哪一个寄存器:()A.FIODIRB.FIOCLRC.FIOSETD.FIOPIN正确答案:D读取串口接收数据时使用下列哪一个寄存器:()A.UnTHRB.UnRBRC.UnIIRD.UnIER正确答案:B安装完MDK软件后,下列哪一个文件夹包含了开发板的配套程序:()A.BoardsB.FlashC.HlpD.Startup正确答案:A下列哪一个寄存器不属于控制GPIO模块的寄存器:()A.FIODIRB.FIOPINC.FIOSETD.PINSEL1正确答案:DLPC1768微控制器内部的USB模块的时钟可以由下列哪一种模块产生:()A.定时器B.串口C.中断D.锁相环正确答案:DLPC1768控制器的AD转换模块如果工作于突发模式即Burst模式,同时AD控制寄存器ADCR 的最低8位为10001011,则8个AD采集通道的转换顺序是:()A.AIN0AIN1AIN3AIN7B.AIN1AIN3AIN0AIN7C.AIN7AIN3AIN1AIN0D.AIN0AIN3AIN1AIN7正确答案:ALPC1768微控制器中只有哪两组I/O接口可以产生中断:()A.P0和P1B.P0和P2C.P1和P2D.P1和P3正确答案:B设置外部中断的中断极性应该访问下列哪一个寄存器:()A.EXIINTB.EXTMODEC.EXTPOLARD.FIODIR正确答案:C外设时钟PCLK为24MHz,定时时间为100ms,不使用预分频,则匹配寄存器的值为:()A.1200B.2000C.2400000D.4800正确答案:C下列哪一种不输入嵌入式处理器:()A.嵌入式微处理器B.嵌入式微控制器C.嵌入式DSPD.酷睿处理器正确答案:D在MDK软件的工程设置栏中,下面哪一个选项卡中包含微控制器的选择:()A.TargetB.DebugC.DeviceD.Option正确答案:CLPC1768微控制器的Flash大小为:()A.128KBB.256KBC.512KBD.64KB正确答案:C串口通信采用查询方式接收数据时应该访问下列哪一个寄存器:()A.UnLCRB.UnTHRC.UnIIRD.UnLSR正确答案:DLPC1768微控制器的AD控制器的最高采样频率为200KHZ,根据莱奎斯特采样定律,下面哪一种信号无法处理:()A.200KHZB.100KHZC.50KHZD.10KHZ正确答案:A串口通信采用中断方式接收数据时应该访问下列哪一个寄存器:()A.UnLCRB.UnTHRC.UnIIRD.UnLSR正确答案:C启动代码的初始化工作包括下列哪些内容:()A.片级初始化B.板级初始化C.系统初始化D.硬件初始化正确答案:ABC串口模块中哪些串口具备IrDA通信功能:()A.UART0B.UART1C.UART2D.UART3正确答案:ACD嵌入式软件系统包含下列哪些模块:()A.启动代码B.驱动程序C.操作系统D.应用程序正确答案:ABCD下列嵌入式操作系统中哪些属于大型操作系统:()A.LINUXB.WINDOWSCEC.VX-WORKD.UCOS-II正确答案:AB定时器模块的外部匹配控制器寄存器可以控制引脚产生下列哪些动作:()A.高电平B.低电平C.翻转电平D.无任何动作正确答案:ABCD在工程实践中外部中断一般采用下列哪些中断触发方式:()A.上升沿B.下降沿C.高电平D.低电平正确答案:AB定时器模块不能产生下列哪些中断A.计数溢出中断B.匹配中断C.捕获中断D.计数中断正确答案:AD定时器模块可以产生下列哪些中断A.计数溢出中断B.匹配中断C.捕获中断D.计数中断正确答案:BC定时器模块的捕获功能有下列哪些触发方式:()A.上升沿触发B.下降沿触发C.双边沿触犯D.高电平触发正确答案:ABC。
电科16年6月考试《嵌入式系统》期末大作业
电科16年6月考试《嵌入式系统》期末大作业电科16年6月考试《嵌入式系统》期末大作业试卷总分:100 测试时间:--一、单选题(共34 道试题,共85 分。
)V1. LPC1768微控制器的引脚在上电复位后处于什么模式:()A. 上拉模式B. 下拉模式C. 开漏模式D. 中继模式满分:2.5 分2. 控制引脚P1.16应该访问哪一个引脚功能选择寄存器:()A. PINSEL0B. PINSEL1C. PINSEL2D. PINSEL3满分:2.5 分3. LPC1768微控制器的Flash大小为:()A. 128KBB. 256KBC. 512KBD. 64KB满分:2.5 分4. LPC1768微控制器的GPIO引脚最多有:()A. 60个B. 70个C. 90个D. 100个满分:2.5 分5. 在MDK软件的仿真界面查看存储器应该使用下列哪一个调试窗口:()A. Watch窗口B. Memory窗口C. UART窗口D. 外设窗口满分:2.5 分6. LPC1768微控制器的P1.31引脚一共有几种功能:()A. 1种B. 2种C. 3种D. 4种满分:2.5 分7. 安装完MDK软件后,下列哪一个文件夹包含了Flash编程算法:()A. BoardsB. FlashC. HlpD. Startup满分:2.5 分8. 当需要往引脚上同时输出高电平和低电平时应该访问哪一个寄存器:()A. FIODIRB. FIOCLRC. FIOSETD. FIOPIN满分:2.5 分9. 在RL-RTX实时内核中,内核的初始化函数是下列哪一个:()A. OS_SYS_INIT()B. OS_TSK_CREATEC. OS_TSK_DELETE_SELFD. OS_DL Y_W AIT满分:2.5 分10. 当使用P1.27作为捕获引脚时,捕获值存放在哪一个捕获寄存器中:()A. CR0B. CR1C. CR2D. CR3满分:2.5 分11. 上电复位后下列哪一个外设的功率控制默认是不使能:()A. 定时器0B. 串口0C. GPIO模块D. USB模块满分:2.5 分12. 设置外部中断的中断极性应该访问下列哪一个寄存器:()A. EXIINTB. EXTMODEC. EXTPOLARD. FIODIR满分:2.5 分13. 串口通信采用查询方式接收数据时应该访问下列哪一个寄存器:()A. UnLCRB. UnTHRC. UnIIRD. UnLSR满分:2.5 分14. 当引脚配置为下列哪一种功能时无法使用FIOPIN读取引脚的状态:()A. A/D功能B. 定时器功能C. 串口通信功能D. GPIO功能满分:2.5 分15. 外部中断3对应的引脚为:()A. P2.10B. P2.11C. P2.12D. P2.13满分:2.5 分16. 外设时钟PCLK为24MHz,定时时间为100us,不使用预分频,则匹配寄存器的值为:()A. 1200B. 2000C. 2400D. 4800满分:2.5 分17. 串口模块中哪一个串口具备RS485通信功能:()A. UART0B. UART1C. UART2D. UART3满分:2.5 分18. 锁相环0倍频后输出的时钟的最高频率不超过:()A. 275MHzB. 300MHzC. 500MHzD. 550MHz满分:2.5 分19. UnFCR寄存器的值为0x87,则FIFO的触发点是多少字节:()A. 1字节B. 4字节C. 8字节D. 14字节满分:2.5 分20. 在MDK软件开发工程时,如果要求硬件系统掉电后下一次上电仍然能够运行程序,应该使用下列哪一种模板:()A. Flash模板B. Ram模板C. Simulate模板D. HEX模板满分:2.5 分21. 在一般的工程应用中LPC1768微控制器采用哪一个振荡器作为时钟源:()A. 主振荡器B. 内部RC振荡器C. RTC振荡器D. 外加时钟信号满分:2.5 分22. 异步串行通信的字符格式中起始位是什么电平:()A. 高电平B. 低电平C. 高阻态D. 不定态满分:2.5 分23. LPC1768微控制器属于什么内核:()A. Cortex-M0B. Cortex-M3C. Cortex-M4D. Cortex-A满分:2.5 分24. 前后台编程模式中,后台程序指的是:()A. 中断服务程序B. 主程序C. 引导程序D. 初始化程序满分:2.5 分25. 下列嵌入式操作系统中哪一个是国产的:()A. LINUXB. WINDOWS CEC. RL-RTXD. RT-Thread满分:2.5 分26. LPC1751微控制器的SRAM大小为:()A. 8KBB. 32KBC. 64KBD. 128KB满分:2.5 分27. GPIO中断和哪一个外部中断共用一个中断通道:()A. 外部中断0B. 外部中断1C. 外部中断2D. 外部中断3满分:2.5 分28. 配置锁相环0的参数应该访问下列哪一个寄存器:()A. PLL0STATB. PLL1STATC. PLL0COND. PLL0CFG满分:2.5 分29. GPIO模块中要让引脚输出高电平应该向FIOSET寄存器写入什么:()A. 1B. 0C. 0xFFD. 0x55满分:2.5 分30. 11位数据位的异步串行通信的波特率误差最大不能超过多少:()A. 0.0625B. 0.0556C. 0.045D. 0.04满分:2.5 分31. LPC1768有多少个定时器/计数器:()A. 1个B. 2个C. 3个D. 4个满分:2.5 分32. 在MDK软件的工程设置栏中,下面哪一个选项卡中包含RL-RTX实时内核的选择:()A. TargetB. DebugC. DeviceD. Option满分:2.5 分33. 串口中断中下列哪一个中断的优先级最低的:()A. RLS中断B. RDA中断C. CTI中断D. THRE中断满分:2.5 分34. 配置串口通信数据格式时应该访问下列哪一个寄存器:()A. UnLCRB. UnTHRC. UnIIRD. UnLSR满分:2.5 分电科16年6月考试《嵌入式系统》期末大作业试卷总分:100 测试时间:--单选题多选题二、多选题(共6 道试题,共15 分。
嵌入式期末考试试题及答案
嵌入式期末考试试题及答案一、选择题(每题2分,共20分)1. 在嵌入式系统中,通常使用哪种类型的处理器?A. CPUB. GPUC. DSPD. FPGA答案:C2. 以下哪个不是嵌入式系统的特点?A. 实时性B. 专用性C. 通用性D. 可靠性答案:C3. 在嵌入式系统中,操作系统的作用是什么?A. 管理硬件资源B. 提供用户界面C. 增加系统复杂性D. 减少系统性能答案:A4. 以下哪个是嵌入式系统的典型应用?A. 个人电脑B. 智能手机C. 服务器D. 工作站答案:B5. 在嵌入式系统中,中断的作用是什么?A. 启动程序B. 暂停程序C. 切换程序D. 终止程序答案:C6. 以下哪个是嵌入式系统开发中常用的编程语言?A. JavaB. PythonC. CD. HTML答案:C7. 以下哪个是嵌入式系统中的存储设备?A. 硬盘B. 固态硬盘C. EEPROMD. 光盘答案:C8. 在嵌入式系统中,什么是看门狗定时器?A. 用于监控系统时间的定时器B. 用于防止系统崩溃的定时器C. 用于定时执行任务的定时器D. 用于系统启动的定时器答案:B9. 以下哪个不是嵌入式系统的开发工具?A. 编译器B. 仿真器C. 调试器D. 浏览器答案:D10. 在嵌入式系统中,什么是固件?A. 硬件B. 软件C. 介于硬件和软件之间的程序D. 操作系统答案:C二、简答题(每题10分,共30分)1. 解释什么是嵌入式系统,并给出至少两个嵌入式系统的例子。
嵌入式系统是一种专用的计算机系统,它被设计用来执行特定的任务。
它通常包含一个微处理器,存储器,输入/输出接口等,并且可能包含一个或多个操作系统。
嵌入式系统的例子包括智能手机和汽车的电子控制单元。
2. 描述嵌入式系统中的中断处理机制。
中断处理机制是嵌入式系统中的一种功能,它允许系统在执行当前任务时,响应外部或内部事件。
当中断发生时,系统会暂停当前任务,保存当前状态,然后跳转到中断服务程序(ISR)执行相应的处理。
嵌入式课程设计大作业
嵌入式课程设计大作业一、教学目标本课程的教学目标是让学生掌握嵌入式系统的基本原理和设计方法,能够独立完成嵌入式系统的设计与实现。
具体来说,知识目标包括:理解嵌入式系统的概念、组成和分类;掌握嵌入式处理器的工作原理和体系结构;熟悉嵌入式操作系统的基本原理和常用操作系统;了解嵌入式系统的设计流程和开发工具。
技能目标包括:能够使用嵌入式处理器进行系统设计和编程;能够使用嵌入式操作系统进行应用开发;能够使用常见的嵌入式开发工具和调试技术。
情感态度价值观目标包括:培养学生的创新意识和团队合作精神,提高学生解决实际问题的能力。
二、教学内容本课程的教学内容主要包括嵌入式系统的基本原理、嵌入式处理器、嵌入式操作系统和嵌入式系统设计流程。
具体来说,教学大纲如下:1.嵌入式系统概述:介绍嵌入式系统的概念、组成和分类,理解嵌入式系统在现代社会中的广泛应用。
2.嵌入式处理器:学习嵌入式处理器的工作原理和体系结构,掌握嵌入式处理器的基本性能指标和选型方法。
3.嵌入式操作系统:了解嵌入式操作系统的原理和特点,学习常用嵌入式操作系统的基本使用方法和编程技巧。
4.嵌入式系统设计流程:掌握嵌入式系统的设计流程,包括需求分析、系统设计、硬件选型、软件设计和系统测试等环节。
5.嵌入式系统开发工具:学习常见的嵌入式开发工具和调试技术,掌握使用这些工具进行嵌入式系统开发的方法。
三、教学方法为了达到本课程的教学目标,我们将采用多种教学方法进行授课,包括讲授法、讨论法、案例分析法和实验法等。
通过这些教学方法的综合运用,激发学生的学习兴趣和主动性,提高学生的实际操作能力。
1.讲授法:通过讲解嵌入式系统的基本原理和设计方法,使学生掌握相关知识。
2.讨论法:学生进行课堂讨论,引导学生思考和分析问题,提高学生的解决问题的能力。
3.案例分析法:通过分析典型的嵌入式系统案例,使学生了解嵌入式系统的实际应用和设计技巧。
4.实验法:安排学生进行实验操作,使学生在实践中掌握嵌入式系统的原理和设计方法。
嵌入式系统期末考试试题库和答案解析
《嵌入式系统》试题库一、填空题1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2、从模块结构来瞧,嵌入式系统由三大部分组成,分别就是:硬件、软件与开发平台。
3、从层次角度来瞧,嵌入式系统由四大部分组成,分别就是:应用软件层、操作系统层、板级支持包(或硬件抽象层)与硬件层。
4、嵌入式产品的主要度量指标包括:上市时间、设计成本与产品质量。
5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成与系统测试。
6、需求分析包括:功能性需求分析与非功能性需求分析。
7、确定输入信号就是数字信号还就是模拟信号属于功能性需求。
8、确定系统的物理尺寸与重量属于非功能性需求。
9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。
10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。
11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。
12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。
13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。
14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。
15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。
16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。
17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需求分析、规格说明与体系结构设计)与系统调试。
18、设计流程指的就是设计过程中所经历的过程步骤。
19、设计重用技术主要分为基于IP 核的模块级重用与基于平台的系统级重用。
20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。
21、嵌入式处理器的分类包括三种,分别就是:嵌入式微处理器、微控制器(或单片机)与数字信号处理器(DSP)。
嵌入式系统期末考试试卷习题
1.下面哪一种工作模式不属于ARM特权模式( A )。
A.用户模式B.系统模式C.软中断模式D.FIQ模式2.ARM7TDMI的工作状态包括( D )。
A.测试状态和运行状态B.挂起状态和就绪状态C.就绪状态和运行状态D.ARM状态和Thumb状态3.下面哪个Linux操作系统是嵌入式操作系统( B )。
A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。
A.宿主机B.银河麒麟操作系统C.目标机D.交叉编译器5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一( A )。
A.寄存器段B.代码段C.堆栈段D.数据段选择题(共5小题,每题2分,共10分)1.下面哪个系统属于嵌入式系统( D )。
A.“天河一号”计算机系统B.IBMX200笔记本电脑C.联想S10上网本D.Iphone手机2.在Makefile中的命令必须要以( A )键开始。
A.Tab键B.#号键C.空格键D.&键3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。
A.Ext B.FAT32C.NFS D.Ext34.下面哪种不属于VI三种工作模式之一( D )。
A.命令行模式B.插入模式C.底行模式D.工作模式5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。
A.Makefile B.配置文件(config.in)C.make menuconfig D.配置工具1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。
(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。
)2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。
嵌入式软件设计期末考试客观题及答案
一、单选题1、以下关于嵌入式系统的描述,哪一项是错误的A.嵌入式系统对体积、功耗、可靠性等要求比较严格B.嵌入式系统是专用计算机系统C.嵌入式系统一般应用在工业领域,在日常生活中很难看到D.嵌入式系统采用的技术依托于计算机技术正确答案:C2、对于单任务嵌入式系统而言,以下哪个表述是正确的A.单任务嵌入式系统比多任务系统更复杂B.单任务嵌入式系统可以解决任何复杂的应用问题C.一般采用汇编语言进行系统最初的初始化D.一般采用C语言进行系统最初的初始化正确答案:C3、下面关于C语言的描述,错误的是A.c语言可以直接访问内存地址B.c语言支持指针C.c语言的程序运行速度比汇编语言快D.C语言的开发效率高于汇编语言正确答案:C4、在ARM C编程中,以下哪种说法是错误的A.ARM C程序无法优化B.可以针对编译器的特点,c程序进行优化C.可以针对ARM体系结构的特点,对C程序进行优化D.ARM C的变量类型、循环等特性,都可以进行优化正确答案:A5、对于一个32位嵌入式处理器,为了尽可能提高C程序执行效率,变量、参数、函数返回值,应尽量将其位数设置为A.1位B.16位C.32位D.8位正确答案:C6、以下关于Linux操作系统描述错误的是A.Linux通过shell命令实现了很多系统管理功能B.Linux操作系统应用非常广泛C.Linux操作系统可以被移植到很多体系结构的计算机上D.Linux操作系统只能运行在PC机上正确答案:D7、以下哪个Linux的Shell命令可以实现目录切换A.cdB.catC.pwdD.ls正确答案:A8、以下关于vi的描述,错误的是A.vi支持非常丰富的命令B.vi只适合编辑文本文件,不适合编辑源程序C.vi具有命令模式和输入模式D.vi是功能强大的编辑器正确答案:B9、以下关于gcc的描述,正确的是A.gcc是一个调试器B.gcc是一个版本控制工具C.gcc是一个连接器D.gcc是一个编译器正确答案:D10、以下关于gdb的描述,错误的是A.gdb支持多种调试命令B.gdb是一个功能强大的调试器C.gdb采用图形界面方式工作D.gdb采用命令行方式工作正确答案:C11、make程序会从当前目录下寻找makefile,并解析其中内容,完成对工程项目的自动编译,以下哪个说法是错误的A.makefile支持很多语法特性B.通过编写makefile可以大幅提高工程项目编译效率C.makefile是一种行之有效的软件工程工具D.每一个C程序,都必须采用makefile才能够编译正确答案:D12、以下哪个函数可以打开一个目录文件A.mkdir()B.closedir()C.opendir()D.rmdir()正确答案:C13、以下关于对文件操作的描述,正确的是A.只可以对文件进行读访问B.可以对文件进行读写和追加访问C.只可以对文件进行追加访问D.只可以对文件进行写访问正确答案:B14、以下关于进程的描述,正确的是A.父进程的进程号和子进程的进程号相同B.每个程序执行时都会生成一个进程C.进程和线程的概念完全一致D.不同进程之间不能进行通信正确答案:B15、以下关于线程编程,错误的是A.父进程的进程号和子进程的进程号相同B.不同进程之间不能进行通信C.进程和线程的概念完全一致D.每个程序执行时都会生成一个进程正确答案:D16、当在键盘按下“Ctrl c”按键时,会发生什么A.终止前台进程B.终止后台进程C.什么都不做D.唤醒前台进程正确答案:A17、以下哪一项,不属于信号集处理函数A.sigfillset()B.signal()C.sigemptyset()D.sigaddset()正确答案:B18、关于共享内存,正确的说法是A.共享内存必须连接到进程地址空间中才可使用B.只有具有有父子继承关系的进程才可以使用共享内存C.共享内存不属于进程间通信机制D.不相关进程不可使用同一块共享内存正确答案:A19、关于消息队列,错误的是A.消息队列中每个消息的长度都有一个最大限制B.不同进程可以通过消息队列传递信息C.消息队列中可以包含无数个消息D.消息队列属于一种进程间通信机制正确答案:C20、以下关于套接字机制的描述错误的是A.套接字通信中不区分客户端和服务器B.网络中的计算机可采用套接字通信C.套接字机制通过一系列函数来实现D.一台计算机的不同进程间可采用套接字通信正确答案:A21、在内核中用来识别设备的是A.以上均不对B.设备别名C.设备名称D.设备号正确答案:D22、以下关于驱动程序的描述,正确的是A.驱动程序必须直接编译到内核中B.驱动程序必须以模块方式插入Linux内核C.驱动程序和应用程序没有区别D.驱动程序可以帮助用户管理硬件正确答案:D23、以下哪个命令可以列出系统中的模块列表A.rmmodB.depmodC.insmodD.lsmod正确答案:D24、以下关于设备的描述,错误的是A.主设备号和次设备号共同确定某个设备B.设备具有主设备号C.主设备号和次设备号的概念是一样的D.设备具有次设备号正确答案:C25、以下哪一项不属于bootloader的特性A.Bootloader包括了应用程序的全部功能B.Bootloader可以进行系统初始化工作C.Bootloader在系统刚启动时运行D.Bootloader负责将操作系统内核复制到内存中正确答案:A26、以下哪一项不属于嵌入式系统的特点A.以计算机技术为基础B.具有桌面计算机的全部功能C.软硬件可裁剪D.以应用为中心正确答案:B27、中断服务程序应该A.可以向其传递必要的参数B.功能应尽可能完善C.尽可能包含复杂功能D.尽可能短小精悍正确答案:D28、以下哪一项,不属于ARM C代码优化的范畴A.在循环中采用减计数B.循环展开C.尽量采用指针操作D.采用合适的变量长度正确答案:C29、在Linux控制台中,切换当前目录采用的命令是A.pwdB.lsC.dateD.cd正确答案:D30、在基于Linux的C语言编程开发中,采用的编译器是A.gdbB.viC.svnD.gcc正确答案:D31、在采用嵌入式操作系统的实际应用场合中,以下软件层次中,哪一项是非必须的A.bootloaderB.图形系统C.文件系统D.应用软件正确答案:B32、Linux系统的文件类型中,不包括如下哪一项A.套接字文件B.目录文件C.普通文件D.快捷方式文件正确答案:D33、关于进程和线程的描述,正确的是A.各线程间不可共享变量B.父子进程的全部资源都相同C. 线程切换的代价比进程切换大D.线程切换的代价比进程切换小正确答案:D34、进程接收到信号之后,如果事先没有安排捕获它,进程将会执行默认动作,不包括如下哪一项A.忽略B.放弃进程资源C.终止D.暂停正确答案:B35、打开一个管道文件,采用的函数是A.read()B.write()C.open()D.close()正确答案:C二、判断题1、嵌入式操作系统启动后,bootloader即不再起作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
标准文案江苏科技大学嵌入式系统设计期末大作业----嵌入式web服务器设计学号:1341901124:武易专业:科技大学2016-12-30嵌入式Web服务器的设计与实现引言近年来,传统上用于办公室和商业的以太网逐渐进入了基于嵌入式设备的控制领域。
Web技术可跨越诸多设备和系统在硬件和软件产品间做到即连即用,只需用Web浏览器通过以太网和TCP/IP协议便可访问各种信息终端。
客户机可任意设置,只要能连上Internet并有权访问Web服务器,便可查阅现场有关信息,给维护和管理工作带来很大的方便。
本文提出的基于ARM Linux的嵌入式Web服务器以S3C2410处理器为核心,以可裁减可移植的Linux为操作系统,为嵌入式系统的Internet接入提供了一种方便、快捷、简单的实现方法。
1 嵌入式web服务器技术嵌入式Web服务器(embedded web server,EWS)是指将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的基于互联网的网络测试和控制设备。
其执行3种基本功能:①静态和动态网页信息发布;②提供接口监测现场设备;③提供接口控制现场设备。
由于Web技术的开放性和独立平台特性,降低了软件系统和通信系统的设计、维护工作量,提高了现场测试和控制设备的管理水平。
嵌入式Web服务器技术提供了异构网络远程管理和监控设备的方法和途径。
在嵌入式Linux系统中,常用的Web Server有Boa、httpd、thttpd和mini-httpd等。
其中Boa是一个运行在类Unix系统中的小型WebServer,适合嵌入式环境。
在Boa中若两个用户同时访问,则其中的一个必须等待,它产生独立进程来处理CGI(通用网关接口)程序,因此占用较少的资源,其体系结构如图1所示。
Boa的优点在于其快速可靠性。
它与其它服务器的区别:没有为CGI程序设置REMOTE_HOST环境变量;没有Server-Side Include(SSI)项,要产生动态网页只能通过CGI:没有设置进入控制,而是根据Linux/Unix的文件系统的权限来决定服务的对象:没有chroot选项,即不能改变根目录。
基于以上的阐述,Boa应用到嵌入式平台上有着诸多的优势,本文的嵌入式Web服务器也因此选用Boa作为平台。
下面笔者将着重介绍嵌入式Web 服务器的硬件平台及软件体系的设计与实现。
图1 Boa网络服务器的体系结构2 硬件平台的设计与实现本文的硬件平台采用S3C2410为系统硬件核心,系统框图如图2所示。
主要包括:存储系统、系统接口、用户接口(显示LCD与键盘)3个部分。
图2硬件平台体系结构S3C2410把外部复位信号作为一个中断处理,在系统复位时,程序指针(PC)被设置为0,程序跳转到0x00000000开始运行。
此空间对应Bank0,系统的2MB的NORFlash和处理器的Bank0相连接。
在NORFlash中存储的是BootLoader,它负责配置处理器的结构、工作模式以及自动检测系统的各个硬件是否工作正常。
系统经过初始化和自检后,BootLoader负责把16 MB NANDFIash的zlmage(即软件系统的镜像文件)复制到0xc0008000地址(此地址是系统64MB SDRAM的首地址)。
然后,引导程序把PC指向0xc0008000地址,系统开始运行。
3 基于Boa的软件平台设计与实现上述的嵌入式硬件平台实际上是一通用平台,基于该平台构建嵌入式Web 服务器,设计者必须考虑其通用性、响应速度及对于硬件的可操控性。
正是基于这样的考虑,笔者分三层构建嵌入式Web服务器的软件体系:ARMLinux 的建立;Boa服务器的移植与构建;Cgi程序的扩展。
3.1 ARM Linux的建立ARM Linux的建立是基于U-Boot的实现,它的建立实际上是Linux核在S3C2410上移植的过程,主要分为3个步骤:建立交叉编译环境;编译核;生成并配置根文件系统。
因本文的工作重点并不是介绍Linux移植,因此下面只是简要介绍3个步骤的实现。
(1)建立交叉编译环境:建立交叉编译环境的过程实际就是对交叉编译器压缩包解包的过程。
在本文中,所有的软件源码包都放在/tools目录下,解包所用指令序列在此不做赘述,其解包路径为/usr/local/arm cross。
(2)交叉编译Linux核:在交叉编译核之前,对编译选项的配置是很重要的。
执行“make menuconfig”指令,进入Syetem Type选项。
本文中选择对S3C2410系统板的支持,然后配置File System以及Block device。
保存配置后要修改Make.file文件,即把交叉编译的路径指定为本文中安装的特定目录,修改语句为:CROSS_Complie=/usr/Ioca/arm_cross/3.4.1/bin/arm-Linux-。
最后通过make dep;make clean;make zlmage命令编译核,得到核压缩映象zlmage。
(3)生成并配置根文件系统:生成并配置文件系统主要有以下的几个步骤完成:安装busybox工具包(首先解压busybox压缩包,在解压目录下修改Makefile文件,然后使用Make install完成安装);创建文件系统的映象文件(首先创建img目录,然后进入根目录创建一个空的映象文件,加载创建的文件系统,并复制文件系统中必要的文件):配置文件系统(经过上述步骤已经产生了文件系统所需要的一些文件,但是需要设置根路径,即在根路径下添加必须的目录、文件并且正确设置属性)。
3.2 Boa服务器的移植与构建基于Boa建立嵌入式Web服务器可分为以下步骤完成:(1)建立交叉编译环境并下载Boa源码包解压:交叉编译环境在前文中构建ARM Linux时已经建立了,这里编译Bao使用同样的交叉编译器,所以不需要重新建立一遍。
Boa的源码包可以从其官方http://.boa.org下载并解压。
(2)编译Boa代码生成可执行文件boa:在编译之前,需要在fooa/src/configure文件中加入CC和CPP的说明,同时修改Makefile里的CC=/usr /local/arm cross/3.4,1/bin/arm.1inux.。
另外还要在编译之前指定Web服务器的根目录路径(SERVERROOT),具体方法是:进入/boa/src /目录,通过修改defines.h文件中#defineERVER ROOT“/home/httpd”语句来指定SERVERROOT。
然后make即可完成编译并生成Boa可执行文件。
(3)配置Boa服务器:为了能够在硬件平台上运行Web服务器Boa,还需要对其运行环境、参数等进行设置,并将最终的配置文件Boa.conf置于适当位置。
通过修改配置文件Boa.conf"可实现对Web服务器的配置,部分配置为:侦听端口使用80端口;访问日志AccessLog存放于/var/log/boa/access_log;错误日志ErrorLog位于/var/log/boa/error_log;文件的根目录DocumentRoot设在/home/httpd/;KeepAliveMax的值修改为50;Keep-AliveTimeout的值修改为10;设置CGIPath为/cgi-bin/等;在Boa.conf的最后加上SewerNameEmServer,即将EmServer作为服务器名称(当然也可用其它名称作为服务器名)。
最后将修改好的配置文件Boa.conf存放于嵌入式系统根文件/ere/boa目录下。
通过镜像制作工具执行命令genromfs-fromfs.img—dromdisk生成romdisk的镜像文件romfs.img,将romfs.img通过Bootloader下载到flash存储器。
(4)测试Boa的运行:为了确保Boa的正常运行,利用简单的测试程序测试Boa的运行情况。
在目录/home/bttpd/下建立index.html文档,其容为:This is boa server</BODY></HTML>在PC机上通过浏览器连接到运行Boa的硬件平台http://192.168.1.20/(硬件平台IP),若页面显示This is boa server,说明Boa可以正常获取页面。
在/cgi.bin/路径下建立test文件,其容如下:#!/bin/sbecho Content-type:text/htmlecho”This is cgi test</body></html>”在浏览器中输入http://192.168.1.20/cgi—bin/test,若页面显示This is cgi test,说明服务器可以正常执行CGI程序。
3.3 CGI扩展开发CGI定义了Web服务器与CGI脚本之间的接口标准。
其主要功能是在Web环境下,从客户端传送一些信息给Web服务器,Web服务器把接收到的有关信息放入环境变量,然后再去启动所指定的CGI脚本以完成特定的工作,CGI脚本从环境变量中获取相关信息来运行,最后以HTML格式输出相应的执行结果返回给浏览器端。
由于用户能传递不同的参数给CGI脚本,所以CGI技术使得浏览器和服务器之间具有交互性。
CGI的扩展开发即是在config.c中为该扩展功能增加一个命令码flag,并指定它的处理响应函数;然后在cgihead.c中完成这个处理响应函数的代码即可。
下面笔者将以通过Web服务器实现设置嵌入式系统IP地址为例介绍CGI的扩展开发方法及步骤:(1)首先在left.html(注:主页采用框架,left.html为左框架的页面)主菜单栏中增加一项:“设置IP”。
即在:/home/httpd/html/left.html,增加一项:这个处理代码中用vfork+execl执行ifconfig/route命令,完成IP设置工作,并返回显示操作结果,提供用户重新启动。
重新启动后板子的IP地址就是更改后的IP地址了。
3.4运行扩展后的Web服务器采用上述扩展方法,结合硬件资源和既有驱动笔者相继实现了系统时间设置、MAC地址设置、MiniGui演示、触摸屏演示、步进电机控制、录音、播放MTV等多项基本功能和修改管理员密码、系统重启等系统功能。
为了较好实现动态网页的交互性,笔者将首页设置成为框架,左框架调用left.html显示各管理菜单,右框架显示点击某菜单选项后的页面。
通过在右框架中的确认最终实现管理功能。