嵌入式系统实习报告

2024-11-09

嵌入式系统实习报告(精选8篇)

1.嵌入式系统实习报告 篇一

嵌入式系统设计实验报告

班 级:学 号:姓 名:成 绩:指导教师:

20110612 2011061208 李晓虹 武俊鹏、刘书勇

1.实验一

1.1 实验名称

博创UP-3000实验台基本结构使用方法

1.2 实验目的

1.熟悉嵌入式系统开发式流程概述。

2.熟悉UP-net3000实验平台的核心硬件电路和外设。3.熟悉ARM JTAG的安装与使用。

1.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发

环境、仿真器驱动程序、超级终端通讯程序。

1.4 实验内容及要求

1.熟悉嵌入式系统开发式流程概述。

2.熟悉UP-net3000实验平台的核心硬件电路和外设。3.熟悉ARM JTAG的安装与使用。

1.5 实验设计与实验步骤

1.新建超级终端

2.选择ARM 开发实验台串口。

完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置 3.保存为一个特定超级终端到桌面上,以备后用。用串口线将PC 机串口和平台UART0 正确连接后,就可以在超级终端上看到程序输出的信息了。4.启动开发板,按住任意键,使开发板进入BIOS设置状态。

5.在超级终端的界面上,显示BIOS版本信息,以及相应的测试指令。操作时,要在PC机上输入小写的字母快捷键,进入到相应的功能中去。6.按照超级终端上的提示信息,进行功能的测试。

1.6 实验过程与分析

本次实验操作起来并不困难,因为此次实验属于验证型实验,按照实验资料所给的提示信息,以上面的步骤,即可得到实验的结果。进入到BIOS界面后,按照超级终端上的提示信息来进行功能

1.7 实验结果总结

在实验过程中,我们进行的很顺利,没有遇到什么问题,在超级终端界面,按提示的快

捷键来测试对应的功能。如

e:测试由ZLG7289 驱动的LED 显示,共分3 步,请看超级终端提示按任意键继续,同 时观察LED 的变化,最后返回主菜单。

b:引导FLASH 中的应用程序system.bin。执行该功能将退出BIOS 状态,把控制交给应 用程序,等。

1.8 心得体会

通过此次实验,我对于实验环境有了初步的了解与认识,对于嵌入式也有了更深一步的认识。同时实验过程中,我学会了第一次接触的超级终端的使用方法,并能够熟练掌握,知道其工作的原理。

2.实验二

2.1 实验名称

ADS1.2软件开发环境使用方法

2.2 实验目的

1.熟悉ADS1.2 开发环境,学会ARM 仿真器的使用。

2.使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。

2.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发

环境、仿真器驱动程序、超级终端通讯程序。

2.4 实验内容及要求

掌握AXD Debugger的使用方法,学习串行通讯原理,了解串行通讯控制器,阅读ARM 芯片文档,掌握ARM 的UART相关寄存器的功能,熟悉ARM 系统硬件的UART 相关接口。编程实现ARM 和计算机之间的串行通讯:ARM 监视串行口;将接收到的字符再发送给串口(计算机与开发板是通过超级终端通讯的);即按PC 键盘通过超级终端发送数据,开发板将接收到的数据再返送给PC,在超级终端上显示。

2.5 实验设计与实验步骤

(1)新建工程,选择菜单中的Project | Add Files 把和工程相关的所有文件包括init和startup 子目录加入到工程中。ADS1.2 不能自动按文件类别对这些文件进行分类,需要的话可以执行菜单Project | Create Group 创建文件组,然后分别将不同类的文件加入到不同的组,以方便管理。(另一种办法是,在新建工程时ADS 创建了和工程同名的目录,在该目录下按类别创建子目录并存放工程文件。选中所有目录拖动到任务栏上的ADS 任务条上,不要松

开鼠标当ADS 窗口恢复后再拖动到工程文件窗口,松开鼠标。这样ADS 将以子目录名建立同名文件组并以此对文件分类。)

