《嵌入式系统原理》实验指导书 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.实验...