文档库 最新最全的文档下载
当前位置:文档库 › 2-嵌入式操作系统实验指导书(2018年5月更新)

2-嵌入式操作系统实验指导书(2018年5月更新)

2-嵌入式操作系统实验指导书(2018年5月更新)
2-嵌入式操作系统实验指导书(2018年5月更新)

《嵌入式操作系统》实验指导书

实验1 Linux编程基础

实验序号:1 实验名称:Linux编程基础

适用专业:计算机科学与技术学时数:4学时

一、实验目的

1、熟悉Vim的工作模式,熟练使用vim中的常见操作。

2、熟练掌握gcc编译命令及gdb的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。

3、熟悉多文件的makefile的编写,熟悉各种形式的makefile,并且进一步加深对makefile中用户自定义变量、自动变量的理解。

4、使用autotools生成多文件的makefile,进一步掌握autotools的使用方法。

二、实验内容

1、vim使用练习

(1)在“/root”目录下建一个名为“vim”的目录。

(2)进入“vim”目录。

(3)将文件“/etc/inittab”复制到“vim”目录下。

(4)使用vim打开“vim”目录下的inittab.

(5)设定行号,指出设定initdefault(类似于“id:5:initdefault”)的所在行号。

(6)将光标移到该行。

(7)复制该行内容。

(8)将光标移到最后一行行首。

(9)粘贴复制行的内容。

(10)撤销第9步的动作。

(11)将光标移动到最后一行的行尾。

(12)粘贴复制行的内容。

(13)光标移到“si::sysinit:/etc/rc.d/rc.sysinit”。

(14)删除该行。

(15)存盘但不退出。

(16)将光标移到首行。

(17)插入模式下输入“Hello,this is vi world!”.

(18)返回命令行模式。

(19)向下查找字符串“0:wait”。

(20)再向上查找字符串“halt”。

(21)强制退出vim,不存盘。

2、用gdb调试程序的bug

(1)使用vi编辑器,将以下代码输入到名为greet.c的文件中。此代码的原意为输出倒序main函数中定义的字符串,但结果显示没有输出,代码如下所示。

#include

int display1(char *string);

int display2(char *string);

int main()

{

char string[]=”Embedded Linux”;

display1(string);

display2(string);

}

int display1(char *string)

{

printf(“The original string is %s \n”,string);

}

int display2(char *string1)

{

char *string2;

int size,i;

size=strlen(string1);

string2=(char *)malloc(size+1);

for (i=0,i

{

string2[size-i]=string[i];

}

string2[size+1]=’’;

printf(“The string afterward is %s\n”,string2);

}

(2)使用gcc编译这段代码,注意要加上“-g”选项以方便之后的调试。

(3)运行生成的可执行文件,观察运行结果。

(4)使用gdb调试程序,通过设置断点、单步跟踪,一步步找出错误所在。

(5)纠正错误,更改源程序并得到正确的结果。

3、编写包含多文件的makefile

(1)用vi在同一目录下编辑两个简单的hello程序,如下所示。

#hello.c

#include“hello.h”

int main()

{

printf(“Hello everyone!\n”);

}

#hello.h

#include

(2)仍在同一目录下用vim编辑makefile,且不使用变量替换,用一个目标体实现(即直接将hello.c和hello.h编译成hello目标体)。然后用make验证所写的makefile是否正确。

(3)将上述makefile使用变量替换实现。同样用make验证所编写的makefile是否正确。

(4)编辑另一个makefile,取名为makefile1,不使用变量替换,但用两个目标体实现(也就是首先将hello.c和hello.h编译为hello.o,再将hello.o编译为hello),再用make的“-f”选项验证这个makefile1的正确性。

(5)将上述makefile1使用变量替换实现。

三、实验步骤

根据实验内容要求完成实验。

实验2 进程管理实验

实验序号:2 实验名称:进程管理实验

适用专业:计算机科学与技术(嵌入式系统) 学时数:4学时

一、实验目的

1、通过编写多进程程序,使读者熟练掌握fork()、exec()、wait()和waitpid()等函数的使用,进一步理解在Linux中多进程编程的步骤。

2、通过编写经典的“生产者—消费者”问题的实验,进一步熟悉Linux中的多线程编程,掌握用信号量处理线程间的同步和互斥问题。

二、实验内容

1、编写多进程程序

该实验有3个进程,其中一个为父进程,其余两个是该父进程创建的子进程,其中一个子进程运行“ls -l”指令,另一个子进程在暂停5s之后异常退出,父进程先用阻塞方式等待第一个子进程的结束,然后用非阻塞方式等待另一个子进程的退出,等待收集到第二个子进程结束的信息,父进程就返回。参考流程图如图1所示。

图1 多进程实验流程图

2、多线程实验

编写“生产者—消费者”问题的实验,熟悉Linux中的多线程编程。

“生产者—消费者”问题描述如下。有一个有限缓冲区和两个线程:生产者和消费者。他们分别不停地把产品放入缓冲区和从缓冲区中拿走产品。一个生产者在缓冲区满的时候必须等待,一个消费者在缓冲区空的时候也必须等待。另外,因为缓冲区是临界资源,所以生产者和消费者之间必须互斥执行。

要求使用有名管道来模拟有限缓冲区,并且使用信号量来解决“生产者—消费者”问题中

的同步和互斥问题。

使用3 个信号量,其中两个信号量avail 和full 分别用于解决生产者和消费者线程之间的同步问题,mutex 是用于这两个线程之间的互斥问题。其中avail 表示有界缓冲区中的空单元数,初始值为N;full 表示有界缓冲区中非空单元数,初始值为0;mutex是互斥信号量,初始值为1。参考流程图如图2所示。

图2 多线程实验流程图

三、实验步骤

1、根据参考流程图编写程序;

2、编译和运行程序代码,并观察运行结果。

实验3 模块编程实验

实验序号:3 实验名称:模块编程实验

适用专业:计算机科学与技术(嵌入式系统) 学时数:4学时

一、实验目的

1、熟悉模块添加和删除的方法。

2、熟悉字符设备驱动的编写流程。

二、实验内容

要求实现到虚拟设备(一段内存)的打开、关闭、读写的操作,并通过编写测试程序来测试虚拟设备及其驱动运行是否正常。

三、实验步骤

(1)编写代码。

这个简单的驱动程序的源代码如下所示:

/*test_drv.c*/

#include

#include

#include

#include

#incldue

#include

#include

#include

#include

#define TEST_DEVICE_NAME “test_dev”

#define BUFF_SZ 1024

/*全局变量*/

static struct cdev test_dev;

unsigned int major=0; /*主设备号major=250*/

static char *data=NULL;

/*读函数*/

static ssize_t test_read(struct file *file,char *buf,size_t count, loff_t *f_pos)

{

int len;

if (count<0)

return –EINVAL;

}

len=strlen(data);

count=(len>count)?count:len;

if *(copy_to_user(buf,data,count)) /*将内核缓冲的数据复制到用户空间*/

return –EFAULT;

}

