嵌入式系统实验指导书

发布 2022-10-21 10:01:28 阅读 8093

《嵌入式系统原理》实验指导书 1

目录 1实验报告要求: 2

实验一 linux的初步使用 3

实验二 linux驱动程序 6

实验三交叉编译程序 12

实验四编译内核与** 16

1. 统一用学院所发实验模板,各项内容要求填写准确,规范;

2. 实验报告命名要求: 完整学号+姓名+实验序号+实验报告。doc,如:

实验报告。doc

3.上交实验报告时,应将实验报告文档、源**及相关文件用rar压缩,命名为完整学号+姓名+实验序号实验报告。rar,如:200409013张三实验1实验报告。rar

实验目的:熟练掌握linux命令的使用,linux程序的编译与调试。

实验学时:3学时。

实验内容:1. 掌握虚拟机vmware的基本应用;

2. 掌握虚拟机中red hat linux 的安装;

3. 掌握基本linux命令的使用;

4. 掌握linux程序编译与调试。

实验设备:装有vmware的pc机一台,red hat安装光盘(或iso映像文件)。

实验步骤:1. 创建一虚拟机mylinux

1) 从桌面上单击“vmware workstaion”启动虚拟机软件,单击新建虚拟机,指定保存路径“d:\mylinux”,选择虚拟机操作系统类型:linux,然后完成虚拟机的创建;

2) 双击虚拟机中cdrom,选择将虚拟机光驱连接修改为:使用iso映像,并指定映像文件为共享磁盘:i:\

3) 单击虚拟机中启动虚拟机,开始从光盘上启动系统并安装linux。

2. 安装linux

注意:在虚拟机和主机之间进行切换方法:鼠标单击虚拟机,可以进入;要回到主机,请用ctrl+alt

1) 输入回车,进入图形化安装;也可以linux text进入文本界面安装;

2) 选择skip(跳过cd检查),回车。

3) 点击next(下一步)

4) 安装语言,选择简体中文;或选择english

5) 安装类型,选择定制:custom

6) 分区选择:自动分区。

7) 网络配置:选择为自动获取ip,无防火墙;

8) 设置根(root)用户密码:123456

9) 安装包选择:至少要选择:开发工具、编辑工具、内核开发工具。如果实在不知选什么,可以选择:所有(everything),但这样安装时间较长。

10) 安装过程中提示插入第2张磁盘时,请用鼠标右击虚拟机的标题栏,找到可移动设备中的cdr然后指定red作为光盘映像文件。

3. 练习linux命令的使用:

启动linux后,在登录框中输入用户名:root,密码:123456(不显示),直到进入提示符状态#

执行如下命令,掌握基本命令的使用。

1) mkdir /mydir建立文件夹。

2) cp /proc/version /mydir复制文件。

3) cd /mydir进入文件夹。

4) mv version myfile重命名文件。

5) ls显示目录。

6) cat myfile显示文件内容。

7) vi myfile (按:q退出编辑文件。

下面是光驱的装载。

1) cd /mnt

2) ls若没有cdrom,执行mkdir cdrom创建cdrom

1) mount cdrom装载光驱。

2) cd cdrom

3) ls

4) cd ..

5) umount cdrom卸载光驱。

4. vi 编辑器的使用。

用vi编辑一个文件:vi

按i键进入插入模式,输入如下内容:

#include <>

#inlcude <>

int main()

printf(“hello world!”);

return 0 ;

按esc键退出插入模式。

按:w保存文件。

按:q退出文件编辑。

5. 使用gcc命令编译该文件:

gcc –o helloworld

若有错,根据提示的行号修改错误,直到编译没有错误。

执行:helloworld

查看是否能正确输出:hello world!.

6 .用gdb调试。

带调试信息的编译:

gcc –g –o test1

启动调试器:

gdb test1

在提示符下执行如下命令进行调试:

1) list

2) 用回车继续执行上述命令,找到第2个函数的入口点行号。

3) break n //n为第2个函数的入口点行号(第19行)

4) run

5) step

6) next

7) 用watch i,string2[i]来观察变量的变化。

反复执行next,直到循环退出。

7.参考 修改 ,重新编译并运行,看是否能正确得到反转的结果。

实验小结:小结实验过程中遇到了哪些问题,是如何解决的?

实验目的:1) 熟悉驱动程序的结构;

2) 掌握驱动程序各函数的作用。

3) 熟悉驱动程序的编译与运行

实验学时:3学时。

实验设备:装有vmware的pc机一台,red hat安装光盘(或iso映像文件)。

实验步骤:1. 参照附录中的参考**,使用vi完成与skeleton_的编写。

2. 执行如下命令编译程序:

export path=/opt/host/armv4l/bin:$path

armv4l-unkown-linux-gcc -d__kernel__ dmodule -i/s3c2410/kernel/include -o

armv4l-unkonw-linux-gcc -o skeleton_test skeleton_

3. 使用驱动程序。

插入模块:insmod

查看设备文件:

dev/skeleton

执行测试程序。

./skeleton_test

卸载模块:rmmod

实验小结:参考**:

1. 驱动程序。

* driver/char/

* this is a skeleton char device driver

#include <>

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define iowrite 0xf021

#define ioclear 0xf022

#define skeleton_major 220

#define strlen 100

char skeleton_drvinfo[100];

devfs_handle_t devfs_skeleton;

int skeleton_open(struct inode *,struct file *)

int skeleton_release(struct inode *,struct file *)

int skeleton_ioctl(struct inode *,struct file *,unsigned int ,unsigned long);

ssize_t skeleton_read(struct file *,char * size_t,loff_t *)

ssize_t skeleton_write(struct file *,const char * size_t,loff_t *)

static struct file_operations skeleton_fops=;

int skeleton_open(struct inode *inode,struct file *filp)

ssize_t skeleton_read(struct file *filp,char *buf,size_t size,loff_t *offp)

char * buf;

_buf=skeleton_drvinfo;

copy_to_user(buf,_buf,sizeof(skeleton_drvinfo);

嵌入式系统实验指导书

嵌入式系统。实。验。指。导。书。1.1 熟悉linux 开发环境。一 实验目的。熟悉linux 开发环境,学会基于mini6410 的linux 开发环境的配置和使用。使用linux 的arm linux gcc 4.5.1 编译,使用基于nfs 方式的 调试,了解嵌入式开发的基本过程。二 实验内容...

嵌入式系统实验指导书

目录 1 第1章 el arm 830 实验系统的资源介绍 1 第2章基于arm系统资源的实验 30 实验一 ads1.2开发环境创建与简要介绍 31 实验二基于arm的汇编语言程序设计简介 39 实验三基于arm的c语言程序设计简介 44 实验四基于arm的硬件boot程序的基本设计 49 实验五...

嵌入式系统实验指导书

嵌入式系统 课程组。申屠浩鲍可进主编。计算机科学与通信工程学院计算机工程系。二 八年七月。目录。实验一 ads1.2 开发环境 3 1.实验目的 3 2.实验内容 3 3.实验步骤 3 4.c程序的相关说明 13 实验二 gnu交叉工具链的编译 17 1.实验目的 17 2.实验内容 17 3.实验...