文档视界 最新最全的文档下载
当前位置:文档视界 › 嵌入式程序设计大作业

嵌入式程序设计大作业

嵌入式程序设计大作业
嵌入式程序设计大作业

大连理工大学本科实验报告

课程名称:嵌入式程序设计

学院(系):软件学院

专业:软件工程

2011年5月15日

实验一:uClinux内核调试实验

一、实验目的和要求

了解uClinux系统架构,掌握uClinux的配置、编译过程;

掌握BusyBox的原理、编译、使用方法;

熟练掌握uClinux内核调试过程中使用的的工具软件。

二、实验原理和内容

实验原理:

1、uClinux属于Linux的一个变体,主要面向没有MMU的硬件平台,源码开放,它与

标准Linux主要的区别在于两者的内存管理机制和进程调度管理机制不同。uClinux 内核大小约500k,如果加上一些基本应用,不超过900k,很适合嵌入式系统使用。

2、BusyBox是一个集成了一百多个最常用的Linux命令和工具的软件,把常用的工具

和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小了很多倍。

实验内容:

uClinux内核配置、编译;

配置和编译BusyBox;

romfs文件系统编译;

镜像文件到目标机的下载、运行。

内核调试。

三、主要仪器设备

硬件:PC机,Embest EduKitIII 44B0核心子板,Embest ARM 标准/增强型仿真器套件;

软件:RedHat 9.0操作系统、uClinux交叉编译工具链、flash烧写工具、超级终端。

四、实验步骤与操作方法

1、安装uClinux源代码。拷贝uClinux-dist-20040408.tar.gz 所在目录所有文件到usr\tmp下,解压uClinux源代码包。

mkdir -p /usr/local/src

cd /usr/local/src

tar xvzf /usr/tmp/uClinux-dist-20040408.tar.gz

解压完毕后,在/usr/local/src目录下会有一个目录uClinux-dist,用以存放uClinux 源代码,以后的操作均在此目录下进行。

2、修改uClinux源文件。将补丁文件https://www.docsj.com/doc/fb16397693.html,Kit44b0.patch拷贝到usr/tmp 目录下。

cd /usr/local/src/uClinux-dist

patch -p1 < /usr/tmp/https://www.docsj.com/doc/fb16397693.html,Kit44b0.patch

3、安装开发工具链。拷贝arm-elf-tools-20030314.sh到/tmp目录下,在控制台使用以下命令运行安装脚本arm-elf-tools-20030314.sh

cd /tmp

./ arm-elf-tools-20030314.sh

4、配置uClinux。

(1)执行make xconfig配置目标平台。在配置主界面点击Vendor/Product Selection(生产厂商选择),弹出Vendor/Product Selection窗口,点击

Vendor左侧选项,弹出厂商列表,选择厂商Embest;在配置主界面点击

Kernel/Library/Defaults Selection(内核和库设置);在Kernel Version

项里面选择linux-2.4.x;在Libc Version项里面选择uClibc;然后点击Main

Menu返回配置主界面。

(2)定制内核。在配置主界面点击Save and Exit,接下来需要进行文件系统配置,在内核定制界面中选择file system->network file system->NFS file

system support,以及file system->network file system->provide NFS v3

client support,然后保存退出。

(3)定制用户。选择busybox->ifconfig相关的5个选项,busybox->tftp相关的三个选项,busybox->ls相关的1、4、5三个选项。然后在用户程序定制界面

中还需要选择Network application->ftp定制完毕后,点击Save and Exit

保存退出,完成内核及用户程序裁剪配置。

(4)编译Linux。执行以下命令完成uClinux的编译过程,

cd /usr/local/src/uClinux-dist/

make dep

make clean

make lib_only

make user_only

make romfs

make image

5、烧写内核。

(1)配置Embest Online Flash Programmer:加载EduKit44b0&AM29LV160DB.CFG 文件;Setting->Configure(UNetICE、FullSpeed、USB);

(2)烧写映像文件。更改CPU的起始地址,使其为0x00000000;烧写bootloader 文件https://www.docsj.com/doc/fb16397693.html,Kit44b0.bin,,烧写到从Flash地址0x0开始的64K( 1-4扇

区),点击Program烧写;烧写zImage映像文件,5-35扇区。