return count;

}

/*写函数*/

static ssize_t test_write(struct file *file,const char *buffer,

size_t count,loff_t *f_pos)

{

if(count<0)

{

return –EINVAL;

}

memset(data,0,BUFF_SZ);

count=(BUFF_SZ>count)?count:BUFF_SZ;

if(copy_from_user(data,buffer,count)) /*将用户缓冲的数据复制到内核空间*/ {

return –EFAULT;

}

return count;

}

/*打开函数*/

static int test_open(struct inode *inode,struct file *file)

{

printk(“This is open operation\n”);

/*分配并初始化缓冲区*/

data= (char*)kmalloc(sizeof(char)* BUFF_SZ,GFP_KERNEL);

if(!data)

return –ENOMEM;

}

memset(data,0,BUFF_SZ);

return 0;

}

/*关闭函数*/

static int test_release(struct inode *inode,struct file *file)

{

printk(“This is release operation\n”);

if(data)

{

kfree(data); /*释放缓冲区*/

data=NULL; /*防止出现野指针*/

return 0;

}

/* 创建、初始化字符设备,并且注册到系统*/

static void test_setup_cdev(struct cdev *dev, int minor,

struct file_operations *fops)

{

int err, devno = MKDEV(major, minor);

cdev_init(dev, fops);

dev->owner = THIS_MODULE;

dev->ops = fops;

err = cdev_add (dev, devno, 1);

if (err)

{

printk (KERN_NOTICE "Error %d adding test %d", err, minor);

}

}

/* 虚拟设备的f ile_operations 结构*/

static struct file_operations test_fops =

{

.owner = THIS_MODULE,

.read = test_read,

.write = test_write,

.open = test_open,

.release = test_release,

};

/*模块注册入口*/

int init_module(void)

{

int result;

dev_t dev = MKDEV(major, 0);

if (major)

{/* 静态注册一个设备,设备号先前指定好,并设定设备名,用c at /proc/devices 来查看*/

result=register_chrdev_region(dev,1,TEST_DEVICE_NAME);

}

else

{

result=alloc_chrdev_region(&dev,0,1,TEST_DEVICE_NAME);

}

if(result<0)

{

printk(KERN_WARNING"Test device:unable to get major %d\n",major);

return result;

}

test_setup_cdev(&test_dev, 0, &test_fops);

printk("The major of the test device is %d\n", major);

return 0;

}

/*卸载模块*/

void cleanup_module(void)

{

cdev_del(&test_dev);

unregister_chrdev_region(MKDEV(major, 0), 1);

printk("Test device uninstalled\n");

}

(2)编译代码。

虚拟设备的驱动程序的Makefile 如下所示:

ifeq ($(KERNELRELEASE),)

KERNELDIR ?= /lib/modules/$(shell uname -r)/build /*内核代码编译路径*/

PWD := $(shell pwd)

modules:

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules

modules_install:

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install

clean:

rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

.PHONY: modules modules_install clean

else

obj-m := test_drv.o /* 将生成的模块为t est_drv.ko*/

endif

(3)加载和卸载模块。通过下面两个脚本代码分别实现驱动模块的加载和卸载。加载脚本test_drv_load 如下所示:

#!/bin/sh

# 驱动模块名称

module="test_drv"

# 设备名称。在/proc/devices 中出现

device="test_dev"

# 设备文件的属性

mode="664"

group="david"

# 删除已存在的设备节点

rm -f /dev/${device}

# 加载驱动模块

/sbin/insmod -f ./$module.ko $* || exit 1

# 查到创建设备的主设备号

major=`cat /proc/devices | awk "\\$2==\"$device\" {print \\$1}"`

# 创建设备文件节点

mknod /dev/${device} c $major 0

# 设置设备文件属性

chgrp $group /dev/${device}

chmod $mode /dev/${device}

卸载脚本test_drv_unload 如下所示:

#!/bin/sh

module="test_drv"

device="test_dev"

# 卸载驱动模块

/sbin/rmmod $module $* || exit 1

# 删除设备文件

rm -f /dev/${device}

exit 0

(4)编写测试代码。

最后一步是编写测试代码,也就是用户空间的程序,该程序调用设备驱动来测试驱动的运行是否正常。以下实例只实现了简单的读写功能,测试代码如下所示:

/* test.c */

#include

#include

#include

#include

#include

#include

#include

#define TEST_DEVICE_FILENAME "/dev/test_dev" /* 设备文件名*/

#define BUFF_SZ 1024 /* 缓冲大小*/

int main()

{

int fd, nwrite, nread;

char buff[BUFF_SZ]; /*缓冲区*/

/* 打开设备文件*/

fd = open(TEST_DEVICE_FILENAME, O_RDWR);

if (fd < 0)

{

perror("open");

exit(1);

}

do

{

printf("Input some words to kernel(enter 'quit' to exit):");

memset(buff, 0, BUFF_SZ);

if (fgets(buff, BUFF_SZ, stdin) == NULL)

{

perror("fgets");

break;

}

buff[strlen(buff) - 1] = '\0';

if (write(fd, buff, strlen(buff)) < 0) /* 向设备写入数据*/

{

perror("write");

break;

}

if (read(fd, buff, BUFF_SZ) < 0) /* 从设备读取数据*/

{

perror("read");

break;

}

else

{

printf("The read string is from kernel:%s\n", buff);

}

} while(strncmp(buff, "quit", 4));

close(fd);

exit(0);

}

四、实验结果

首先在虚拟设备驱动源码目录下编译并加载驱动模块。

$ make clean;make

$ ./test_drv_load ;加载模块直接运行脚本文件test_drv_load

接下来,编译并运行测试程序

$ gcc –o test test.c

$ ./test

测试程序运行效果如下:

Input some words to kernel(enter 'quit' to exit):Hello, everybody!

The read string is from kernel:Hello, everybody! /* 从内核读取的数据*/ Input some words to kernel(enter 'quit' to exit):This is a simple driver The read string is from kernel: This is a simple driver

Input some words to kernel(enter 'quit' to exit):quit

The read string is from kernel:quit

最后,卸载驱动程序

$ ./test_drv_unload 卸载模块直接运行脚本文件test_drv_unload

通过dmesg 命令可以查看内核打印的信息:

$ dmesg|tail –n 10

……

The major of the test device is 250 /* 当加载模块时打印*/

This is open operation /* 当打开设备时打印*/

This is release operation /* 关闭设备时打印*/

Test device uninstalled /* 当卸载设备时打印*/

控制工程基础实验指导书(答案) 2..

实验二二阶系统的瞬态响应分析 一、实验目的 1、熟悉二阶模拟系统的组成。 2、研究二阶系统分别工作在ξ=1,0<ξ<1,和ξ> 1三种状态下的单 位阶跃响应。 3、分析增益K对二阶系统单位阶跃响应的超调量σP、峰值时间tp和调 整时间ts。 4、研究系统在不同K值时对斜坡输入的稳态跟踪误差。 5、学会使用Matlab软件来仿真二阶系统,并观察结果。 二、实验仪器 1、控制理论电子模拟实验箱一台; 2、超低频慢扫描数字存储示波器一台; 3、数字万用表一只; 4、各种长度联接导线。 三、实验原理 图2-1为二阶系统的原理方框图,图2-2为其模拟电路图,它是由惯性环节、积分环节和反号器组成,图中K=R2/R1,T1=R2C1,T2=R3C2。 图2-1 二阶系统原理框图

图2-1 二阶系统的模拟电路 由图2-2求得二阶系统的闭环传递函 12 22 122112 /() (1)()/O i K TT U S K U S TT S T S K S T S K TT ==++++ :而二阶系统标准传递函数为 (1)(2), 对比式和式得 n ωξ== 12 T 0.2 , T 0.5 , n S S ωξ====若令则。调节开环增益K 值,不仅能改变系统无阻尼自然振荡频率ωn 和ξ的值,可以得到过阻尼(ξ>1)、 临界阻尼(ξ=1)和欠阻尼(ξ<1)三种情况下的阶跃响应曲线。 (1)当K >0.625, 0 < ξ < 1,系统处在欠阻尼状态,它的单位阶跃响应表达式为: 图2-3 0 < ξ < 1时的阶跃响应曲线 (2)当K =0.625时,ξ=1,系统处在临界阻尼状态,它的单位阶跃响应表达式为: 如图2-4为二阶系统工作临界阻尼时的单位响应曲线。 (2) +2+=222n n n S S )S (G ωξω ω1 ()1sin( ) (3) 2-3n t o d d u t t tg ξωωωω--=+=式中图为二阶系统在欠阻尼状态下的单位阶跃响应曲线 e t n o n t t u ωω-+-=)1(1)(

#(16课时)数据库实验指导书

《数据库原理及使用》实验指导书 (适用于计算机科学和技术、软件工程专业) 热风器4 计算机科学和技术学院 2011年12月 ⒈本课程的教学目的和要求 数据库系统产生于20世纪60年代末。30多年来,数据库技术得到迅速发展,已形成较为完整的理论体系和一大批实用系统,现已成为计算机软件领域的一个重要分支。数据库原理是计算科学和技术专业重要的专业课程。 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库使用的基本训练,提高其解决实际问题的能力。 ⒉实验教学的主要内容 数据库、基本表、视图、索引的建立和数据的更新;关系数据库的查询,包括单表查询、连接查询、嵌套查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库使用系统的设计实现。 ⒊实验教学重点 本课程的实验教学重点包括: ⑴数据库、基本表、视图、索引的建立和数据的更新; ⑵SQL的数据查询; ⑶恢复、完整性和安全性实现机制; ⑷简单数据库使用系统的设计实现; 4教材的选用 萨师煊,王珊.数据库系统概论(第四版).北京:高等教育出版社.2006,5 实验1创建数据库(2学时) 实验目的 1.学会数据表的创建; 2.加深对表间关系的理解; 3.理解数据库中数据的简单查询方法和使用。 实验内容 一、给定一个实际问题,实际使用问题的模式设计中至少要包括3个基本表。使用问题是供应商给工程供应零件(课本P74)。 1.按照下面的要求建立数据库: 创建一个数据库,数据库名称可以自己命名,其包含一个主数据文件和一个事务日志文件。注意主数据文件和事务日志文件的逻辑名和操作系统文件名,初始容量大小为5MB,

嵌入式操作系统实验指导书1

嵌入式操作系统实验 实验一 Linux常用命令 一.实验目的 1. 熟悉VMware Workstation虚拟机的使用。 2. 熟悉ubuntu操作系统。 3. 掌握常用的Linux命令。 二.实验设备 硬件:PC机。 软件:VMware Workstation虚拟机、ubuntu操作系统。 三.实验内容 1.基于虚拟机的Linux操作系统的使用。 2.文件与目录相关命令的使用。 3.磁盘管理与维护命令的使用。 4.系统管理与设置命令的使用。 5.网络相关命令的使用。 6.压缩备份命令的使用。 四.实验步骤 1.基于虚拟机的Linux操作系统的使用 (1)启动VMware Workstation应用程序,启动windows以后,点击开始→程序→VMware→VMware Workstation,出现如图1所示界面。

图1 启动VMware Workstation (2)点击菜单File Open选择安装好的Linux虚拟机文件,或者直接点击Start this virtual machine启动Linux操作系统。 (3)启动系统后需要输入用户名和密码,如图2所示,这里用户名为root,密码为“123456”。 图2输入用户名和密码 (3)启动终端,成功进入系统后,选择应用程序->系统工具->终端,如图3所示。 图3 启动终端 (4)在终端中执行Linux命令,终端运行以后,就可以在这里输入Linux命令,并按回车键执行,如图4所示。

图4运行Linux命令 2.文件与目录相关命令的使用 理解12个常用的文件与目录相关命令的使用,完成如下练习。 (1)查询/bin目录,看一看有哪些常用的命令文件在该目录下:ll /bin (2)进入/tmp目录下,新建目录myshare: cd /tmp mkdir myshare ls -ld myshare/ (3)用pwd命令查看当前所在的目录 pwd (4)新建testfile文件 touch testfile ls -l (5)设置该文件的权限模式 chmod 755 testfile ls -l testfile (6)把该文件备份到/tmp/myshare目录下,并改名为testfile.bak。 cp testfile myshare/testfile.bak ls -l myshare/ (7)在/root目录下为该文件创建1个符号连接。 ln -s /tmp/testfile /root/testfile.ln ls -l /root/testfile.ln (8)搜索inittab文件中含有initdefault字符串的行。 cat /etc/inittab | grep initdefault 3.磁盘管理与维护命令的使用 理解2个磁盘管理与维护命令,完成如下练习。 (1)Linux下使用光盘步骤: ?确认光驱对应的设备文件:ll /dev/cdrom ?挂载光盘:mount -t iso9660 /dev/cdrom testdir ?查询挂载后的目录:ll /media/cdrom ?卸载光盘(umount testdir)umount /dev/cdrom (2)Linux下USB设备的使用 ?挂载U盘,看看系统认出的盘(或者使用#fdisk -l)。cat /proc/partitions

C程序设计实验指导书2

《C语言程序设计》实验指导 第一部分上机实验的指导思想和要求 1.上机实验的目的 学习C语言程序设计课程不能满足于“懂了”,满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即独立编写出源程序,独立上机调试程序,独立运行程序和分析结果。这是一门实践性很强的课程,必须十分重视实践环节,保证有足够的上机实践时间。 上机实验的目的是: (1)加深对讲授内容的理解,尤其是一些语法规定。 (2)熟悉C语言程序开发的环境。 (3)学会上机调试程序。也就是善于发现程序中的错误,并且能很快地排除这些错误。要学会根据“出错提示”,分析并找出错误。 2.上机实验前的准备工作 (1)了解所用的计算机系统(包括C编译系统)的性能和使用方法。 (2)复习和掌握与本实验有关的教学内容。 (3)准备好上机所需的程序。 (4)对运行中可能出现的问题应事先作出估计;对程序中自己有疑问的地方,应作上记号,以便在上机时给予注意。 (5)准备好调试和运行时所需的数据。 3.上机实验的步骤 (1)调出C编译系统,进人C工作环境。 (2)输人自己编好的程序 (3)检查一遍已输人的程序是否有错(包括输入时打错的和编程中的错误),及对改正。 (4)进行编译。如果在编译和连接过程中发现错误,输出窗口会出现“出错信息”,根据提示找到出错位置和原因,加以改正,再进行编译,如此反复,直到顺利通过编译和连接。 (5)运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同数据时所得到的结果是否正确。此时应运行几次,分别检查在不同情况下程序是否正确。 4.写实验报告,实验报告应包括以下内容: (1)预习报告(实验目的,题目,程序清单(或算法流程),疑难问题等);(2)实验数据;(3)实验过程报告;(4)实验小结。 第二部分关于程序的调试和测试 l.程序错误的类型 主要有以下几种: (1)语法错误:不符合C语言的语法规定。会在编译时被发现并指出。属于“致命错误”,不改正是不能通过编译的。对一些在语法上有轻微毛病但不影响程序运行的问题(如定义了变量但始终未使用),编译时会发出“警告”。虽然程序能通过编译,但不应当使程序“带病工作”,应尽可能将程序中所有“致命错误(error)”和“警告(warning)”的因素都排除。 (2)逻辑错误: 程序无语法错误,也能正常运行,但是结果不对。例如求s=1+2+3+…+100,有人写出以下语句: for(s=0,i=1;i<100;i++) s=s+i; 语法没有错,但求出的结果是1+2+3+…+99之和,而不是1+2+3+……100之和。这种错误

大数据库应用实验指导书(1,2)

《—数据库应用—》上机指导书 数据库课程组编写 前言

“数据库应用”是一门理论性和实践性都很强的专业课程, 通过本课程的学习,学生会使用SQL Server数据库管理系统并能进行实际应用。能熟练掌握Transact-SQL语言,能保证数据的完整性和一致性、数据库的安全,并能进行简单编程。 “数据库应用”课程上机的主要目标: 1)通过上机操作,加深对数据库系统理论知识的理解。 2)通过使用SQL SERVER2000,了解SQL SERVER 数据库管理系统的数据管理方式,并掌握其操作技术。 3)通过实际题目的上机,提高动手能力,提高分析问题和解决问题的能力。 “数据库应用”课程上机项目设置与内容 表3列出了”数据库应用”课程具体的上机项目和内容 上机组织运行方式:

