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

嵌入式系统设计大作业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时钟接口,调试接口,下载接口,电源接口。
嵌入式系统设计期末大作业

标准文案江苏科技大学嵌入式系统设计期末大作业----嵌入式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的优点在于其快速可靠性。
嵌入式系统设计大学教程习题与解答

嵌入式系统设计大学教程习题与解答第1章嵌入式系统设计基本概念(绪论)1、嵌入式系统的定义是什么?你是如何理解嵌入式系统的? (P3)答:嵌入式系统一般定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊规定的专用计算机系统。
一个嵌入式系统就是一个硬件和软件的集合体,它涉及硬件和软件两部分。
其中硬件涉及嵌入式解决器/控制器/数字信号解决器(DSP)、存储器及外设器件、输入输出(I/O)端口、图形控制器等;软件部分涉及操作系统软件(嵌入式操作系统)和应用程序(应用软件),由于应用领域不同,应用程序千差万别。
2、列出并说明嵌入式系统不同于其他计算机系统的重要特性。
(P3~P4)答:重要特性有:•系统内核小:由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较传统的操作系统要小得多。
•专用性强:嵌入式系统通常是面向特定任务的,个性化很强,其中软件系统和硬件的结合非常紧密,一般要针对硬件进行软件系统的移植。
•运营环境差异大:嵌入式系统使用范围极为广泛,其运营环境差异很大。
•可靠性规定高:嵌入式系统往往要长期在无人值守的环境下运营,甚至是常年运营,因此对可靠性的规定特别高。
•系统精简和高实时性操作系统:•具有固化在非易失性存储器中的代码:为了系统的初始化,几乎所有系统都要在非易失性存储器中存放部分代码(启动代码)。
为了提高执行速度和系统可靠性,大多数嵌入式系统经常把所有代码(或者其压缩代码)固化,存放在存储器芯片或解决器的内部存储器件中,而不使用外部存储介质。
•嵌入式系统开发工作和环境:嵌入式系统开发需要专门的开发工具和环境。
3、简述嵌入式系统的体系结构。
(P5)答:嵌入式系统自底向上包含四个部分:硬件平台、嵌入式实时操作系统(RTOS)、硬件抽象层(HAL)和嵌入式实时应用程序。
硬件抽象层位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。
嵌入式系统大作业

嵌入式系统大作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII基于嵌入式系统的车载GPS导航系统的设计1 设计目的与功能1.1 设计目的随着人们经济基础增强,安全意识增强的基础上,很多人都会选择车载GPS 导航设备,所以制造功能强大,价格低廉的车载GPS导航设备是有很大市场和发展前景的。
由于导航仪投入小,外壳模块、芯片等材料市场供应量大,这也是我选择设计车载GPS导航设备的理由。
为了满足不同用户的不同需求,我想设计一款内置四维地图系统。
1.2设计功能1提供准确无误的全3D实景导航;2附带全国沿途咨询;3具有视频、音乐播放等娱乐功能。
2.需求分析调研2.1 产品的硬件组成(型号、类型、电气特性、选择的理由等)(1)处理器:S3C2440A 400MHz,S3C2440A 是三星公司生产推出的基于ARM920T的32位RISC嵌入式微处理器,S3C2440A采用了ARM920T的内核,0.13um的CMOS标准宏单元和存储器单元。
采用ARM920T CPU内核支持ARM调试体系结构。
(2)储存模块:SDRAM , K4M561633-75 , 64MByte Nand FLASH,K9F1208G 64MByte同步动态随机存储器,工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;存储阵列需要不断的刷新来保证数据不丢失;数据不是线性依次存储,而是自由指定地址进行数据读写。
(3)音频模块:PHILIPS公司的UDA1341TS是一块功能强大的专用语音处理芯片。
本设计使用的AT91RM9200处理器具有一个IIS音频接口,此接口采用DMA方式传输数据。
用DMA接口传输数据,不仅可以降低CPU负担,还可以节省系统的软件设计时间,降低编程难度。
(4)显示模块:CH7005,是薄膜晶体有源阵列显示器。
一个LCD控制器,液晶显示屏。
功能:具有双通道DMA通道。
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调度算法非常高效,但是查找当前最高优先级的可运行程序时,开销会随着可运行程序的多少而变化。
嵌入式系统大作业

伊犁师范学院电信学院嵌入式系统大作业题目:基于ARM的温度采集系统班级:电信学院计科08-1班学号:08080605209姓名:布阿吉热.艾买尔日期:2013-4-30一、产品设计介绍大四这一年学期学校安排了嵌入式系统及应用开发这一门心得课程,在老师的认真上课下,帮助下我们学到了好多新的知识,我们用了自己学的有关嵌入式系统的知识与参考别人的论文和网上的有些资料,并且老师的指导下成功的完成了这个大作业。
我的大作业的题目是基于ARM的温度采集系统,用自己的简单语言来介绍一下本产品的设计,本产品设计是基于嵌入式技术作为主处理器的温度采集系统,利用S3C44B0x ARM微处理器作为主控CPU,辅以单独的数据采集模块采集数据,实现了智能化的温度数据采集、传输、处理与显示等功能,并讨论了如何提高系统的速度、可靠性和可扩展性。
并解决了传统的数据采集系统由于存在响应慢、精度低、可靠性差、效率低、操作繁琐等弊端,能够完全适应现代化工业的高速发展。
做这个这个大作业的过程中遇到了好多问题在老师的指导下及自己的努力下解决了这些问题。
最后我希望把这个产品应用到这个社会,为社会的快速发展付出自己的一份力量。
二、设计内容2.1设计目的每个人做一个事情,做一个产品都有一个目的,目标。
我设计这个产品的主要目的主要是用自己学的的知识做出来一个有用的东西,虽然我做的这个产品的比较简单但他也有自己的好处用处,我的设计目标包括这些内容:注重培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。
了解所选择的ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。
通过软硬件设计实现利用ARM芯片对周围环境温度信号的采集及显示。
2.2设计意义嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统设计期末大作业