(2)双击Main.c 打开该文件,可以看到Main()函数的内容如下所示。int main(void){ ARMTargetInit();//开发版初始化 LCD_Init();LCD_ChangeMode(DspTxtMode);//转换LCD 显示模式为文本显示模式 LCD_Cls();//文本模式下清屏命令

LCD_printf(“Hello world!n”);//向液晶屏输出 Uart_Printf(“nHello world!n”);//向串口输出 while(1);}(3)利用上个实验中的通讯软件超级终端来将生成的文件放到嵌入式开发平台中。(4)重启实验台即可看到LCD上显示的“Hello world!” 2.6 实验过程与分析

新建工程,然后将所需的工程文件加载打工程目录下,编译生成system.bin文件,将文件导入到实验台中,然后重启实验台,即可得到实验结果。

2.7 实验结果总结

超级终端输出一些相对应的代码的执行结果。熟悉了ADS1.2 开发环境以及学会了ARM 仿真器的基本使用。使用ADS 编译、下载、调试并跟踪一段已有的程序,并大致了解了嵌入式开发的基本思想和过程。

2.8 心得体会

通过此次实验,我对于嵌入式开发的基本思想有了一定的了解,嵌入式开发采用的是交叉编译环境,所以在一些方面会有所限制。对于初学者来说,通过一两次实验结果的演示就能够对实验台有深入的了解不可能的,所以在后续的实验中,我要好好努力,认真做好课程实验为后续的课程设计实验打下基础。

3.实验三

3.1 实验名称

键盘及LED实验

3.2 实验目的

1.学习键盘及LED 驱动原理。

2.掌握ZLG7289芯片串行接口的使用方法,用ZLG7289芯片驱动17键的键盘和8个共阴极LED。

3.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开

环境、仿真器驱动程序、超级终端通讯程序。

3.4 实验内容及要求

编写出一段程序,要求能在LED上显示出小键盘上按下的4位数字。

3.5 实验设计与实验步骤

1.新建工程,将“Exp3 键盘及LED 驱动实验”中的文件添加到工程。2.定义ZLG7289 寄存器(ZLG7289.h)。3.编写ZLG7289 驱动函数(ZLG7289.c)。4.定义键盘映射表:(Keyboard16.c)。5.定义键值读取函数。

6.编写主函数,将按键值在数码管上显示。

3.6 实验过程与分析

此次实验中,我们根据已有实验,进行调试,查看程序的运行效果。根据效果,我们又回到实验代码中,然后对代码进行深入的研究,查看每部分功能所对应的代码,通过不断的调试编译,我们最终对该实验用到的代码有了更深的认识。从而能够按照要求,完成我们自己实验。

3.7 实验结果总结

通过小键盘的按键,键值可以在LED上显示出来。并学习了键盘及LED 驱动原理以及掌握了ZLG7289芯片串行接口的使用方法,用ZLG7289芯片驱动17键的键盘和8个共阴极LED。

3.8 心得体会

在这次实验中让我对嵌入式的实验箱有了进一步的认识,并且进一步了解的ARM实验的原理和实验情况,能够对源代码进行正确了理解。并且能修改这些源代码能够使其工作在自己的预期的工作状态和输出自己想要的结果

4.实验四

4.1 实验名称

电机转动控制及中断实验

4.2 实验目的

1.熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置。

2.编程实现ARM系统的PWM输出和I/O输出,前者用于控制直流电机,后者用于控制步进电机。

3.了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。

4.了解44B0处理器上中断的应用。

5.学习在44B0处理器上中断的应用。

6.进一步熟悉平台外围硬件及其驱动程序的编写。

4.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。

4.4 实验内容及要求

1.编程实现ARM芯片的一对PWM输出用于控制直流电机的转动,通过A/D旋钮控制其转动方式。

2.编程实现ARM的四路I/O通道,实现环形脉冲分配用于控制步进电机的转动,通过A/D旋钮控制步进电机的转角。

3.通过键盘控制直流电机与步进电机的切换。4.设置并启动定时器。

5.设置中断,编写定时器中断服务程序,对中断次数进行计数并在LED上显示结果。

4.5 实验设计与实验步骤

1.添加并打开工程。

2.进行直流电机初始化设置和代码编写。3.进行步进电机初始化设置和代码编写。

4.对Timer3编程,编写定时器中断服务程序,完成对中断次数的计数。5.编写LED计数显示函数,使LED能正确计数并显示0-9999。6.编写中断初始化函数和中断响应函数。7.终端下载测试。

4.6 实验过程与分析

1.对直流电机进行编程和测试,掌握转速和旋转方向的设定方法。2.对步进电机进行编程和测试,掌握ARM的四路I/O通道,实现环形脉冲分配用于控制步进电机的转动,通过A/D旋钮控制步进电机的转角。

3.对主函数进行编程,用键盘响应直流电机与步进电机的切换控制。

4.掌握中断相关语句的应用,弄清定义的中断向量、中断向量号,编写中断响应函数,并完成中断响应控制。

4.7 实验结果总结

实现了直流电机与步进电机的基本设置和控制,可以通过键盘控制电机之间的切换。完成了中断的响应和定时中断。

在通过本次实验,我初步了解的实验的目的所在,并且利用所给的源代码能够,调试出所预期的结果,而且能够根据已给的源代码修改得到所需的结果。

4.8 心得体会

通过本次实验,掌握了电机工作原理,了解了中断的意义和实现方法,实现了简单了中

断处理程序,更加了解了中断的意义。

5.实验五

5.1 实验名称

LCD驱动控制实验及触摸屏驱动实验

5.2 实验目的

1.了解触摸屏的基本概念与原理。

2.理解触摸屏与LCD的关系。3.编程实现对触摸屏的控制。

5.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。

5.4 实验内容及要求

1.了解触摸屏基本原理,理解对触摸屏进行输出标定、与LCD显示器配合的过程。2.通过编程实现触摸两点自动在两点间划直线。3.通过编程实现在触摸屏上动态画出曲线。

5.5 实验设计与实验步骤

1.添加并打开工程。

2.在头文件中定义宏和常量及驱动函数。3.校准触摸屏坐标,进行坐标转换。4.实现触屏取点并显示功能。5.实现两点间自动划线功能。6.实现触摸屏动态划线功能。

5.6 实验过程与分析

1.在定义触屏响应功能的函数中对点击触屏进行响应函数的修改,在其中添加修改点颜色的函数,修改得到的触摸点的颜色,并显示在LCD上。

2.获取第一个点坐标并储存,获取第二个点坐标并储存,编写划线函数,取得两点间直线上所有点的坐标,并对其改变颜色,显示在LCD上,即完成划直线功能。

3.将划线函数应用到响应触屏移动消息的函数下,即可对连续获得的触摸坐标进行连续的画短直线,连接成曲线,完成动态划线功能。

5.7 实验结果总结

了解了触摸屏响应动作消息的函数的工作原理,通过修改实现了触摸屏响应不同动作进行画点、划线、动态划线的功能。

5.8 心得体会

通过本次实验,使我了解了怎么在一块嵌入式实验箱 通过编程控制实验箱上得硬件,比如在本次实验中的控制LCD屏幕就是,在屏幕上点击,然后得到在LCD屏上点击的位置。本次实验初步完成了实验结果。

6.实验六

6.1 实验名称

UCOS-Ⅱ在ARM微处理器上的裁剪

6.2 实验目的

1.了解UCOS-Ⅱ内核的主要结构。

2.掌握UCOS-Ⅱ裁剪的基本原理与嵌入式编程实现方法。3.学习如何根据具体情况对UCOS-Ⅱ操作系统进行裁剪。

4.通过对UCOS-Ⅱ配置文件(OS_CFG.H)中相关的配置常量进行设置,实现对UCOS-Ⅱ的裁剪。

6.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。

6.4 实验内容及要求

对UCOS-Ⅱ内核进行裁剪并移植到ARM7微处理器上。

6.5 实验设计与实验步骤

编辑OS_CFG.H文件。OS_CFG.H文件中的内容可分为两大类:服务功能的配置和数据结构的配置。

一.服务功能的配置:

根据程序中的实际情况,保留自己要用的系统服务功能,删除自己不需要的服务功能。进行合理配置后,是我们自己系统的目标代码比较紧凑,从而降低了对程序代码存储空间的要求。如果代码存储空间足够大的话,那就将全部系统服务功能全部配置为1。不需要考虑功能裁剪。

二.数据结构功能的配置: 与任务有关的数据结构 1.OS_MAX_TASKS 作用:设置用户程序中可以使用的最多任务数。说明:该值不能超过62.举例: 若程序中用到了三个任务,则该值的最小值 2.OS_LOWEST_PRIO 作用:设置程序中最低任务的优先级。

说明: 设定该值可以节省操作系统使用RAM的空间。任务的最低优先级和最大任务数是没有直接关系的。

6.6 实验过程与分析

按照实验指导书上的步骤进行,得到了要求的系统。

6.7 实验结果总结

按照要求进行了裁剪,得到了满足需要又紧凑的应用软件系统。

6.8 心得体会

了解了UCOS-Ⅱ内核的主要结构,掌握了UCOS-Ⅱ裁剪的基本原理与嵌入式编程实现方法,学会了如何根据具体情况对UCOS-Ⅱ操作系统进行裁剪

7.实验七

7.1 实验名称

ucos-II移植实验

7.2 实验目的

1.了解UCOS-Ⅱ内核的主要结构。

2.掌握将UCOS-Ⅱ内核移植到ARM7处理器上的基本方法。

7.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。

7.4 实验内容及要求

1.将UCOS-Ⅱ内核进行移植到ARM7微处理器上。

2.编写两个简单任务,在超级终端上观察两个任务的切换。

7.5 实验设计与实验步骤

1.该实验的文件分为两类,其一是STARTUP 目录下的系统初始化、配置等文件,其二是uCOS-II 的全部源码,arch 目录下的3 个文件是和处理器架构相关的。

2.设置os_cpu.h 中与处理器和编译器相关的代码

3.用C 语言编写6 个操作系统相关的函数(OS_CPU_C.C)4.用汇编语言编写4 个与处理器相关的函数(OS_CPU.ASM)5.编写一个简单的多任务程序来测试一下移植是否成功。

为了使 uCOS-II 可以正常运行,除了上述必须的移植工作外,硬件初始化和配置文件也是必须的。STARTUP 目录下的文件还包括中断处理,时钟,串口通信等基本功能函数。在文件 main.c 中给出了应用程序的基本框架,包括初始化和多任务的创建,启动等。任务

创建方法如下:

①在程序开头定义任务堆栈,任务函数声明和任务优先级 ②在main()函数中调用OSStart()函数之前用下列语句创建任务 ③编写任务函数内容

6.编译并下载移植后的uCOS-II 所有的源代码都准备好后就可以进行编译了。在ADS 环境下需要设置工程的访问路径。从菜单Edit | Debug Settings 进入设置对话框,在Target | Access Paths 中选择User Paths 并选上Always search user paths。然后点Add 按钮添加路径ucos-ii 和arch。这主要是设置编译器处理文件包含时的搜索范围。按照实验一的方法可以对编译后的代码进行调试或下载到平台的电子硬盘中。这个实验从结构上看和其他的实验没有多大区别,同样生成可执行文件system.bin。可以在平台BIOS中激活电子硬盘,然后把system.bin 拷贝进去,重启平台,然后在超级终端上观察结果。

7.6 实验过程与分析

操作系统相关的函数:(1)OSTaskStkInit OSTaskCreate()和OSTaskCreateExt()通过调用OSTaskStkInit()来初始化任务的堆栈结构。因此,堆栈看起来就像刚发生过中断并将所有的寄存器保存到堆栈中的情形一样。图12A-2 显示了OSTaskStkInt()放到正被建立的任务堆栈中的东西。这里我们定义了堆栈是从上往下 长的。在用户建立任务的时候,用户传递任务的地址,pdata 指针,任务的堆栈栈顶和任务的优先级给OSTaskCreate()和OSTaskCreateExt()。一旦用户初始化了堆栈,OSTaskStkInit()就需要返回堆栈指针所指的地址。OSTaskCreate()和OSTaskCreateExt()会获得该地址并将它保存到任务控制块(OS_TCB)中。

(2)OSTaskCreateHook 当用OSTaskCreate()和OSTaskCreateExt()建立任务的时候就会调用OSTaskCreateHook()。该函数允许用户或使用移植实例的用户扩展uCOS-II 功能。当uCOS-II 设置完了自己的内部结构后,会在调用任务调度程序之前调用OSTaskCreateHook()。该函数被调用的时候中断是禁止的。因此用户应尽量减少该函数中的代码以缩短中断的响应时间。当 OSTaskCreateHook()被调用的时候,它会收到指向已建立任务的OS_TCB 的指针,这 样它就可以访问所有的结构成员了。函数原型:void OSTaskCreateHook(OS_TCB *ptcb)

(3)OSTaskDelHook 当任务被删除的时候就会调用OSTaskDelHook()。该函数在把任务从uCOS-II 的内部任 务链表中解开之前被调用。当OSTaskDelHook()被调用的时候,它会收到指向正被删除任务 的OS_TCB 的指针,这样它就可以访问所有的结构成员了。OSTaskDelHook()可以来检验TCB扩展是否被建立(一个非空指针)并进行一些清除操作。函数原型:void OSTaskDelHook(OS_TCB *ptcb)(4)OSTaskSwHook 当发生任务切换的时候就会调用OSTaskSwHook()。OSTaskSwHook()可以直接访问 OSTCBCur 和OSTCBHighRdy,因为它们是全局变量。OSTCBCur 指向被切换出去的任务 OS_TCB,而OSTCBHighRdy 指向新任务OS_TCB。注意在调用OSTaskSwHook()期间中断 一直是被禁止的。因此用户应尽量减少该函数中的代码以缩短中断的响应时间。函数原型:void OSTaskSwHook(void)

(5)OSTaskStatHook OSTaskStatHook()每秒钟都会被OSTaskStat()调用一次。用户可以用OSTaskStatHook()

来扩展统计功能。例如,用户可以保持并显示每个任务的执行时间,每个任务所用的CPU 份额,以及每个任务执行的频率等。函数原型:void OSTaskStatHook(void)(6)OSTimeTickHook OSTimeTickHook()在每个时钟节拍都会被OSTaskTick()调用。实际上OSTimeTickHook()是在节拍被uCOS-II 真正处理,并通知用户的移植实例或应用程序之前被调用的。函数原型:void OSTimeTickHook(void)

7.7 实验结果总结

在超级终端上输出轮流交替run task1和run task2,表明系统正在不断交替运行2个任务。

7.8 心得体会

在这个实验中我们初步了解和测试了实验的内容和源代码实验结果基本上符合预期的要求。了解了µC/OS-II 内核的主要结构和ARM7处理器结构,掌握了将µC/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法。

8.实验八

8.1 实验名称

各接口模块相互衔接综合实验

8.2 实验目的

利用前7次实验所学的知识,综合设计一个至少含有5个模块的实验。

8.3 实验环境

硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。

8.4 实验内容及要求

1.回顾串口、键盘、LED接口、A/D、电机转动、定时器中断、LCD接口及触摸屏驱动控制接口模块驱动设计及开发方法。

2.综合应用以上全部或者部分模块,实现一个嵌入式综合应用系统,要求至少5个模块。

3.尽量使综合应用具有合理功能。

8.5 实验设计与实验步骤

1.新建工程,添加所需的文件。

2.编写计算器的计算程序caculator.c以及caculator.h文件。3.编写音乐播放文件play.c以及play.h文件。

4.修改键盘映射表让键盘上的数字与LCD与LED屏幕上显示的数字相对应。5.对输出在LCD屏幕上的显示结构进行设计

6.进行裁剪和移植功能设计和完成。编译生成system.bin文件,将文件拷贝至实验台内,重启实验台即可看到实验效果

8.6 实验过程与分析

1.完成10以内的加减乘除的计算功能,通过键盘输入,可在LCD屏幕上显示输入的表达式以及得到的输出结果。如“2+3=5”。

2.按任务切换键,实现任务的切换。3.任务被切换到播放音乐的任务中去。

4.任务切换过程将会在串口的超级终端界面有所显示,同时我们设置的将LCD上显示的结果同步到超级终端上。实现串口通信。

5.利用到了直流电机,如果运算范围超出我们规定的运算范围,则电机转动,来提示错误。

6.实现裁剪与移植功能。

8.7 实验结果总结

在这次实验中,我们利用前面所学习的知识,综合利用在此次实验中,我们利用了前面好所学知识中的6个模块,分别是串口通讯,键盘控制,LED与LCD的输出,电机控制,以及裁剪与移植的功能。通过这些功能的结合,我们实现自己所设计的实验的功能。

8.8 心得体会

在此次实验中,我们遇到了一些问题但是过程中遇到了不少问题,说明对实验原理和语句编写还不是很熟悉。总的来说,通过这段时间的训练,我也学会了不少东西,了解了ARM的基本结构,功能等。

9.实验总结与心得体会

通过这次为期一周的嵌入式课程实验,我对于嵌入式有了更加深刻的了解与认识。我是第一次接触嵌入式,以前对于嵌入式的知识了解甚少,但是通过此次实验,我不仅了解了嵌入式,也学会了许多关于嵌入式方面的知识。

通过前面的基础实验,我们对于ARM环境有了更深的了解,掌握了博创平台的使用方法,例如如何使用小键盘,如何使用LCD、LED屏幕,如何控制终端,如何进行多任务之间的切换等等。通过这几次的基础课程实验,我们最后出了计算器,能够实现10以内的加减乘除,在此基础上我们利用多任务,实现播放音乐与计算的切换,还利用点击的转动来提示运算过程中出现的问题。

通过这几次实验,为我们以后的课程设计实验打下了坚实的基础,相信有了这几天系统实验的培训,我们的课程设计实验做起来会更加轻松。

2.嵌入式系统实习报告 篇二

智能系统:下一个机遇

从能够识别驾驶员的汽车, 到能够实现客流量统计的数字安全监控系统, 以及能够无缝安全地与现有企业和通信基础架构集成的智能网络, 甚至于具备社交功能的健身设备, 具有计算体验的智能设备如今已是无处不在。

英特尔中国区智能系统事业部曾明总监指出, 智能系统必须具备三大要素:互联性、安全性和可管理性。它们可以自主地连接互联网、执行本地或基于云的应用以及对所收集的数据进行分析。这意味着, 传统的嵌入式系统必须采用包括微处理器、图形处理器和硬件加速器等在内的高性能与高度可编程异构架构, 将所有这些都集成至一个系统芯片 (So C) 当中。

传统的嵌入式系统向智能系统的转变, 为整个电子行业带来了前所未有的发展机遇。据市场调查公司IDC预测, 从2011年到2016年, 全球智能系统设备的数量将从230亿台激增至460亿台, 行业总体收入将从1.3万亿美元攀升至2.3万亿美元。2016年, 智能系统设备的出货量将占所有出货电子系统设备的37.1%以上。

在这种转变过程中, 可以发现几个关键的发展趋势。第一, 传统的嵌入式系统将获得类似于PC、服务器、智能手机和平板电脑等通用系统所具备的智能性, 而智能系统在未来的发展速度将远远超过这些通用系统。第二, 这种转变将成为不可阻挡的潮流。自然友好的用户界面、安全技术和传感器技术将变得至关重要, 将确保用户在智能设备上也能够获得在PC和智能手机上一致的消费电子和计算体验。第三, 这种转变的实现有赖于大规模的跨行业协作。第四, 功能日益强大的处理器将满足智能网络不断增长的需求, 能够同时满足物理端口和虚拟机的计算需求。第五, 随着大量移动设备被连接至互联网和云中, 企业和服务提供商网络的安全性问题将日益凸显, 这将是未来向更加智能系统迁移的关键因素。

体验推动智能系统发展

各行业不断变化的用户需求, 是推动智能系统在更加广泛的领域应用的内在驱动力。以数字标牌和英特尔公司为例, 英特尔智能系统事业部数字标牌市场营销全球总监Raj Maini称, 现代智能互动数字标牌能够带给消费者沉浸式的体验、互动性, 同时保证匿名性。这些对计算能力的要求较高。英特尔在此的贡献是:AIM套件及酷睿第三代处理器。数字标牌主要应用在九大垂直行业, 40%是定制的, 鉴于数字标牌的多样性, 英特尔正和中国的厂商合作, 提供交钥匙的软硬件数字标牌方案, 使客户很快上手应用。英特尔还提出了OPS (开放式可插接规范) , 使不同的厂商播放器模块/板卡能够接入到不同规格的平板显示器上, 受到了很多面板生产商和硬件厂家的支持, 例如, 国内最大的主板厂商——深圳智微智能科技公司的副总经理刘迪科称, 已经有50家以上的电视厂家、数字标牌厂家的产品带OPS接口。

从智能标牌的出现及发展可见, 良好的用户体验, 是智能系统时代的动力之源。

参考文献

[1]王莹.2015年, 中国的数字标牌将占全球40%. (2012-7-18) .http://www.eepw.com.cn/article/134757.htm

3.嵌入式系统在温控系统中的应用 篇三

1.前言

温度作为一个基本物理量,它是一个与人们的生活、生产密切相关的重要物理量。生活和工业生产过程中温度作为一种常用的主要被控参数,我们需要对温度参数进行检测并利用该参数进行自动控制。采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此单片机对温度的控制问题是一个工业生产中经常会遇到的问题。

2.国内外发展现状

目前国内外的温度控制方式越来越趋向于微型化和智能化,温度测量首先是由温度传感器来实现的。测温仪器由温度传感器和信号处理两部分组成。随着工业生产效率的不断提高,自动化水平与范围也不断扩大,因而对温度检测技术的要求也愈来愈高,一般可以归纳以下几方面。

(1)扩展检测范围 现在工业上通用的温度检测范围为-200-3000℃,而今后要求能测量超高温与超低温。尤其是液化气体的极低温度检测更为迫切,如10K以下的温度检测是当前重点研究课题。

(2)扩大测温对象 温度检测技术将会由点测温发展到线、面,甚至立体的测量。应用范围己经从土业领域延伸到环境保护、家用电器、汽车工业及航天工业领域。

(3)发展新型产品 利用以前的检测技术生产出适应于不同场合、不同工况要求的新型产品,以满足用户需要。同时利用新的检测技术制造出新的产品。

(4)适应特殊环境下的测温 对许多场合中的温度检测器有特殊要求,如防硫、防爆、耐磨等性能要求;又如移动物体和高速旋转物体的测温、钢水的连续测温、火焰温度检测等。

(5)显示数字化 温度仪表向数字化方向发展。其最大优点是直观、无读数误差、分辨率高、测量误差小,因而有广阔的销售市场。

(6)标定自动化 应用计算机技术,快速、准确、自动地标定温度检测器。根据分析,由单片机组成的温控系统,通过在单片机外部添加各种接口电路,可构成单片机最小系统,用以实现对温度控制对象的温度的显示和控制。同时也能根据实际情况实现数据处理、报警,对各个参数以一定的周期进行检查和测量,检测的结果经处理后再进行显示和报警,以提醒操作人员注意或直接用于生产控制。

3.应用情况

嵌入式温控系统现在应用非常广泛,可以说深入到了生活的方方面面,如蔬菜大棚智能温度控制系统、贮液容器温控系统、汽车空调温控系统、电加热炉温度控制系统等。

(1)蔬菜大棚智能温度控制系统 冬季塑料蔬菜大棚最重要的一个管理因素是温度控制。温度过低,蔬菜会冻死或停止生长,所以要控制温度在蔬菜适宜的范围内。如果仅靠人工控制既耗费人力、物力,又容易发生差错。为此设计智能化温控系统,控制蔬菜大棚温度,适应生产需求。蔬菜大棚智能温度控制系统的研制水到渠成。

(2)贮液容器温控系统 贮液容器溫控系统中以贮液容器温度为被控参数,蒸汽流量为控制参数,输入贮液容器冷物料的初温为前馈控制,构成前馈一反馈控制系统,从而达到控制贮液容器温度,满足工艺要求的目的。

(3)汽车空调温控系统 现代化的汽车空调就是能将汽车室内空间的环境调整到对人体最适宜的状态,创造良好的车内环境,以提高司机的工作效率和保护乘员的身体健康。目前高档轿车中用各种微处理器完成各种控制,汽车空调温控系统技术也有了飞速的发展。

(4)电加热炉温度控制系统 电加热炉随着科学技术的发展和工业生产水平的提高,已经在冶金、化工、机械等各类工业控制中得到了广泛应用,并且在国民经济中占有举足轻重的地位。嵌入式电加热炉温度控制系统现在正被广泛地使用。

4.技术情况分析

下面对使用80C51和18B20的系统进行分析:

(1)硬件 硬件主要包括中央处理器80C51、温度传感器18B20、键盘、LED等。

(2)软件 系统软件设计时可以采用模块化的结构和层次设计思想,不仅方便了设计和使用,也有利于以后系统的扩展和升级。系统软件可以包括主程序、数据采集处理模块,可以使用PID算法,可以包括声光报警模块、通讯模块等。

从以上分析不难看出,使用单片机进行温控系统的开发已具有成熟的技术。

5.趋势

随着微电子技术的不断发展,集成了CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器甚至A/D、D/A转换器等电路在一块芯片上的超大规模集成电路芯片出现了。以单片机为主体,将计算机技术与测量控制技术结合在一起,又组成了所谓的“智能化测量控制系统”,也就是智能仪器。

与传统仪器仪表相比,智能仪器具有以下功能特点:

(1)操作自动化 仪器的整个测量过程如键盘扫描、量程选择、开关启动闭合、数据的采集、传输与处理以及显示打印等都用单片机或微控制器来控制操作,实现测量过程的全部自动化。

(2)具有自测功能 包括自动调零、自动故障与状态检验、自动校准、自诊断及量程自动转换等。

(3)具有数据处理功能 具有数据处理功能,这是智能仪器的主要优点之一。智能仪器由于采用了单片机或微控制器,使得许多原来用硬件逻辑难以解决或根本无法解决的问题,现在可以用软件非常灵活地加以解决。

(4)具有友好的人机对话能力 智能仪器使用键盘代替传统仪器中的切换开关,操作人员只需通过键盘输入命令,就能实现某种测量功能。与此同时,智能仪器还通过显示屏将仪器的运行情况、工作状态以及对测量数据的处理结果及时告诉操作人员,使仪器的操作更加方便直观。

(5)具有可程控操作能力 一般智能仪器都配有GPIB、RS232C、RS485等标准的通信接口,可以很方便地与PC机和其他仪器一起组成用户所需要的多种功能的自动测量系统,来完成更复杂的测试任务。

随着嵌入式在温控系统的应用,温控系统也具有了操作自动化功能、自测功能、数据处理、人机对话能力、可程控能力等功能,随着嵌入式技术的不断发展,温控系统应用的领域会越来越大,温控系统也会向微型化、高度集成化、控制简单化等方向发展。

6.结论

嵌入式温控系统具有良好的动态性能,控制精度高,控制效果稳定、良好,可以满足各个行业的不同要求。随着智能温控系统的不断普及和发展,基于高性能处理器的嵌入式温控系统将会有更加广阔的用武之地。

4.嵌入式系统实习报告 篇四

嵌入式系统设计实习报告

题目:简易音频播放器设计

目录

第一章 引言·····················································3 1.1课题研究目的·····················································3 1.2课题研究意义·····················································3 1.3课题可行性分析···················································3 1.3.1课题调研····················································3 1.3.2可行性分析··················································3 第二章 开发环境安装和配置··································4 2.1开发包及其工具介绍···············································4 2.2Android开发平台搭建步骤··········································4 第三章 程序逻辑架构··········································5 3.1程序工程结构图···················································5 3.2工程各文件简介···················································5 3.2.1程序源文件夹src简介·········································5 3.2.2程序外部资源文件夹res简介···································6 3.2.3其他文件简介················································7 第四章 程序设计················································8 4.1主界面musicActivity设计···········································8 4.1.1onCreat函数··················································8 4.1.2关键代码讲解················································8 4.2音乐播放服务LocalService设计·····································10 4.2.1onCreat函数·················································10 4.2.2关键代码讲解···············································10 4.3数据库Helper类MusicListdbHelper设计······························11 4.3.1构造函数MusicListdbHelper···································11 4.3.2关键代码讲解···············································11 第五章 程序测试···············································13 第六章 分工与总结············································14

第一章 引言

1.1 课题研究的目的

1.熟悉一下eclipse工具和安卓的环境配置及开发的过程;

2.熟练掌握java的组件如button,textview,listView,menu等组件的灵活应用; 3.熟练掌握安卓的一个关于数据保存的方式SQLite3; 4.锻炼一下自己遇到问题,然后解决问题的能力。

1.2 课题研究的意义

随着3G技术的成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。在google和android手机联盟的共同推动下,android在众多移动应用开发平台中脱颖而出。

Android操作系统是google最具杀伤力的武器之一。苹果以其天才的创新,使得iphone在全球迅速拥有了数百万忠实的“粉丝”,而android作为第一个完整、开放、免费的手机平台,使开发者在为其开发程序时拥有更大的自由。与windows mobile,symbian等厂商不同的是,android操作系统是免费向开发人员提供,这样可节省近三层得成本。

我们知道,无论是产品还是技术,商业应用都是它最大的发展动力。android如此受到厂商与开发者的青睐,它的前景一片光明。国内对于安卓这方面的市场还没有完全开发出来。

只要我们努力学习android,对理想、对生活都会有很大的补益。

因此,开发这样一套很简单的音乐播放器软件对我们来讲是一件很有必要的事情,在下面的各章中我们将以开发安卓音乐播放器软件为例,谈谈其开发过程和所涉及到的问题及解决方法。

本文中所做的主要工作如下:

 开发环境及开发工具的安装及配置;

 阐述整个音乐播放器的系统结构及工作原理;  设计实现“主界面activity设计”,“播放器Service设计”,“数据库设计”这三个主要的功能模块;

 分析并解决实现中的若干技术问题,像组件的选择以及保存方式的选择;  进行测试并分析结果。

1.3 课题的可行性分析

1.3.1 课题调研

(1)与实践活动和相关的文件和资料由作者本人网络查找,以及老师帮助;(2)具有遇到问题,具有独立思考,耐心钻研,向老师虚心求教的良好态度;(3)关于技术方面的难题,跟指导老师面谈。1.3.2 可行性分析

1)技术可行性-----本项目仅需要一台装有eclipse及配置好android开发环境的计算机即可,对计算机本身有一定的要求,它可以使用windows xp及其以上版本,mac os,linux等操作系统;