⑴上机前,任课教师需要向学生讲清上机的整体要求及上机的目标任务;讲清上机安排和进度、平时考核内容、期末考试办法、上机守则及上机室安全制度;讲清上机操作的基本方法,上机对应的理论内容。 ⑵每次上机前:学生应当先弄清相关的理论知识,再预习上机内容、方法和步骤,避免出现盲目上机的行为。 ⑶上机1人1组,在规定的时间内,由学生独立完成,出现问题时,教师要引导学生独立分析、解决,不得包办代替。 ⑷该课程上机是一个整体,需要有延续性。机房应有安全措施,避免前面的上机数据、程序和环境被清除、改动等事件发生,学生最好能自备移动存储设备,存储自己的数据。 ⑸任课教师要认真上好每一堂课,上机前清点学生人数,上机中按要求做好学生上机情况及结果记录。 上机报告要求 上机报告应包含以下内容: 上机目的,上机内容及操作步骤、上机结果、及上机总结及体会。 上机成绩评定办法 上机成绩采用五级记分制,分为优、良、中、及格、不及格。按以下五个方面进行综合考核: 1、对上机原理和上机中的主要环节的理解程度; 2、上机的工作效率和上机操作的正确性; 3、良好的上机习惯是否养成; 4、工作作风是否实事求是; 5、上机报告(包括数据的准确度是否合格,体会总结是否认真深入等) 其它说明 1.在上机课之前,每一个同学必须将上机的题目、程序编写完毕,对运行中可能出 现的问题应事先作出估计;对操作过程中有疑问的地方,应做上记号,以便上机时给予注意。做好充分的准备,以提高上机的效率 2.所有上机环节均由每位同学独立完成,严禁抄袭他人上机结果,若发现有结果雷 同者,按上机课考核办法处理。 3.上机过程中,应服从教师安排。 4.上机完成后,要根据教师的要求及时上交作业。

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