江苏科技大学嵌入式系统设计期末大作业----嵌入式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作为平台。
2016微机及嵌入式系统综合设计题目

【课题1】 通过小键盘输入控制不同的显示效果。
设计要求:1.按下“A”键时,从左向右在8个数码管上逐位移动并循环显示数字“2016”。
2.按下“B”键时,发光二极管的点亮规则如下:⑴ 绿色、黄色、红色发光二极管同时点亮,闪烁5次,转入⑵;⑵ 绿色、黄色、红色发光二极管依次点亮,循环3次,转入⑶;⑶ 红色、黄色、绿色发光二极管依次点亮,循环3次,转入⑴。
3.按下“C”键时,在右侧5个数码管上显示“PAUSE”。
说明:要求可以通过三个按键随时进行1-3的状态切换。
【课题2】 十字路口交通灯管制设计要求:设置十字路口南北、东西向的四组红黄绿灯亮灯的规律符合实际的十字路口交通灯亮灭的规律。
要求: (1)确定两路灯的位置(一路南北向、一路东西向);(2)绿灯点亮后均持续5秒(硬件实现);(3)绿灯转红灯时先要变黄;(4)绿灯变黄灯前要闪烁三次。
以上为正常情况下的交通灯规则。
此外要求:(1)若按下“E”键,进入紧急情况1,保持南北向持续绿灯,东西向持续红灯;(2)若按下“F”键,进入紧急情况2,保持东西向持续绿灯,南北向持续红灯;(3)若按下“C”键,进入紧急情况3,保持南北向和东西向持续黄灯;(4)若按下“A”键,恢复正常交通灯规则。
说明:要求可以通过四个按键随时进行(1)-(4)的状态切换。
【课题3】 利用8259A 的IR2显示中断过程。
设计要求:1.主程序是从左向右在8个数码管上逐位移动并循环显示数字“2016”。
2.通过8259A的IR2引脚上的中断请求进入中断服务程序:(1)若第一次进入中断,则所有数码管均显示1,同时发光二极管中左侧第一个灯保持闪烁;(2)若第二次进入中断,则所有数码管均显示2,同时发光二极管中左侧前两个灯保持闪烁;......;(6)若第六次进入中断,则所有数码管均显示6,同时发光二极管中左侧前六个灯保持闪烁;(7)若第七次进入中断,在数码管上显示“2016LOOP”,同时发光二极管所有红灯保持闪烁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统设计大作业
1、叙述嵌入式系统开发过程中所要解决的两个问题。
2、叙述嵌入式平台的搭建过程,以linux为例。
3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品?
体系结构是什么?
4、现今较流行的嵌入式操作系统有哪些?
5、PXA270嵌入式开发板的接口有哪些?
6、请写出Nor Flash和Nand Flash的区别。
7、冯。
诺依曼架构与哈佛架构的区别。
8、单周期3级流水的情况下,第10个指令周期时,第几条指令执行结束?
9、下面是linux下的一个简单的设备驱动程序,写出linux设备驱动常用的数据结构,同时阅读下面代码,请给出测试程序中的每条语句加以注释。
设备驱动程序Keypad.c的源代码:
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/poll.h>
#include <linux/types.h>
#include <linux/fs.h>
#include <linux/rtc.h>
#include <linux/delay.h>
#include <asm/hardware.h>
#include <asm/delay.h>
#include <asm/uaccess.h>
#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
/*EXT_KEY_CS 为向外部LED进行数值设定,它定义在其它头文件里*/
void led_off_on() /**/
{
int i;
EXT_LED_CS = 0xff;
for(i =0 ; i<8;++i)
{
EXT_LED_CS = ~((1 << i) & 0xff);
udelay(30000);
}
EXT_LED_CS = 0xff;
}
int lednkey_open(struct inode *inode, struct file *filp)
{
MOD_INC_USE_COUNT;
return (0); /* success */
}
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));
return (0);
}
int lednkey_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,unsigned long arg)
{
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);
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<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#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 );
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);
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) );
}
}
close( fd );
return 0;
}
10、基于Intel Gilelo开发板,设计一个项目,项目题目自选,给出项目的总体设计图,以及对图中模块的功能分析,若可以,给出实现项目的详细设计和程序及代码,及实物。
提示:百度arduino关键字,可提供各种资料。