2)经济可行性-----由于本软件开发只需要一台电脑就行,基本不需要太大的成本。在经济上完全可行;

3)操作可行性-----界面设计时充分考虑用户的习惯以及手机方面的局限性,程序必须要很简单;本程序只涉及到开发环境配置,安卓组件的熟悉,以及安卓平台上的数据存储,并没有太大的难度,所以,该项目完全有可操作性。第二章 开发环境的安装和配置

2.1 开发包及其工具的介绍

Android以java作为开发语言,jdk是进行java开发时必需的开发包.eclipse是一款非常优秀的开源IDE,在大量插件的“配合”下,完全可以满足从企业级java应用到手机终端java游戏的开发.Google官方也提供了基于Eclipse的android开发插件ADT,所以本软件开发选择Eclipse作为开发IDE.2.2 Android开发平台搭建步骤

首先到http:///downloads/下载Eclipse集成开发环境并且解压,这里推荐下载Java EE 集成版本,可以为平台的搭建省下不少工作。接着再去http://java.sun.com/javase/downloads/index.jsp 站点下载SDK后安装,下载http://dl.google.com/android/android-sdk-windows-1.5_r1.zip,Android SDK1.5后解压。第一步下载工序就结束了。

②双击Eclipse解压后目录中的eclipse.exe然后启动,选择Eclipse菜单中的Help-> Install New Software-> 选项卡上的Available Software,点击右侧的“Add”输入http://dl-ssl.google.com/android/eclipse/后确定,然后在“Work with”下拉菜单中选择刚才输入的网址。过一会就会出现一个Developer Tools选项,勾上以后点击Next以后Eclipse会自动网上查找Android 开发工具插件,然后找到Android DDMS和Android Development Tools,选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse。