过程装备控制技术与应用实验指导书2 (2)

过程装备控制技术与应用实验指导书(过控装备与控制工程教研室) 南昌大学环境与化学工程学院 二0一0年五月

前言 本实验指导书系根据《过程装备控制技术与应用》课程及实验室已有设备而设置的实验内容编写的。通过实验操作,使学生增强感性认识,加深对书本理论知识的理解,提高动手能力,熟悉和掌握仪表实验工作的一般方法,为将来的实验工作和科学研究打下基础。 实验要求

在实验过程中,务必做到以下几点: 1、实验前必须预习有关实验内容; 2、进入实验室后,应首先认真听取实验介绍,以提高操作效率; 3、熟悉并检查实验装置的组成部分及连线; 4、按实验要求连接实验装置后,需经老师检查方可进行操作; 5、实验过程中,应遵守实验室的规章制度,爱护设备。在实验过程中未按操作 步骤进行而造成仪器、设备、工具等损坏以及发生事故,待查明原因后,按学校有关规定予以赔偿; 6、实验后,各小组须整理清点实验工具,并交老师核查; 7、按实验具体要求,认真完成实验报告。 在做实验报告时应注意以下几点: 1、明确实验目的; 2、了解实验内容; 3、熟悉实验装置; 4、掌握实验方法; 5、制定实验步骤; 6、处理实验数据(数据准确、表格合理、图形清晰); 7、得出实验结果; 8、提出分析建议(注意现象,分析误差等原因)。 目录 一、实验一弹簧管压力表的校验 (5) 二、实验二热电偶与动圈仪表的配套使用 (7) 三、实验三自动电子电位差计的校验 (10) 四、实验四自动电子平衡电桥的校验 (12) 五、实验五 XMZ-102数显仪表的校验 (13) 六、实验六 XMZ-101数显仪表的校验 (14) 七、实验七电容式差压变送器认识与校验 (15)