6、运行uClinux。实验箱连接串口,运行Windows的超级终端串口通信程序(波特率

115200、8位数据位、无奇偶校验、1位停止位、无数据流控制)。重启实验箱,观察超级终端上的运行结果。

7、内核调试。

(1)修改内核,在linux-2.4.x/init/main.c的start_kernel函数里的mem_init 函数前加入一句printk(“0817 Huangyuanyuan 0810 Lubingxian\n”)。

(2)cd /usr/local/src/uClinux-dist

make image

(3)重启实验箱,观察超级终端的输出,检查是否有用户添加的信息输出,并截图。

五、实验数据记录和处理

实验结果如图所示:

重启实验箱后,超级终端显示(部分图):

输入数据后(如ls命令):

嵌入式系统设计大作业

嵌入式系统设计大作业 学号:14020520009 姓名:罗翔 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) 配置超级终端minicom minicom是宿主机与目标板进行通信的终端:在宿主机Linux终端中输入:minicom-s或输入minicom然后按ctrl+A+O对超级终端minicom进行配置,再选择串口并配置串口,最后保存即可 4) 建立数据共享服务:NFS服务是Linux系统中经常使用的数据文件共享服务 5) 编译嵌入式系统内核:内核配置,建立依存关系,建立内核 6) 制作文件系统 3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品? 体系结构是什么? S3C2410X基于ARM的Sumsang; XscalePXA255/PXA270基于ARM的Intel; 摩托罗拉MC基于68k; Power 601基于Power PC; MIPS32Kc基于MIPS 4、现今较流行的嵌入式操作系统有哪些? 答: (1) VxWorks (2)wince (3)linux (4)android

大作业设计报告书(嵌入式系统原理与开发)

大作业设计报告书 题目:嵌入式系统原理与开发 院(系):物联网工程学院 专业: 班级: 姓名: 指导老师: 设计时间: 10-11 学年 2 学期 20XX年5月

目录 1.目的和要求 (3) 2.题目内容 (3) 3.设计原理 (4) 4.设计步骤 (5) 4.1 交通指示灯设计 (5) 4.2 S3C44B0X I/O 控制寄存器 (6) 4.3 红绿灯过渡代码: (8) 4.4 电源电路设计 (10) 4.5 系统复位电路设计 (11) 4.6 系统时钟电路设计 (11) 4.7 JTAG 接口电路设计 (12) 4.8串口电路设计 (12) 5.引脚分类图 (13) 6.参考文献 (13)

1.目的和要求 ARM技术是目前嵌入式应用产业中应用十分广泛的先进技术,课程开设的目的在于使学生在了解嵌入式系统基础理论的前提下能够掌握ARM处理器的汇编语言和c语言的程序设计方法,掌握S3C44B0X芯片的基本硬件结构特点和接口设计方法,同时熟悉ARM开发环境,学习ARM的硬件设计和软件编程的基本方法,为今后从事相关的应用与研究打下基础。通过大作业要达到如下目的: 一、掌握ARM的开发工具使用和软件设计方法。 二、掌握ARM处理器S3C44B0X的原理和GPIO接口设计原理。 三、掌握C语言与的ARM汇编语言的混合编程方法; 四、培养学生选用参考,查阅手册及文献资料的能力。培养独立思考,深入研 究,分析问题、解决问题的能力。 五、通过课程设计,培养学生严肃认真的工作作风。 2.题目内容 题目:交通指示灯系统设计 功能描述: 1.用S3C44B0X的GPIO设计相关电路; 2.设计相关的软件并注释; 3.实现十字路口2组红、黄、绿交通灯交替显示。 编程提示: 1.交通灯可用发光二极管代替; 2.电路可部分参照实验电路; 3.时间控制可以使用软件循环编程解决。

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

嵌入式系统设计大作业 1、叙述嵌入式系统开发过程中所要解决的两个问题。 2、叙述嵌入式平台的搭建过程,以linux为例。 3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品? 体系结构是什么? 4、现今较流行的嵌入式操作系统有哪些? 5、PXA270嵌入式开发板的接口有哪些? 6、请写出Nor Flash和Nand Flash的区别。 7、冯。诺依曼架构与哈佛架构的区别。 8、单周期3级流水的情况下,第10个指令周期时,第几条指令执行结束? 9、下面是linux下的一个简单的设备驱动程序,写出linux设备驱动常用的数据结构,同时阅读下面代码,请给出测试程序中的每条语句加以注释。 设备驱动程序Keypad.c的源代码: #include #include #include #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 /*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; }

