嵌入式设计与开发实验指导书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式设计与开发

内蒙古工业大学信息学院计算机系

2016年3月

目录

实验一、嵌入式Linux开发入门 (3)

实验二文件及进程控制编程 (5)

实验三进程间通信程序设计 (7)

实验四网络通信程序设计 (8)

实验一、嵌入式Linux开发入门

一、实验目的

1、掌握GCC编译器的使用

2、掌握如何通过gdb调试应用程序

3、掌握makefile文件的编写

4、掌握交叉编译工具的使用

二、实验内容

1、熟悉虚拟机linux开发工具的使用

2、使用gcc编译程序,gdb调试程序、编写makefile文件

3、通过nfs方式挂载实验箱,通过交叉编译工具编译基于ARM架构的程序,下载到实验箱并执行程序,分析程序执行结果。

三、实验要求:

1、编写一个C源程序,使用gcc进行编译,并分别使用-c、-g、-O、-O2等编译选项;使用gdb进行调试,调试中使用常用的gdb命令;记录调试过程,在实验报告中描述。

2、实现一个应用程序,该程序由两个或两个以上的C源文件构成,编写makefile文件,通过make工具完成该程序

的编译。

3、通过nfs挂载实验箱,将前面的程序通过arm_linux_gcc 进行编译,下载到实验箱执行,分析结果。

实验二文件及进程控制编程

一、实验目的

1、掌握采用系统调用的方式进行文件操作

2、掌握进程控制相关的调用:fork( )、exec( )、wait( )等。

二、实验内容

1、编写程序实现who命令的功能

2、进程控制程序设计

三、实验要求

1、编写程序实现who命令的功能。在终端里运行who命令,查看结果,分析其实现原理,然后用文件操作实现其功能。(提示:who是读取/var/run/utmp文件来得到输出信息的,utmp是二进制文件,里面保存的是结构体数组,这些数组是struct utmp结构体。)

2、编程使用fork( )、vfork( )创建子进程,分别在父进程、子进程中显示出进程的PID,父进程打印字符串”**********”,然后sleep一定的时间,子进程打印字符串”##########”,然后sleep一定时间。多次执行程序,分析fork的特点。

3、编程使用exec函数族启动进程,在子进程中调用exec 函数族启动新的程序。

4、在实验2的基础上改进,要求父进程等待子进程结束后输出“子进程结束”,然后退出。(提示:使用wait或waitpid)

实验三进程间通信程序设计

一、实验目的

1、掌握进程间通信的基本方法

2、掌握基于管道、信号、共享内存、消息队列等进程间

通信的实现

二、实验内容:

1、采用无名管道和命名管道实现进程间通信

2、采用共享内存或消息队列实现进程间通信

三、实验要求:

1、在父进程中创建一个无名管道,创建子进程读该管道,父进程写该管道。

2、编写进程A和进程B,实现进程A创建命名管道,并写入数据,进程B读命名管道

3、编写进程A和进程B,实现进程A创建共享内存,并写入数据,进程B读出A进程写入的数据

4、创建一消息队列,实现向消息对列写数据和读数据。

其中3、4可以任选一个实现

实验四网络通信程序设计

一、实验目的

1、掌握Linux的socket套接字网络编程

2、熟悉使用TCP传输协议的网络编程流程

3、熟悉使用UDP传输协议的网络编程流程

二、实验内容:

1、实现基于TCP协议的服务端、客户端通信

2、实现基于UDP协议的服务端、客户端通信

三、实验要求:

1、编写使用TCP协议的服务端、客户端程序,实现客户端向服务器发送字符串,服务器打印收到的字符串。

2、编写使用UDP协议的服务端、客户端程序,实现客户端向服务器发送字符串,服务器打印收到的字符串。

相关文档
最新文档