《数据库技术及应用》实验指导书

《数据库技术及应用》课内上机实验指导书 实验一:SQL SERVER的可视化操作 一、实验目的 1、了解SQL Server2000的功能和基本操作方法,学会使用该系统。 2、了解在该系统上如何创建和管理数据库。 3、通过观察系统中的数据库,初步了解数据库的组成。 二、实验内容 1、学习启动SQL Server2000。 2、用SQL Server企业管理器建立SQL Server注册及注册属性的修改。 3、熟悉SQL Server的操作环境,了解主要菜单命令的功能和窗口,如新建 数据库,数据库表的建立,导入、导出数据等。 4、在某个已注册实例中,认识与体会SQL Server的体系结构。 5、在某个已注册实例的数据库范例中,认识数据库的组成。 三、实验步骤 1、启动本机的SQL Server服务; 2、利用企业管理器,在本地创建名为edu_d的数据库,并在edu_d数据库 中添加学生信息表STU_INFO,并随意在表中添加数据。 3、通过查询分析器,查询步骤2中添加的数据。 4、将本地master库中的表syscharsets导出,再导入到edu_d中。 5、进一步熟悉企业管理器以及查询分析器的其它相关操作。 实验二:用SQL实现单表查询 一、实验目的 1、熟练掌握单表查询属性列信息 2、掌握查询各种条件组合的元组信息 3、掌握各种查询条件的设定,以及常用查询条件中使用的谓词 二、实验内容