上海交大---嵌入式第一次作业

题目1 完成 满分1.00 Flag question 题干 下列哪个不是嵌入式系统的特点:()选择一项: a. 专用性 b. 资源受限 c. 功耗约束 d. 常由外接交流电电源供电 题目2 完成 满分1.00 Flag question 题干 下列哪些不是嵌入式系统:()。 选择一项: a. 移动电话、手机 b. MP3 c. MID

d. 深蓝超级计算机 题目3 完成 满分1.00 Flag question 题干 指令和数据共享同一总线的体系结构是()。选择一项: a. 冯?诺依曼结构 b. 哈佛结构 c. RISC d. CISC 题目4 完成 满分1.00 Flag question 题干 下面不属于 ...嵌入式处理器的是:()。 选择一项: a. Intel Core(酷睿)处理器

b. Intel Atom处理器 c. MCS-51单片机 d. ARM处理器 题目5 完成 满分1.00 Flag question 题干 在嵌入式处理器与外部设备接口中,使用2根线实现多对多双向收发的是:()。 选择一项: a. UART b. I2C c. SPI d. USB 题目6 完成 满分1.00 Flag question 题干 假设使用奇偶校验位,UART发送一个字节的数据,从idle状态开始(及数据线为高),到允许进行下一次发送动作态为止,至少需要()个时钟节拍。

选择一项: a. 8 b. 9 c. 10 d. 11 题目7 完成 满分1.00 Flag question 题干 关于SIMD说法错误 ..的是:()。 选择一项: a. SIMD通过复制ALU和寄存器组,共享取值、译码单元来获得计算并行。 b. SIMD是通过增加寄存器个数来提高数据处理的宽度。 c. SIMD中多个运算单元运行的是相同的指令。 d. Intel Atom的SSE指令属于SIMD指令 题目8 完成 满分1.00 Flag question 题干

