嵌入式实验报告--(精品).docx嵌入式操作系统
期末实验考试
OK6410环境下的设备驱动及进程间通信
综合实验
专 业通信工程(物联网)
班 级 1104
学 号 20**********
指导教师 熊旭辉
起止时间 至
湖北师范学院
2012 年 03 学期
目录
一、 考试内容简介 3
二、 准备硬件环境 3
三、 准备软件环境 3
四、 实验原理 3
五、 把登录系统后的终端的默认用户改为rooto 4
五、 按照飞凌新版光盘A的用户手册6-5安装交叉编译工具链 5
六、 编译内核 7
七、 NFS挂载网络文件系统 7
八、 执行led驱动程序 13
九、 编写生产者与消费者代码 15
十、三个问题 21
一、考试内容简介
1、采用生产者-消费者模型,控制OK6410的led灯的显示。生产者每秒产生一个0〜15 数字,放入共享缓冲区;消费者每秒从共享缓冲区取出一个数字,并用该数字设置 OK6410的led灯的显示。
2、 考试目的
3、 掌握进程同步原理及Linux同步机制的编程
4、 掌握进程间通信原理及Linux进程间通信的编程
5、 掌握设备驱动原理及Linux设备驱动机制的编程
6、 掌握操作系统调用原理及Linux系统调用的编程
7、 掌握嵌入式开发环境的搭建
8、 配置交叉编译工具链
9、 配置nfs服务器和共享文件夹
10、 配置OK6410开发板的IP网络地址
11、 OK6410开发板的arm Linux
12、 配置minicom终端及串口通信
13、 设备驱动模块的加载及编程接口
14、 Linux命令的使用和程序的运行(包含后台运行)
二、准备硬件环境
高性能PC —台 开发板一块 计算机网络 USB转串口 网线
三、 准备软件环境
Linux操作系统
四、 实验原理
进程通信原理
OS提供了沟通的媒介供进程之间“对话”用。既然要沟通,如同人类社会的沟通一样,沟通要付 出时间和金钱,计算机中也一样,必然有沟通需要付出的成本。出于所解决问题的特性,OS提供 了多种沟通的方式,每种方式的沟通成本也不尽相同,使用成本和沟通效率也有所不同。我们经常 听到的管道、消息队列、共享内存都是OS提供的供进程之间对话的方式。
既然是沟通,必然是沟通双方有秩序的说话,否则就成吵架了,谁也听不到对方说什么。如同法 庭中法官控制控辩双方的发言时机和发言时间一样,OS也必须提供此类的管制方式使得进程的沟 通显的有序和谐。我们经常听到的互斥锁、条件变量、记录锁、文件锁、信号灯均属此列。
生产者和消费者问题原理
生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra提出,用以演示他提出的信 号量机制。在同一个进程地址空间内执行的两个线程生产者线程生产物品,然后将物品放置在一个 空缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程 生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。
当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻塞,直到新的物品被生产 出来。如果将两个wait操作即wait (full)和wait (mutex)互换位置,或者将release (mutex)与 release (full)互换 位置,当缓冲区存满产品时,生产者又生产了一件产品,它欲向缓冲区存放时 将在empty上等待,但它已经占有了使用缓冲区的权利。这时消费者要取产品时将停留在mutex 上得不到使用缓冲区的权利,导致生产者等待消费者取走产品,而消费者却在等待生产者释放使用 缓冲区的权利,这种相互等待永远结束不了。因此进程将会发生死锁。
五、把登录系统后的终端的默认用户改为root。
1、 在终端中输入:sudo gedit /etc/gdm/
2、 这时会弹出文本编辑器,将""内容修改成下面所示内容(若原来文件 为空的话就输入这些内容),保存关闭,重新启动Ubuntu就会发现已经自动用root用 户登录了。
[daemon]
TimedLo ginEnable=true
AutomaticLoginEnable=true
TimedLogin=root
AutomaticLogin=roo t
TimedLoginDelay=30
I x 1
# GDM configuration storage
[daemon]
TimedLoginEnable=t rue
AutomaticLoginEna
嵌入式实验报告--(精品) 来自淘豆网m.daumloan.com转载请标明出处.