1、对已有的数据库pubs中的表完成以下查询功能: a)查询jobs表中所有属性列信息 b)查询employee表中的雇员号和雇员名信息 c)查询employee表中雇员工作年限信息 2、对employee数据表完成以下查询 a)查询名字首字母为F的雇员信息 b)查询工种代号为11的所有雇员信息 c)查询雇佣年限超过5年的雇员信息 d)查询工种代号在5~8的雇员信息 e)查询名字为Maria的雇员信息 f)查询姓名中包含字符sh的所有雇员信息 3、查询sales表中1993-1-1前订货的订单信息 4、查询authors表中以下相关信息: a)Johnson white的电话号码 b)住在oakland的所有作者的姓名以及住址 c)住在10932 Bigge Rd作者的详细信息 实验三:连接查询 一、实验目的 1、掌握多表之间的连接查询 2、掌握使用集函数完成特殊的查询 3、学会对查询结果排序 4、联系数据汇总查询 二、实验内容 1.从edu_d数据库中的stu_info、xk、gdept、gfied、gban、gcourse表 中做以下查询: a)查询信息科学与工程学院的学生的学号、姓名、性别 b)查询成绩在85分以上的学生的学号、姓名、课程名称 c)查询学号的前4位是'2001'的学生的学号、姓名、学院名称

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 :安磊 班级:计科0901 学号: 0909090310 指导老师:宋虹

目录 课程设计容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------ 6 文件系统的层次结构和功能模块 --------------------- 6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录 -------------------------------------------------- 12

课程设计容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统核,它仅仅包含了任务调度,任务管理,时间管理,存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时核,并在这个核之上提供最基本的系统服务,如信号量,,消息队列,存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

R语言实验指导书(二)

R语言实验指导书(二) 2016年10月27日

实验三创建和使用R语言数据集 一、实验目的: 1.了解R语言中的数据结构。 2.熟练掌握他们的创建方法,和函数中一些参数的使用。 3.对创建的数据结构进行,排序、查找、删除等简单的操作。 二、实验内容: 1.向量的创建及因子的创建和查看 有一份来自澳大利亚所有州和行政区的20个税务会计师的信息样本 1 以及他们各自所在地的州名。州名为:tas, sa, qld, nsw, nsw, nt, wa, wa, qld, vic, nsw, vic, qld, qld, sa, tas, sa, nt, wa, vic。 1)将这些州名以字符串的形式保存在state当中。 2)创建一个为这个向量创建一个因子statef。 3)使用levels函数查看因子的水平。 2.矩阵与数组。

i.创建一个4*5的数组如图,创建一个索引矩阵如图,用这个索引矩 阵访问数组,观察结果。 3.将之前的state,数组,矩阵合在一起创建一个长度为3的列表。

4.创建一个数据框如图。 5.将这个数据框按照mpg列进行排序。 6.访问数据框中drat列值为3.90的数据。

三、实验要求 要求学生熟练掌握向量、矩阵、数据框、列表、因子的创建和使用。