③重启后选择Eclipse菜单中的Windows-> Preferences 在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。

④在Windows的系统变量中的path变量中添加一个值,该值指向解压后的Android SDK目录下的tools文件夹。

第三章 程序逻辑架构

3.1 程序工程结构图

下放两图即为程序的整个工程的结构图,左方为工程的整体结构图,右方为res文件中的各类用到的资源文件视图。

3.2 工程各文件简介

3.2.1 程序源文件夹src简介

源文件夹src下包含两个包com.terry与com.lyric,分别用于程序主要功能的实现和提供歌词同步显示的控件。

先分析歌词包com.lyric。其中com.lyric.LyricView.java设计了一个歌词显示的View控件LyricView,提供给主程序并作为一个控件显示出来;com.lyric.SongLyric.java设计了歌词类用以从sd卡中寻找到响应歌词文件并进行初始化操作。

主程序类包com.terry中,musicActivity和SdCardList均为Activity,前者为播放器的主界面进行各种播放控制操作,后者用来从SD卡中选择MP3文件添加到播放列表中;LocalService是音乐播放的Service,用于进行音乐播放并在通知栏中显示消息;MusicListdbHelper为自定义的数据库Helper类,将歌曲的名字和路径存入数据库,提供对歌 曲数据库的增加和删除的操作;另外两个均为辅助类,一个用于从文件夹中选择后缀名为mp3的文件(MusicFilter.java),另一个用于整合控件(viewHolder.java),代码如下:

MusicFilter.java

viewHolder.java

3.2.2 程序外部资源文件夹res简介

外部资源文件夹主要为程序提供各种外部资源,如图片等,这里主要介绍一下我们用到的布局文件夹Layout中的各种xml文件。

layout_gridview.xml、layout_listview.xml、layout_lyricview.xml 这三个xml文件被主界面调用viewGroup整合在主界面中,即程序中出现的左右滑动效果,其中gridview显示了歌曲的专辑图片,listview显示了歌曲播放列表,lyricview显示了同步歌词。

main.xml、main1.xml 主程序的主界面资源文件,同上述三个xml一样,整合在viewGroup中由musicActivity设定为当前界面。其中main决定了各view的布局,main1则是程序下方的进度条及简单控制按钮。

musicitme.xml、sdcard.xml 均被用于SdCardList这个Activity的布局,sdcard提供了SDCardList的主界面,musicitme提供了SDCardList中ListView的样式。progressbar.xml 由LocalService调用,通知信息栏的布局文件。3.2.3 其他文件简介

引入的外部JAR: android-support-v4.jar 为程序了viewGroup以实现左右滑动展示不同的View的效果。AndroidManifest.xml 应用的配置文件,描述应用程序的名称、权限、能力和运行方式等。

gen文件夹

这是必需的,为应用程序自动生成的资源文件夹,它所包含的应用程序资源管理源文件R文件定义了该项目所有资源的索引,不能被编辑。

Android 2.1–update1 这是Android 2.1的系统类库,在编译该项目时用到的环境。我们可以通过相应的配置来选择所需的系统类库。

assets文件夹

主要用于放置多媒体等数据文件。

default.properties 这是自动创建的工程文件,定义了应用程序的target和其所需的选项。

第四章 程序设计

4.1 主界面musicActivity设计

4.1.1 养成良好习惯,先看看onCreat函数

如下图所示即为作为程序入口的musicActivity的onCreat函数。大致的流程是调用父类onCreat函数,隐藏标题栏,设置布局,寻找布局控件,初始化应用,刷新歌词文件,刷新播放列表,绑定监听器,开启标志位检测线程,设定空歌词,启动服务。

4.1.2 关键代码讲解

设置布局函数setView()中,先初始化ListView、GridView还有歌词布局lyricview的内容,完毕后再将其添加到viewPager中从而可以进行滑动切换显示。

初始化程序initApp()如果程序是第一次启动(没有数据库文件),那么就自动初始化一次歌曲播放列表,默认路径为SD卡根目录,将歌曲文件信息添加到数据库并且添加到播放列表中。如果有数据库文件则不进行操作。

初始化程序完成之后就需要开启刷新歌词的线程了,refreshLyric()开启了刷新的线程使用已经定义好的handler hand发送刷新信息并进行相应的响应。

下一步就是列表的刷新显示,当前的播放列表中虽然存储有歌曲信息却没有将它显示 出来,所以我们需要刷新并显示一次播放列表,refreshlist()即可做到这一点,并且在每次对播放列表进行操作后都需要调用一次它。

4.2 音乐播放服务LocalService设计

4.2.1 仍然先看一下onCreat函数

播放服务的流程就比较简单,实例化MediaPlayer对象,从musicActivity中得到音乐列表,开启刷新通知栏和musicActivity中progressbar的线程,设置并显示通知栏信息。4.2.2 关键代码讲解

启动流程中的函数几乎没有什么需要讲解的,音乐播放器的Service中的关键代码当然是播放音乐和对切换歌曲的处理。

进度条更新函数progressbar()这个函数启动了一个更新进度条的线程,同时更新了musicActivity中和通知栏中的进度条。