嵌入式系统模拟试题及答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 2014学年下学期 《嵌入式系统》期末考试试题 (综合大作业) 题号一二三四五总分 题分2010302020 得分 考试说明: 1、大作业于2014年12月25日下发,2015年1月10日交回; 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须手写完成,要求字迹工整、卷面干净。 一、问题简述(每小题4分,共20分) 1、简述嵌入式系统的定义和组成结构。 答:嵌入式系统是以应用为中心,以计算机技术为基础,并软硬件可剪裁、功能、 ,可靠性、体积、重量、成本、功耗、成本、安装方式等方面符合要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、存储与I/O部分、外设与执行部分、嵌入式软件等四个部分组成。 2、简单说明ARM微处理器的特点。 答:(1) 体积小、低功耗、低成本、高性能。 (2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼 容8位/16位器件。

(3) 大量使用寄存器,指令执行速度更快。 (4) 大多数数据操作都在寄存器中完成,通过Load/Store结 构在内存和寄存器之间批量传递数据。 (5) 寻址方式灵活简单,执行效率高。 (6) 指令长度固定。 3、简述嵌入式系统产品的设计和开发过程。 答:①在嵌入式系统的开发过程中,一般采用的方法是首先在通用PC机上的集成开发环境中编程;②然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③接着通过嵌入式调试系统调试正确;④最后将程序下载到目标平台上运行。 要强调,选择合适的开发工具和调试工具,对整个嵌入式系统的开发都非常重要。 4、简述嵌入式系统设计中要考虑的因素。 答:在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳 定性、可维护性、可升级、可配置、易于操作、接口规范、抗干 扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。 5、什么是BootLoader,了解其在嵌入式系统中作用。 答:就是启动载入或引导加载又叫自举装载。由于系统加电后需 要首先运行BootLoader这段程序,因此它需要放在系统加电后 最先取指令的地址上。嵌入式处理器的生产厂商都为其处理器预 先安排了一个在系统加电或复位后最先取指令的地址。 二、名词解释(每小题2分,共10分) 1、DSP(Digital Signal Processor),数字信号处理器,一种特别用于快速处理数字信号的微处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。 2、RTOS Real Time Operating System. 译为实时操作系统。实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 3、BSP设计板级支持包(BSP)的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。类似于PC机上的BIOS,是一个承上启下的软件层次。由嵌入OS和用户开发相结合取得。BSP一般是在嵌入式系统上固化存放。 4、总线竞争就是在同一总线上,同一时刻,有两个以上器件要通

嵌入式系统基础作业

一、简要说明嵌入式系统产品的基本组成、嵌入式系统特点、嵌入式系统开发流程; 答:基本组成:可分为硬件和软件两个组成部分。其中硬件组成结构以嵌入式微处理机为中心,配置存储器I/O设备、通信模块以及电源等必要的辅助借口;软件组成结构包括应用层、OS层、BSP等。 特点:“专用”计算机系统;运行环境差异大;比通用PC系统资源少;功耗低、体积小、集成度高、成本低;具有完整的系统测试和可靠性评估体系;具有较长的生命周期;需要专用开发工具和方法进行设计;包含专用调试电路;多科学知识集成系统。 开发流程:(1)系统定义与需求分析阶段。(2)方案设计阶段。(3)详细设计阶段。(4)软硬件集成测试阶段。(5)系统功能性及可靠性测试阶段。 二、写出教材图1-1嵌入式系统的组成结构中各英文缩写的中文释义; 答:.OS:操作系统 API:应用程序接口 BSP:板级支持包 Boot:启用装载 HAL:硬件抽象层 SoC/SoPC:片上系统/片上可编程系统 GPIO:控制处理器输出接口 USB:通用串行总线 LCD:液晶显示器 ADC/DAC:模数转换和数模转换 FPGA/CPLD:现场可编程门阵列/复杂可编程逻辑器件 UART/IrDA:通用异步收发传输器/红外线接口 DMA:直接内存访问 CAN:控制器局域网络 Timer/RTC:定时器/实时时钟 MMU/Cache:内存管理单元/高速缓冲存储器

三、比较说明FLASH存储器中NOR型和NAND型FLASH的主要区别;比较说明RAM 存储器中SRAM和SDRAM的主要区别; 答:NORFlash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NORFLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。NANDFlash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。SRAM是靠双稳态触发器来记忆信息的;SDRAM是靠MOS电路中的栅极电容来记忆信息的。由于电容上的电荷会泄漏,需要定时给与补充,所以动态RAM需要设置刷新电路。但动态RAM比静态RAM集成度高、功耗低,从而成本也低,适于作大容量存储器。所以主内存通常采用SDRAM,而高速缓冲存储器(Cache)则使用SRAM,在存取速度上,SRAM>SDRAM。 四、说明嵌入式系统常见硬件平台种类、典型处理器型号; 答:典型的型号有MIPS处理器、PowerPC处理器、Sparc处理器、ARM处理器、Xtensa系列可配置处理器。 五、嵌入式系统中常用的接口或通信方式有RS232、RS485、BlueTooth、CAN、IrDA、GPRS、SPI、GSM、802.11、SPI、IIC、Ethernet、JTAG等,请根据通信介质是否无线或有线对其进行分类;请根据通信距离从近至远依次排序;请根据通信速度从慢至快依次排序; 答:无线:RS485、BlueTooth、CAN、IrDA、GPRS、GSM、802.11、Ethernet 有线:RS232、SPI、IIC、JTAG 传输距离:RS232、SPI、IIC、JTAG、BlueTooTh、IrDA、RS485、CAN、802.11、GSM、GPRS、Ethernet 传输速度:GSM、GPRS、Blueteeth、IrDA、802.11、CAN、RS232、RS485、Ethernet、IIC、SPI、JTAG 六、列举常见嵌入式操作系统及其特点; 答:源代码公开并且遵循GPL协议 有大量的免费的优秀的开发工具,且都遵从GPL,是开放源代码的。

嵌入式系统大作业

《嵌入式系统原理及应用》课 程论文 嵌入式数据库的现状和发展趋势 学生姓名 学号 专业 班级 授课教师 所属学院

嵌入式数据库的现状和发展趋势 摘要:随着计算机技术及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已经普遍应用于我们的生活。这些产品通常是在计算资源、存储资源等条件受限的情况下处理大量的数据,而传统的数据库一般都是运行在各种各样的服务器或大容量的存储器上,显然把传统的数据库直接移植到嵌入式设备上是不可行的。嵌入式数据库应运而生。本文从嵌入式系统结构入手,阐述了嵌入式数据库的发展现状,并具体介绍了当前主流嵌入式数据库的共性、基本特点、关键技术、构件、分类,并提出了发展趋势和进一步研究的技术突破点。 关键词:嵌入式数据库、复制、缓存技术、现状、趋势 引言 随着计算机技术及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已经普遍应用于我们的生活,比如智能手机、车载导航设备、数字移动电视、机顶盒、智能控制设备等。这些产品通常是在计算资源、存储资源等条件受限的情况下处理大量的数据,而传统的数据库一般都是运行在各种各样的服务器或大容量的存储器上,显然把传统的数据库直接移植到嵌入式设备上是不可行的。那么如何在苛刻的条件下,充分利用有限的资源便成为了人们研究的热点。嵌入式数据库也正是在此条件下,和嵌入式操作系统、嵌入式应用软件相伴而生的。 正文 1嵌入式系统的体系结构 嵌入式系统的英文叫做Embedded System, 是一种包括硬件和软件的完整的计算机系统, 但又跟通用计算机系统不同。嵌入式系统的定义是: / 嵌入式系统是以应用为中心, 以计算机技术为基础, 并且软硬件可剪裁, 适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。0嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器, 但是功能比通用计算机专门化, 具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。 嵌入式数据库位于嵌入式系统的中间部分,下面有嵌入式操作系统层,当前主流的嵌入式操作系统有Windows CE;Palm OS。Linux,VXworks,SymbianOS等平台,硬件平台主要有Dragonball,Handspring,MIPS,Hitachi SH,Power PC以及ARM处理器。嵌入式应用软件位于嵌入式数据库之上,可以通过API函数接口,、ODBC,JDBC等与嵌入式数据库通信,来实现数据的检索、删除、添加等操作,更为重要的是要实现数据的完整性、一致性。当前主流的嵌入式数据库,具有支持多个平台、面向多种开发语言、具有多个灵活的接口等特点,主流的嵌入式数据库有:Oracle公司的Berkeley DB、Sysbase Adaptive ServerAnywhere、Linter以及SQLite等,国内的科研机构也积极开展这方面的研究并推出了自己的产品,主要有方舟公司的Noahbase人大金仓kingbase等。

嵌入式系统大作业

嵌入式系统大作业-标准化文件发布号:(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音频接口,此接口

嵌入式系统大作业一

《嵌入式系统》课程ARM部分大作业 一、如何定义ARM寄存器列表,试举一个使用寄存器列表的例子,要求实现4个字的内存复制。 答:AREA EXAMPLE1,CODE,READONLY ENTRY LDR R0,=0XFF; //把地址0XFF赋给R0 LDR R5,=0X0F; //把地址0X0F赋给R5 START PBLOCK RLIST {R1-R4}; //把R1-R4定义为PBLOCK LDMIA R0,PBLOCK; //把R0为首地址的内存4个字单元装载至R1到R4中 STMIA R5,PBLOCK; //把R1到R4的值依次存至R5为首地址的内存字单元 STOP B STOP; //死循环 END 二、分析下面程序,写出下面程序遵循的规则,给出关键语句的注释,以及程序功能。 #include<stdio.h> extern void strcopy(char *d,const char *s); int main() { c onst cha r *srcstr=“First string - source”; c har dststr[]=“secon d string - destination”; p rintf(“Before copying:\n”); p rintf(“%S\n%S\n” srcstr,dststr); s trcopy(dststr,srcstr); printf(“After copying:\n”); P rintf(“%s\n%s\n”,srcstr,dststr); r eturn(0); } AREA scopy CODE,READONLY E XPORT strcopy ; Strcopy ;//R0指向目的字符串,R1指向源字符串 L DRB R2,[R1],#1;//加载字节和更新地址 S TRB R2,[R0],#1;//储存字节和更新地址 C MP R2,#0;//检查零终止符 B NE strcopy //如果不是零终止符则循环,否则继续执行 M OV PC,LR;//返回 E ND 答:功能:将r1指向的字符串拷贝到r0指向的地方,字符串以0作结束标志。 三、分析下面程序,写出下面程序遵循的规则,给出关键语句的注释,以及程序

嵌入式系统设计期末大作业

标准 文案江苏科技大学 嵌入式系统设计期末大作业----嵌入式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个部分。

嵌入式系统设计课程设计

嵌入式理论及应用 设计题目:基于μC/OS-II8*8点阵的设计与制作 嵌入式系统设计课程设计 一、概述 1. 单片机介绍 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 2. 单片机历史 单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。 1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。 2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。 3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。 3. 单片机的应用领域 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 二、单片机的结构与原理 1.AT89C55芯片 AT89C55单片机芯片内部结构框图如图1所示。

嵌入式系统设计作业及答案范文

嵌入式系统设计作 业及答案

第0章绪论 1、什么是数字系统设计技术? 在解决了对不同目标信息的数字化编码、数字化传输、数字化解码的基本理论、算法定义和协议规范之后,对其如何进行系统的构成,如何以最优化的性能(如速度)、最低廉的成本(如芯片面积、集成密度等)来实现该系统的技术。 2、什么是集成电路IC? 集成电路(IC)是指经过一系列特定的加工工艺,将多个晶体管、电阻、电容等器件,按照一定的电路连接集成在一块半导体单晶片(如Si或GaAs)或陶瓷等基片上,作为一个不可分割的整体完成某一特定功能的电路组件 3、什么是集成电路IP? 集成电路IP是经过预先设计、预先验证,符合产业界普片认同的设计规范和设计标准,具有相对独立功能的电路模块或子系统。其具有知识含量高、占用芯片面积小、运行速度快、功耗低、工艺容差性大等特点,能够复用(Reuse)于SOC、SOPC或复杂ASIC 设计中。 4、什么是SOC? SOC,即嵌入式系统发展的最高形式——片上系统。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲, SOC是一个微小型系统, 第1章嵌入式系统基础知识

1、计算机系统的三大应用领域是什么? 服务器市场,桌面市场,嵌入式市场 2、通用计算机与嵌入式系统的对比是什么? 3、分别从技术角度和系统角度给出嵌入式系统的定义 技术角度:以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统 系统角度:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统 4、嵌入式系统的特点是什么? 从三要素说:嵌入式:嵌入到对象体系中,有对象环境要求 专用性:软、硬件按对象要求裁减 计算机系统:实现对象的智能化功能 功耗限制、低成本、多速率、环境相关性、系统内核小、专用性强、不可垄断性、产品相对稳定性

嵌入式系统设计课程大作业

嵌入式系统设计课程大作业

2012年上学期嵌入式系统设计课程大作业 1、叙述下列相关名词的含义 ARM、xscale、PXA255、RISC、体系结构 答:1)ARM:英国的一家公司;时下流行的一种体系结构。 2)XScale:ARM架构v5TE指令集的CPU。 3)PXA255:XScale的内核版本。 4)RISC:Reduced Instruction Set Computing,即精简指令集,一种CPU 的设计概念;与之相对的是CISC,即复杂指令集 5)体系结构:嵌入式系统硬件与软件的衔接;它确定嵌入式系统设计的部件、部件功能、部件间借口的设计,并集中于嵌入式系统的核心部分——处理器的运算与内存的存取。 2、画出嵌入式硬件系统组成的模块结构图 3、叙述基于linux的嵌入式平台的搭建过程 答:Linux嵌入式平台的搭建符合嵌入式平台搭建的一般过程,但是具体到Linux 嵌入式平台,又有些许不同,其搭建过程如下: 1)处理器以及硬件开发平台的选择 以处理器为主,结合考虑硬件平台的情况。处理器考虑的问题包括应用类型及I/O接口、主频和功耗、对不同类型存储器的支持、封装等;硬件平台的选择和设计包括内存和外围存储器、输入输出接口以及设备等几项主要内容。 2)操作系统的选择 由于已经选取了Linux操作系统,因此此处主要是内核版本的选取以及对内核功能的裁剪。 3)开发环境的选取