实验四数据的导入导出 一、实验目的 1.熟练掌握从一些包中读取数据。 2.熟练掌握csv文件的导入。 3.创建一个数据框,并导出为csv格式。 二、实验内容 1.创建一个csv文件(内容自定),并用readtable函数导入该文件。 2.查看R语言自带的数据集airquality(纽约1973年5-9月每日空气质 量)。 3.列出airquality的前十列,并将这前十列保存到air中。 4.查看airquality中列的对象类型。 5.查看airquality数据集中各成分的名称 6.将air这个数据框导出为csv格式文件。(write.table (x, file ="", sep ="", https://www.wendangku.net/doc/9b6812076.html,s =TRUE, https://www.wendangku.net/doc/9b6812076.html,s =TRUE, quote =TRUE)) 三、实验要求 要求学生掌握从包中读取数据,导入csv文件的数据,并学会将文件导出。

嵌入式操作系统实验一建立交叉编译环境

嵌入式操作系统实验一建 立交叉编译环境 Last updated on the afternoon of January 3, 2021

嵌入式操作系统实验报告 队友:张圣苗亚 实验内容 1、准备工作工作:安装virtualbox虚拟机工具,并安装系统、增强型工具,实现共享文件夹的自动挂载。 2、利用crosstool提供的脚本安装和相关资源编译面向的ARM的GCC工具。 详细内容1:安装虚拟机软件和虚拟机时要完成的主要步骤有:安装virtualbox,建立一台虚拟机,分配内存和硬盘,指定共享文件夹(主机和虚拟机可共同操作),指定操作系统镜像文件路径(相当于光盘,第一次启动时安装),安装虚拟操作系统,安装增强工具包,实现共享文件夹的自动挂载。有几点需要注意: 1、虚拟硬盘尽量分配大一些,之后再扩就比较麻烦。 2、共享文件夹不要有中文路径,不然挂载后看不到中文名称文件。 3、安装操作系统时,不能断网,需要下载各种资源,不然会异常。 详细内容2需要安装与脚本相关的工具,需要修改crosstool中的配置文件以指定编译的目标位arm-linux。需要修改需要的资源 实验步骤 实验准备: 在实验准备中,在安装完增强工具包()并重启之后,需要实现对共享文件夹的自动挂载,只需要修改etc目录中的配置文件,是很多linux系统管理员的偏爱,因为凡是需要随系统自动启动的服务、程序等,都可以放在里面。 $sudomkdir/mnt/share $sudomount-tvboxsfembedded/mnt/shared 上面三句话实现了将共享文件夹embeded挂载到了share上。 gedit/etc/ 将第2句命令添加在exit之前,实现了自动挂载功能。 实验一 一、搭建编译环境 1、安装于脚本运行相关及其他的工具bison、flex、build-essential、patch、libncurses5-dev。

数据库实训指导书

《数据库》实训计划 课程名称:数据库原理及应用 一、课程简介 《数据库原理及应用》课程是我院计算机科学与技术专业的一门重要专业课程,是一门理论性和实践性都很强的面向实际应用的课程,它是计算机科学技术中发展最快的领域之一。可以说数据库技术渗透到了工农业生产、商业、行政管理、科学研究、教育、工程技术和国防军事等各行各业。因此本课程的教学既要向学生传授一定的数据库理论基础知识,又要培养学生运用数据库理论知识和数据库技术解决实际应用问题的能力。 二.课程实验 实验题目 1.学籍管理系统 2.图书档案管理系统 3.企业人事管理系统 4.工资管理系统 5.用户和权限管理系统。 6.仓库管理系统。 7.企业进销存管理系统。 8、超市管理系统 10、酒店管理系统 11、旅游管理系统 12、高考成绩信息管理系统

13、医院信息管理系统 14、银行计算机储蓄系统 15、 ICU监护系统 16、可自拟题目 任选一题按照下列实验纲要进行设计。 实验纲要 1、实验目标 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库应用的基本训练,提高其解决实际问题的能力。 2、实验内容 数据库的模式设计;数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括嵌套查询、连接查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库应用系统的设计实现。 给定一实际问题,让学生自己完成数据库模式的设计,包括各表的结构(属性名、类型、约束等)及表之间的关系,在选定的DBMS上建立数据库表。用SQL命令和可视化环境分别建立数据库表,体会两种方式的特点。 3、实验教学重点 本课程的实验教学重点包括:⑴数据库的模式设计;⑵SQL的数据查询; ⑶并发控制、恢复、完整性和安全性实现机制;⑷简单数据库应用系统的设计实现; 实验1:数据库的创建

单片机实验指导书2

MCS51单片机原理及应用 实验指导书 唐山学院信息工程系 单片机实验室 2008年9月

实验一 P1口实验 一、实验目的 1.学习P1口的使用方法; 2.学习延时子程序的编写和使用; 3.学习单片机实验系统的使用方法和程序的调试方法。 二、实验题目 1.P1口做输出口,接八只发光二极管,编写程序,使其循环点亮。 2.P1口低四位接四只发光二极管L1-L4, P1口高四位接开关K1-K4,编写程 序,将开关的状态在发光二极管上显示出来。 三、实验原理说明 P1口为准双向口,P1口的每一位都能独立地定义为输出线或输入线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。8031中所有口锁存器在复位时均置为“1”,如果后来往口锁存器写入过“0”,再作为输入时,需要向口锁存器对应位写入“1”。 延时程序的编写可以用两种方法,一种是用定时器来实现,一种使用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。 如果系统晶振为6.144MHz,则一个机器周期为12/6.144μs即1/0.512μs。 现要编写一个延时0.1s的程序,可以大致写出如下: MOV R7, #200 DE1: MOV R6, #X DE2: DJNZ R6, DE2 DJNZ R7, DE1 上面 MOV、DJNZ指令均为两个机器周期,所以执行一条指令需要1/0.256us, 现求出X值:(X*1÷0.256+1÷0.256+1÷0.256)*200+1÷0.256=0.1*106 指令3 指令2 指令4 指令1 计算出X=126,代入上式可知实际延时约为0.100004s。 四、连线方法 题目1:8031的P1.0—P1.7分别接发光二极管L1—L8 题目2:P1口的P1.0—P1.3接L1-L4, P1口的P1.4—P1.7接K1-K4 五、实验电路

数据库实验2指导书

一实验题目: SQL SERVER2000查询分析器的使用 二实验目的:熟悉SQL SERVER2000 环境,熟悉查询分析器的使用,能够熟练运用sql命令完成数据库,基本表、主码、外码和其它必要的约束条件的定义。 三实验内容及要求:(从下面10个题目中选择一个) 题目一: 1 利用sql建立学生信息数据库,并定义以下基本表: 学生(学号,年龄,性别,系号) 课程(课号,课名,学分,学时) 选课(学号,课号,成绩) 定义主码、外码、和年龄、学分、学分的取值范围。 2 在三个表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应。 题目二: 1 利用sql建立图书管理数据库,并定义以下基本表: 图书(书号,书名,价格,出版社) 读者(卡号,姓名,年龄,所属单位) 借阅(书号,卡号,借阅日期) 定义主码、外码、和年龄、价格的取值范围。 2 在三个表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应。 题目三: 1 利用sql建立商品信息数据库,并定义以下基本表: 商品(编号,品名,进价,库存,售价,厂商编号) 顾客(卡号,姓名,电话,积分) 厂商(编号,厂址,名称、电话、经理) 销售(卡号,商品编号,数量,日期) 定义主码、外码、和价格、积分的取值范围。 2 在表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应。 题目四: 1 利用sql建立图书信息数据库,并定义以下基本表: 图书(书号,书名,作者编号,价格,出版社编号) 作者(编号,姓名,电话) 出版社(编号,出版社名称,地址) 定义主码、外码、和价格的取值范围。 2 在三个表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应。 题目五: 1 利用sql建立零件信息数据库,并定义以下基本表: 零件(编号,名称,颜色,生产车间号) 车间(编号,名称,人数,主任) 产品(编号,名称,车间编号) 使用(产品编号,使用零件编号,个数) 定义主码、外码、和人数、个数的取值范围。 2 在三个表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应。 题目六: 1 利用sql建立药品信息数据库,并定义以下基本表: 药品(编号,名称,价格,厂商编号) 处方(药品号,数量,医生编号) 医生(编号,姓名,科室,职称) 定义主码、外码、和数量、价格的取值范围。 2 在三个表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应。 题目七: 1 利用sql建立教材数据库,并定义以下基本表: 学生(学号,年龄,性别,系名)

嵌入式系统实验报告

嵌入式系统实验报告文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

大连理工大学 本科实验报告 课程名称:嵌入式系统实验 学院(系):电子信息与电气工程学部 专业:自动化 班级: 0804 学号: 学生姓名:何韬 2011年 11月 18日 大连理工大学实验报告 学院(系):电信专业:自动化班级: 0804 姓名:何韬学号:组: ___ 实验时间: 2011-11-12 实验室: d108 实验台: 指导教师签字:成绩: 实验二ARM的串行口实验 一、实验目的和要求 见预习报告 二、实验原理和内容 见预习报告 三、主要仪器设备

硬件:ARM嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC机Pentium100 以上、串口线。 软件:PC 机操作系统win98、Win2000 或WinXP 、ARM SDT 或集成开发环境、仿真器驱动程序、超级终端通讯程序。 四、实验步骤 见预习报告 五、核心代码 在主函数中实现将从串口0接收到的数据发送到串口0() int main(void) { char c1[1]; char err; ARMTargetInit(); 通过调用OSTaskCreate()或OSTaskCreateExt()创建至少一个任务; . OSStart(); /ucos-ii/" /* uC/OS interface */ #include "../ucos-ii/add/" #include "../inc/" #include "../inc/sys/" #include "../src/gui/" #include <> #include <>

2016数据库原理实验指导书

信息工程学院 数据库原理实验指导书二零一六年五月

目录 实验一SQL SERVER 2005的安装与启动 (1) 实验二数据库的操作 (11) 实验三SQL SERVER2005查询编辑器 (23) 实验四SQL语言的DDL (31) 实验五SQL语言的DML初步 (34) 实验六DML的数据查询 (36) 实验七数据库综合设计 (40)

实验一SQL Server 2005的安装与启动 一、实验目的 SQL Server 2005是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。 本次实验了解SQL Server 2005的安装过程,了解SQL Server 2005的启动,熟悉SQL Server 2005软件环境。学会安装SQL Server 2005。 二、实验内容 1.安装SQL Server 2005 (1)将SQL Server 2005(中文开发版)安装盘插入光驱后,SQL Server 2005安装盘将自动启动安装程序;或手动执行光盘根 目录下的Autorun.exe文件,这两种方法都可进行SQL Server 2005的安装。出现如下画面。 (2)选中“运行SQL Server Client 安装向导”进行安装,弹出【最终用户许可协议】界面。

(3)选中【我接受许可条款和条件】选项,单击【下一步】按钮,进入【安装必备组件】界面。 (4)组件安装完成后,单击【下一步】按钮,进入【欢迎使用Microsoft SQL Server 安装向导】界面。

(5)单击【下一步】按钮,进入【系统配置检查】界面。检查完毕将显示检查结果。 (6)检查如果没有错误,单击【下一步】按钮,进入【注册信息】界面。

数据结构实验指导书2.

北京林业大学 实验任务书 备注:实验共分4次,其中实验1――实验3为设计性实验,实验4为综合性实验,具体安排下面一一列出。

北京林业大学 10学年—11学年第 2学期数据结构实验任务书 专业名称:实验学时: 4 课程名称:数据结构任课教师:李冬梅 实验题目:线性表的基本操作 实验环境: Visual C++ 实验目的: 1、掌握线性表的定义; 2、掌握线性表的基本操作,如建立、查找、插入和删除等。 实验内容: 定义一个包含学生信息(学号,姓名,成绩)的的顺序表和链表,使其具有如下功能: (1) 根据指定学生个数,逐个输入学生信息; (2) 逐个显示学生表中所有学生的相关信息; (3) 根据姓名进行查找,返回此学生的学号和成绩; (4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩); (5) 给定一个学生信息,插入到表中指定的位置; (6) 删除指定位置的学生记录; (7) 统计表中学生个数。 实验提示: 学生信息的定义: typedef struct { char no[8]; //8位学号 char name[20]; //姓名 int price; //成绩 }Student; 顺序表的定义 typedef struct { Student *elem; //指向数据元素的基地址 int length; //线性表的当前长度 }SqList;

链表的定义: typedef struct LNode{ Student data; //数据域 struct LNode *next; //指针域 }LNode,*LinkList; 实验要求: (1) 程序要添加适当的注释,程序的书写要采用缩进格式。 (2) 程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的位置不对等等。 (3) 程序要做到界面友好,在程序运行时用户可以根据相应的提示信息进行操作。 (4) 根据实验报告模板详细书写实验报告,在实验报告中给出链表根据姓名进行查找的算法和插入算法的流程图。 (5) 上传源程序和实验报告到ftp的相应班级所在文件夹。顺序表的源程序保存为SqList.cpp,链表的源程序保存为LinkList.cpp,实验报告命名为:实验报告1.doc。源程序和实验报告压缩为一个文件(如果定义了头文件则一起压缩),按以下方式命名:学号姓名.rar,如070814101薛力.rar。

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