播放音乐的函数playMusic(String path)函数中的参数为歌曲的路径(包含歌曲的文件名和后缀),返回类型为空,它的作用就是播放该路径的歌曲并且有一个播放完毕的监听器。所有的歌曲控制指令都写在musicActivity中,Service本身并不负责对歌曲列表的操作,所以,如果播放完毕,则给musicActivity一个切换歌曲的指令。

切换歌曲后需要调用的函数changeSong()切换歌曲以后需要重新设定一下progressbar还有正在播放的文件名,专辑图片,歌词信息等。这个函数在musicActivity中被大量调用从而实现对音乐播放的安全控制。

4.3 数据库Helper类MusicListdbHelper设计

4.3.1 构造函数MusicListdbHelper(Context _context)MusicListdbHelper是一个类,类对象的实例化都需要构造函数,数据库的Helper类的构造很简单,就是建立或者打开一个自己定义的数据库

4.3.2 关键代码讲解

需要被应用开始时调用的函数FirstStart()以判断应用是否需要初始化,返回类型为boolean FirstStart()中建立了一个游标查询数据库中的名为“colaconfig”的表,该表也仅作为初始化查询而特别建立,如果该表不存在,则说明数据库中不存在歌曲信息表,则创建该表和歌曲信息表“musicitem”,如果该表存在,则返回false并不进行任何操作。其他函数及其作用:

CreateTable_musicitem()创建歌曲信息表 CreateTable_colaconfig()创建配置表

Musicitem_insitem(String name,String path)添加歌曲到歌曲信息表,返回类型为boolean Musicitem_delitem(String name)从歌曲信息表中删除名为name的条目

getMusicItem()得到歌曲信息表的游标用以查询表中歌曲信息,返回值为Cursor

第五章 程序的测试

1.第一次运行程序的主界面

2.点击“choice”后的歌曲选择界面 3.选定的歌曲在主界面中显示播放进度,也可拖动进度条播放

5.使用返回键退出程序后Service仍在后台运行(歌曲仍在后台播放)

第六章 分工与总结

6.1 人员分工

张润浩:musicActivity、SdCardList的编写以及数据库的建立,同时负责软件后期的调试和修改;

刘博:主要负责Service的编写,包括通知栏和主Activity中控件的同步,同时负责报告的书写;

6.2 课程总结

5.嵌入式系统实习报告 篇五

组员:武易 金鹏飞 周长升

实验一 熟悉嵌入式系统开发环境

一实验目的

1.熟悉嵌入式系统硬件实验平台 2.掌握超级终端配置方法。

3.掌握嵌入式系统开发环境配置,ARM-Linux下NFS服务器的配置方法 4.掌握常用的 Linux下shell命令

二实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

三实验内容

(1)掌握嵌入式系统实验平台上的各类借接口的位置;

(2)配置windows的超级终端,熟悉vivi的命令行,bootload、kernel、root和用户程序的介绍;

(3)配置linux的终端,配置网络服、Ip地址,开发目录共享,挂载等。

四实验结果

实验二嵌入式Linux程序设计

一实验目的

1.掌握嵌入式Linux软件设计方法原理 2.掌握Makefile文件设计方法。

3.熟悉Linux下静态库和共享库的设计

二实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

三实验内容

(1)编写一个带输入、输出的由5个文件组成的嵌入式软件;(2)写好makefile文件,并上机调试;(3)用变量指明两种编译器。

四实验结果

实验三

kernel与root的设计和烧写

一实验目的

1.掌握Linux内核配置与裁剪的方法 2.理解根文件系统配置。

3.掌握嵌入式系统内核和根文件系统的烧写的过程

二实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

三实验内容

对嵌入式Linux系统进行裁剪、配置和编译,生成自己需要的操作系统映像文件,并将其烧写到flash中。

四实验结果

实验四搭建嵌入式系统开发环境

一实验目的

1.掌握嵌入式开发环境的配置 2.掌握开发工具链的安装与配置。

3.掌握嵌入式系统内核和根文件系统的烧写的过程

二实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

三实验内容

(1)安装配置嵌入式开发环境;(2)安装与配置工具链;(3)内核和根文件系统的烧写

四实验结果

实验五嵌入式驱动程序设计

一实验目的

1.学习在LINUX 下进行驱动设计的原理

2.掌握使用模块方式进行驱动开发调试的过程

二实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

三实验内容

在PC 机上编写简单的虚拟硬件驱动程序并进调试,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。

四实验结果

实验六

S3C2410处理器硬件电路设计

一实验目的

1.熟悉硬件电路设计

2.掌握简单的S3c2410处理器的电路设计。3.掌握protel软件的使用

二实验设备及工具

硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。

软件:PC机操作系统REDHAT LINUX 9.0、MINICOM、AMRLINUX开发环境

三实验内容

使用protel 99se 做s3c2410处理器最小系统电路设计,A/D数据采集模块电路设计。

6.嵌入式系统实习报告 篇六

分 类:软件项目计划 使用者:E-fanciers

Version: 1.0

项 目 承 担 队伍:烟台大学

计算机学院 E-fanciers小组撰 写 人(签名): 许超 于歌

完 成 日 期: 2009-7-16 本文档使用小组: E-fanciers小组

评审负责人(签名): 孝瑞

评 审 日 期: 2009-7-19

目 录

一、引言.............................................3

1.1编写目的.......................................3 1.2项目背景.......................................3 1.3定义...........................................3 1.4参考资料:.....................................3

二、开发结果........................错误!未定义书签。

2.1产品..........................错误!未定义书签。2.2主要功能......................错误!未定义书签。2.3所用工时.......................................4 2.3所用机时.......................................4 2.3进度...........................................4

三、评价............................................4

3.1生产率评价.....................................4 3.2技术方案评价...................................4 3.3产品质量评价...................................4

四、经验与教训.......................................4

一.引言

1.编写目的(阐明编写总结报告的目的,指明读者对象。)

详细陈述项目开发过程,对项目开发做最后的总结完善,说明项目开发过程中遇到的难题及解决方案。

2.项目背景(说明项目的来源、委托单位、开发单位及主管部门。)

随着微电子技术、计算机技术和网络通信技术的发展,嵌入式系统已广泛应用在各个领域,包括消费电子、汽车电子、网络通信、工业设备、航空航天和国防军事等。随着嵌入式技术的发展,工业领域也一改过去传统的单片机应用模式,逐渐将一些新嵌入式技术引入到系统中。特别是作为软件基础的嵌入式操作系统已广泛为业界所接受,借以提高系统的开发效率和运行效率。是否采用嵌入式操作系统,已成为工业设备品质优劣的标志之一。

当今的嵌入式操作系统领域呈现百家争鸣的状态。据最近的调查数据显示,嵌入式操作系统有数十种之多的。这种多样性存在是必然的,是由嵌入式系统的定制性所决定的,是针对各个领域和行业的不同需求的应对。也就是说,各个嵌入式操作系统都有自己的应用领域,针对不同的应用没有绝对的优劣之分,不会出现一种操作系统垄断的局面。自主开发嵌入式操作系统绝对不是多余的,也是是对这种多样性的自然顺应,应该可拥有自己的用武之地。有些国内嵌入式厂商将希望寄托在Linux之上,以为它可以帮助解决所面临的版税和安全等问题。但事实并非完全如此,至少在嵌入式系统领域。首先,Linux还是泊来货,国人并未掌握其核心技术和进程,也并未解决对外依赖的问题。其次,Linux是为桌面系统而设计的,并不能很好地满足嵌入式系统高效性和灵活性的要求;再次,Linux的一统也违背了嵌入式系统应用灵活定制的本质特性。

3.定义(列出报告中用到的专门术语定义和缩写词的原意。)

int taskInit(void);