即开发工具的选取,主要是指开发软件的选取,比如常用的minicom。 4)开发实施 首先,Bootloader的烧制。目的是对硬件系统基本功能的支持,比如串口通信。其次,内核文件的制作。接下来,内核文件的拷贝。此时,可以通过串口或者网口实施传输,能够大幅度提高传输速度。最后,在主机使用开发软件,完成对硬件系统的开发工作。包括硬件驱动程序、上层的应用程序、系统的集成与调试等。 4、如下为xscale处理器的内核框图:

单片机大作业

西安电子科技大学 单片机大作业 学院:电子工程学院 班级:02121X班 姓名:XXX 学号:0212XXX 指导老师:XXX 温度控制系统设计 一、温度控制系统设计发展历史及意义 在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。传统的继电器调温电路简单实用 ,但由于继电器动作频繁 ,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字

温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。 二、DS18B20工作原理 DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 三、系统软件流程图 四、电路原理图 1.DS18B20温度传感器检测电路

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.嵌入式系统可以没有操作系统。

“嵌入式系统调试”课程大作业题目

“嵌入式系统调试”课程大作业题目 作业文档要求: 1.软硬件仿真环境的配置过程。 2.简述硬件原理,画出硬件原理图。 3.软件设计思路、程序流程图及其说明。 4.软硬件仿真调试步骤(或实物实验)及每个步骤的调试结果(操作的成 败、实验的关键点等)。 5.结论或总结。 6.附录:程序清单。 一、嵌入式系统仿真环境的使用与调试基础1 难度:基本,满分70分。 要求如下: 1)嵌入式系统软件仿真环境的使用。 ⑴新建软件工程;⑵工程的设置:;⑶单步运行;⑷全速运行;⑸断点设置。 2)嵌入式系统硬件仿真环境的使用 ⑴新建工程;⑵工程的设置:⑶单步运行⑷⑸ 3)数据传送、存储器块清零和移动。 ⑴将40~4FH 数据送到数据存储器80~8FH中。 ⑵将数据存储器7E00~7E0FH中的数据送到8031内部RAM 50~5FH中。 ⑶将以(R2,R3)为源地址的RAM区数据,传送到以(R4,R5)为目的地址的RAM区,所传送数据的长度存放在(R6,R7)中。 ⑷将数据存储器80~8FH清零、将数据存储器7E00~7E0FH清零 4)二进制到BCD转换、十进制到ASCII码转换 ⑴将给定的一个单字节二进制数,转换成非压缩的二—十进制(BCD)码。 ⑵将给定的一个单字节二进制数,转换成压缩的二—十进制(BCD)码。 ⑶将⑵中得到的压缩BCD数,分别用查表法和逻辑运算方法将其转换成ASCII值。 5)INT0中断控制LED