/*创建一个任务, 返回: 返回任务编号tid, >0: 成功, 其他: 失败.*/ /*name: 任务名称, entryPtr : 任务函数入口, stack_size: 任务栈大小, priority: 任务优先级*/ int taskCreate(char *name, void *entryPtr, int stack_size, int priority);/*启动一个任务, 让taskCreat创建的任务参加调度*/ int taskStart(unsigned char tid);/*tid: 任务编号, 由taskCreate返回*/ int taskPriorityGet(unsigned char tid);int taskPrioritySet(unsigned char tid, int newPriority);/*获取和设置任务优先级, 用于动态调整*/ int taskSuspend(unsigned char tid);/*将任务挂起, 该任务退出调度*/ int taskDelete(unsigned char tid);/*将任务删除 该任务退出调度且回收任务分配的资源*/ int semCreate(void);/*互斥信号量创建, 返回信号量标识sid, <0: 失败*/ int semTake(int sid);int semGive(int sid);/*互斥信号量获取和释放*/ int taskSleep(int ticks);/*任务睡眠(非忙等), 由任务自己调用, 主动阻塞一段时间.时间单位为tick, 即10ms*/ 4.参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:(1)项目开发计划;(2)需求规格说明书;(3)概要设计说明书;(4)详细设计说明书;(5)用户操作手册;(6)测试计划;(7)测试分析报告(8)本报告引用的其他资料、采用的开发标准或开发规范。)(1)软件项目计划(2)需求规格说明(3)软件编写向导

(4)国家软件开发文档标准模板

二.开发结果

1.产品(可包括:(1)列出各部分的程序名称、源程序行数(包括注释行)或目标程序字节数及程序总计数量、存储形式;产品文档名称等。)

2.主要功能及性能 基本功能

1.基于参考硬件平台,建立硬件抽象层,完成基本硬件初始化,建立时钟中断; 2.在硬件抽象层基础上,建立多任务操作系统环境; 3.任务调度采用同级时间片轮询机制;

4.实现任务间基本通讯机制:互斥信号量(共享内存); 5.实现基本的时钟管理机制:任务睡眠阻塞;

6.实现一个RS232串口驱动。基于串口驱动实现一个命令行Shell(用一个独立的任务实现),可在超级终端显示信息和执行命令。

扩展功能

7.任务区分优先级,在同级轮询调度基础上添加优先级调度机制; 8.不同优先级任务之间实现抢占调度;

9.在抢占调度的基础上实现优先级逆转保护,避免逻辑死锁问题; 10.将代码移植到另一个硬件平台上运行,验证代码移植性。3.所用工时(按人员的不同层次分别计时。)

编码成员工时:60小时/周,共约400小时;

编写文档成员:共约60小时。

4.所用机时

5小时/天,共约300小时的机时。

5.进度(给出计划进度与实际进度的对比。)

根据敏捷开发方法的指导,每天查漏补缺,实际进度基本和计划进度一致。三.评价

1.生产率评价(如平均每人每周源程序行数、文档的字数等。)

源程序:200行/周

文档:1500字/周

2.技术方案评价

严格遵循开发流程,运用科学开发方法。

3.产品质量评价

按照大赛要求完成了应有功能的基础上有所添加自己小组的特色,譬如,设置相应的出错处理机制,为加强该系统的安全性与稳定性也做了相应的措施,总体来说,我们小组开发的嵌入式实时操作系统功能良好,稳定性强。

四.经验与教训

7.嵌入式系统实习报告 篇七

嵌入式技术是当前最热门的技术之一, 在通信、电子、自动化控制、信息家电和军事等领域应用得到迅猛发展, [1]同时社会对嵌入式软硬件开发人才的需求很迫切, 需求量也很大。作为应用型本科院校, 有责任培养社会急需的工程类专业人才, 学生也非常迫切的希望系统的学习嵌入式技术, 得到规范的指导和训练, 以获得更多的就业机会。

但是, 嵌入式人才的培养不是一蹴而就的, 嵌入式技术是软硬件技术的高度耦合, 涉及到的前期课程有:数字电路、电路分析、微机原理与接口、c语言程序设计、操作系统原理等, 任何一个环节薄弱了都会影响嵌入式人才的综合培养。

因此, 针对目前市场对嵌入式人才的急需而众多高校却一时难以培养合格嵌入式人才的矛盾, 笔者提出在前导课程中有意识的加入嵌入式技术的知识和实践训练, 做好铺垫, 不仅有利于嵌入式人才的培养, 构建新学科体系;还能提升专业基础课的教学质量, 使老课程保持技术进步, 达到学以致用的教学目的。

2、操作系统现状分析

2.1 目前的教学现状和特点

操作系统课程是一门重要的计算机专业基础课, 长期以来, 该课程的内容较为固定, 授课方法较为单一。操作系统难学难教, 有其课程自身的特点, 归纳为以下几个方面:

2.1.1 教学内容比较陈旧:

长期以来, 操作系统课程的内容较为固定, 授课方法较为单一, 课程设置偏向理论, 教材上的知识更新很缓慢, 与前沿技术结合不紧密, 与现实也脱节。

2.1.2 应用性不强:

操作系统首先谈的是管理方法, 其次是实现方法, 即算法;这一点不同于程序语言类课程或者数据结构等课程, 可以直接当工具来使用, 操作系统的应用不如其他课程来的直接;而大多数应用型本科生学习目的是掌握实现方法, 对于其管理方法的分析与设计一是还没有形成足够的认识, 二是还没有到达综合系统分析和管理的层次, 所以大多数学生的体会是学了难用上, 兴趣不大。

2.1.3 实践难度大:

操作系统作为最底层的软件, 内核的编译和调试很困难, 稍有不慎就可能系统崩溃了, 需要重装操作系统, 费时费力;尽管目前多采用虚拟机做实验的方式, 但涉及环境变化, 部分实验与在真实平台下进行的有差别, 实验效果打折扣。

2.1.4 课程比较独立, 延续性学习不够:

学生目前训练的较多的是基于某平台上的二次开发, 涉及到系统的底层开发很少, 这样导致操作系统的后续学习训练不够, 与其他课程联系不够, 显得比较独立。实际上, 操作系统作为软硬件课程的纽带, 应该对其他课程起到积极的引导促进作用。

2.2 操作系统课程与嵌入式Linux的融合性

目前, 操作系统课程的演练平台多为Linux系统, Linux广泛作为操作系统的学习平台主要有两个原因:一是其开源性, 源代码公开, 软件免费, 适合教学;二是Linux性能优越, 在网络服务功能、系统稳定性和安全性上都有明显优势。

Linux由于其内核小, 易于裁剪, 也广泛应用在嵌入式系统平台;目前, 基于Linux平台的嵌入式开发是很多的, 因此, 由Linux实验环境顺势过渡到Linux嵌入式开发平台是非常有利的。即使不讲授嵌入式开发, 讲解Linux的内核裁剪与Bootloader也是可行的, 教学内容可深可浅, 便于教师针对教学对象灵活把握难易程度。在合适的操作系统平台上进行新技术的融合是比较自然和易于接受的。[2]

3、操作系统的教学全面改革

3.1 问题解决式的教学方式

填鸭式的教学方式可以保证教学内容的充实, 但解决不了教学效果的问题, 更严重的是学生会逐步丧失学习主动权和积极性。因此本文提出以解决问题的方式引入操作系统设计的目标, 要实现的功能和遇到的问题;加入必要的前提理论知识引导学生分析问题, 探求解决问题的方法;再由浅到深, 先了解操作系统的设计思路, 然后进行系统框架设计分析及部分代码分析, 找到实现方法, 完成整个发现———分析———解决问题的流程方法。引导的问题可大可小, 可以是进程如何实现同步互斥, 也可以是内核如何裁剪和编译等。总之, 操作系统的讲授要让学生积极参与, 参与思考和设计的整个流程。

3.2 实验教学改革

实验是操作系统课程重要但又目前较薄弱的环节, 因此实验是教学改革的重点和难点[3]。提出以下几点建议:

3.2.1 以嵌入式系统为平台进行操作系统实践, 缩短过渡时间, 加大应用环节训练

现在操作系统的教学平台一般是Linux, 嵌入式系统的开发平台有ucLinux和Wince等, 从Linux过渡到ucLinux是非常自然的, 命令通用, 学生乐于接受, 并且还可以直接在Linux上做内核裁剪和嵌入式系统的移植, 方便锻炼学生应用设计能力。

3.2.2 分层次, 层层深入, 循序渐进;基础实验到嵌入式操作系统开发

对整个实验计划分层次分阶段分步进行, 将实验分为基础型实验、扩展型实验和设计性实验, 每个层次的内容和考核目标各不相同, 其内容安排见下表:

其中基础型实验主要是传统的操作系统实践环节, 包括进程创建、进程通信、内存换页调度算法、文件管理、设备管理等。扩展型实验主要体现在对嵌入式平台与交叉编译环境的熟悉, 以及在该平台上的通信实验、操作系统编译与移植实验, 设计型实验主要反映操作系统综合的嵌入式开发与网络应用编程实验。整个实验安排是一个过渡渐进的过程, 其中基础型实验是必备的, 扩展型实验和设计型实验可以根据实验课时数量和学生学习层次做调整, 必要时可以安排在课程设计环节中。

3.3 重视课程设计, 提升该环节质量

课程设计是课堂教学的扩展和延续, 在理解操作系统管理功能的前提下, 设计实现操作系统的部分功能。[4]其类型可以是分散型单功能实验, 如接口实验、文件系统设计实验、存储管理实验等, 也可以是整体性实验, 如内核设计与移植, 实时嵌入式系统设等。根据学生的层次和在实验中积累的应用能力可以灵活把握, 关键是调动学生兴趣和积极性, 提高其解决与分析问题的能力, 达到锻炼的目的。

3.4 考核方式改革

提升实验环节的考核比重, 使学生和教师都重视该环节的学习质量, 同时注重培养学生的自主学习和探索精神。考试成绩结构设为“期末考试40%+平时作业10%+考勤10%+上机实践40%”, 该方式体现了理论考试和实验考核的同等重要, 保证了实践教学的质量和效率。

3.5 课程群体系改革

建立分层次的操作系统课程群, 在实践应用中加强操作系统课程群与硬件系统课程群、软件工程的交融贯通, 通过操作系统的纽带作用, 推进硬件设计与软件设计的沟通, 嵌入式高级开发的教学也就水到渠成了。

4、结束语

在当今网络技术与嵌入式技术的飞速发展下, 对操作系统课程的应用与设计都有了更高的要求, 顺应技术发展要求进行教学改革是必要的。本文提出了几项改革措施, 并重点从较薄弱的实验环节出发, 提出一套分层次的实验教学方法, 逐步结合嵌入式应用技术, 与学生一起探讨新的学习内容与方法, 提高其学习热情和应用水平。

参考文献

[1]李岩, 王小玉, 孙永春.嵌入式系统教学研究[J].电气电子教学学报, 2006.6:45-47.

[2]符意德, 等.嵌入式系统设计原理及应用 (第2版) [M].北京:清华大学出版社, 2010.6.

[3]冯红伟, 王鹏.操作系统教学与实验设计研究[J].实验室研究与探索, 2007.12:251-253.

8.嵌入式系统实习报告 篇八

关键词:多任务操作系统;嵌入式系统;开发;应用

中图分类号:TP316.2 文献标识码:A 文章编号:1674-7712 (2014) 18-0000-01

所谓多任务系统,顾名思义就是指能够满足实时控制系统的实时性要求,可以有效地管理系统及资源的操作系统软件,随着近些年来对互联网技术的需求,凭借其在企业管理之中的重要地位,获得了飞速发展的机会,一般说来多应用在嵌入式系统之中,两者相辅相成。众所周知,嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统,并以计算机作为运行基础,如何才能够将两者有机的结合,已经成为越来越多专业人士密切关注的人们话题之一,本文仅代表个人观点,片面偏颇之处,还望不吝指正。

一、项目概述

(一)任务及多任务

就计算机技术工程之中,任务是指独立执行的一个功能或这个处理的过程,是RTOS调度的基本单位。一般说来,在一个多任务处理的环境之下,只有当其它程序认可的时候,一个运行程序才可获得处理的时间。在现实的生活之中,这种技术的应用可以表现为在计算机上多程序的运行,可以较大程度的提高人们利用互联网的效率,提高居民幸福指数,此外在企业的应用之中,通常表现为对机器、装置多种工况的实时监测,可以有效地提高机器、装置运行效率,促进生产力的进一步提升。

(二)调度方式

随着时代的不断快速发展,激烈的市场竞争要求任务及多任务技术的应用必须更加精确的采样和实时反馈信息,所以,多任务操作系统的优势可以说是十分显著的。任务调度在一个任务的完成、中断处理结束以及任务被阻塞时执行。调度的时候首先要得到最高优先级的就绪任务,然后再进行现场的保存和恢复。

(三)发展趋势

正如上文所述,城市化进程的加剧,使人类对于计算机的运行做出了更高的要求,多任务操作系统在嵌入式系统开发中的应用,可以有效、及时的反馈信息,不仅仅对于民用互联网技术的提高,具有非常重要的意义,且在企业中的意义也十分的显著,主要表现在促进企业管理的方面,有鉴于此,其发展一直备受关注,然而随着时间的逐渐推移,其中也逐渐暴露出一些问题,正日益阻碍该领域成果的取得,所以,必须要及时的提出切实可行的方案,才能够为其发展重新注入活力,促进生活质量及综合竞争力的更好提高。

二、多任务操作系统在嵌入式系统应用的不足之处

(一)技术层面

就我国互联网的发展现状而言,技术方面的缺陷是当前首要处理的问题之一。计算机的起源可以追溯到1946年,由美国人率先研制并使用,第三次工业革命的爆发,促进了以互联网技术为基础的计算机行业的蓬勃发展,至今计算机互联网已经成为科技的象征,并在国民经济之中占据重要的成分。然而由于我国在该领域的发展和起步都比较的晚,且起初的重视程度不够高,一些居民对待其态度也有失准确,导致其发展还远远不如其他发达国家,甚至更多的互联网技术都只是舶来品,没有多少能代表我国技术的标志性产品。此外,由于我国教育制度的不足,大多数学校培养的人才缺乏创新,使技术瓶颈也很难得到大的突破。

(二)管理层面

在管理层面导致计算机互联网技术不足,主要表现在软件开发企业和应用该技术的企业。在软件开发企业之中,由于上文所提及的技术性缺陷,导致在人员的管理上存在缺陷,笔者通过对相关数据的整理和分析发现,众多计算机软件开发公司在职员的录用上,大多忽视对高校专业人士的重视,因为他们缺乏一定的实践经验,对职员的学习机会也不加把握,往往只是培养少数骨干,所以,在整个业内难以形成浓郁的学习成长氛围,此外各软件公司之间的竞争也属于一种混乱无序的状态。在一般企业的应用中,由于内部关系逐渐呈现复杂化的趋势,企业经营者一味追求利益,也忽视该技术的运用及升级,尤其是中小型企业,该技术的应用近乎空白,这些客观因素的存在,无疑都在一定程度上阻碍多任务操作系统在嵌入式系统之中的应用。

三、多任务操作系统在嵌入式系统应用的相应对策

(一)技术层面

正如上文所述,我国计算机互联网技术仍然处于起步阶段,针对技术不足的现象,个人认为不妨通过政策予以大力的扶持与鼓励,改变从前的教育模式,实现企业和高校之间的密切合作,形成一股有效的合力,共同推动人才的成长,为计算机互联网技术的发展提供坚实的技术保证;在企业内部,重视职员的学习机会,使每个职员都有机会为企业的发展贡献才智;通过现代传媒的手段,普及互联网的知识,吸引更多专业人士的关注,共同致力于互联网技术的更好发展;建立软件开发区,通过各个企业之间的良性竞争,激烈共同发展。

(二)管理层面

在管理層面,必须革新企业经营者的发展观念,通过各种符合时代发展要求的观念理念,为多任务操作系统在嵌入式系统的应用保驾护航;加强和高校之间的联系,使最新的研究成果更加有效地运用到现实生活当中,促进该技术的升级;建立健全、完备的监督制度,规范企业内部的管理,为计算机技术的应用提供一定的制度保证。

四、结束语

正如上文所述,随着时代的不断快速发展,计算机技术的应用不仅仅能够为居民的生活品质提高做出相应的保障,还能够在较大程度上提升企业的综合竞争力,有鉴于此,必须对其有正确的认知,并能够积极分析其存在的不足,技术予以妥善的解决,促进该领域的健康、稳定发展,本文仅结合个人多年的工作实践经验,就多任务操作系统在嵌入式系统之中的应用展开了论述,旨在促进该行业的更好发展,观点片面不足之处,还望专业人士不吝指正。

参考文献:

[1]荣国平,刘天宇,谢明娟.嵌入式系统开发中敏捷方法的应用研究综述[J].科学学报,2014(02).

[2]喻亮.嵌入式系统的结构特征与研究概况[J].企业科技与发展,2010(08).

上一篇:《捕捉空中之水》阅读及答案下一篇:上半年社会治安综合治理暨平安建设工作总结

相关推荐