将按键作为外部中断源,当按下按键时,D1点亮;再按下一次按键,D1熄灭;如此依次循环。 二、嵌入式系统仿真环境的使用与调试基础2 难度:基本,满分70分。 要求如下: 1)嵌入式系统软件仿真环境的使用。 ⑴新建软件工程;⑵工程的设置:;⑶单步运行;⑷全速运行;⑸断点设置。 2)嵌入式系统硬件仿真环境的使用 ⑴新建工程;⑵工程的设置:⑶单步运行⑷⑸ 3)数据传送、存储器块清零和移动。 ⑴将40~4FH 数据送到数据存储器80~8FH中。 ⑵将数据存储器7E00~7E0FH中的数据送到8031内部RAM 50~5FH中。 ⑶将以(R2,R3)为源地址的RAM区数据,传送到以(R4,R5)为目的地址的RAM区,所传送数据的长度存放在(R6,R7)中。 ⑷将数据存储器80~8FH清零、将数据存储器7E00~7E0FH清零 4)二进制到BCD转换、十进制到ASCII码转换

嵌入式操作系统期末大作业

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 0

2.配置sudoers文件,实现任何普通用户都拥有关机与更改他人密码(root除外)的权限。 (10分) zucc myhost=(root) NOPASSWD /usr/bin/reboot./sur/bin/passwd root 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赋值给变量val while (test $val –lt 6) #判断val的值是否小于6 do touch file$val #当判断语句成立则创建文件 date>>file$val #在文件的末尾追加时间 val=’expr $val + 1’#在循环中用于val的增量计算 done #循环结束 2.分析下面的程序,简要说明整体功能,并解释每条语句。 #!/bin/bash #使用/bin/bash解释脚本 i=1 #给变量赋初值 while [$i -le 30] #当变量i是否小于等于30 do #do语句判断执行 if [$i –le 9] #判断语句如果变量小于等于9 userdel -r stu0${i} #删除用户名为stu0[1-9]的账号 else userdel -r stu${i} #删除用户名为stu[10-30]

相关文档
相关文档 最新文档