嵌入式系统设计与开发实验指导书Word文档格式.docx
- 文档编号:16747518
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:15
- 大小:42.12KB
嵌入式系统设计与开发实验指导书Word文档格式.docx
《嵌入式系统设计与开发实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式系统设计与开发实验指导书Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
(1)连接电缆线
第一步:
将串口线,一端连接到计算机的COM1口,另一端接实验箱的COM1口。
第二步:
将网线,一端连接到计算机的RJ45接口,另一端接实验箱的NIC-1口。
第三步:
插上实验箱的电源
思考:
串口线和网线分别实现什么功能?
(2)画出实验箱的目录结构
打开计算机(缩主机),进入进入Linux操作系统。
单击“开始/系统工具/终端”,进入终端窗口。
在终端下运行minicom。
注:
如果是第一次运行minicom,则要进行设置,即设置串口为:
ttyS0,传输率为:
1152008N1,数据流控制选择:
NO。
第四步:
打开实验箱电源,这时在minicom窗口,出现显示。
按“Enter”键,实验箱开始启动Linux操作系统。
第五步:
使用ls和cd命令画出目录结构。
(3)运行实验箱上的程序
第1步:
仔细分析实验箱的目录结构,看看应用程序存放在什么目录。
第2步:
运行一个动画程序(程序存放的绝对路径是:
/mnt/yaffs/mplay,播放器文件名是:
mplay,动画文件名假设是:
test.avi),输入以下命令:
[/mnt/yaffs]cdmplay
[/mnt/yaffs/mplay]./mplaytest.avi
第3步:
运行MiniGUI、MP3等其它应用程序
2.学习linux命令的基本操作
进入终端方式
依次单击“开始/系统工具/终端”,这时会弹出一个窗口,在窗口出现如下提示:
[root@localhostroot]#
“[root@localhostroot]”的各部分(如:
root)代表什么意思?
使用“ls”查看文件和目录。
[root@localhostroot]#ls
显示的文件和目录有好几种颜色,它们代表什么意思。
它有那些参数?
使用“cd”命令更改路径。
它和DOS下的CD的使用有什么区别?
第4步:
使用“cp”命令复制文件
第5步:
使用“mkdir”新建文件夹
第6步:
使用“rm”命令删除文件
第7步:
使用“ifconfig”命令设置IP地址
第8步:
使用adduser和passwd命令新增加一个用户
第9步:
使用service命令查看系统服务
第10步:
使用“mount”命令挂载FAT文件系统,先使用fdisk–l查看硬盘分区信息。
3.利用telnet协议控制远程的计算
设网络连接如图1所示。
目前要利用计算机A来操作计算机B。
所以要将计算机B作为telnet服务器,然后计算机A利用telnet协议登录计算机B,并对其进行操作。
图1网络连接图
在计算机B上设置telnet服务
进入终端方式运行setup
选中telnet服务,重启计算机。
计算机A利用telnet协议登录计算机B
[~]telnet192.168.0.115
登录时使用普通用户,再用su命令转为根用户(su–lroot)。
在计算机B上可以使用命令who查看有多少用户登录本机。
这时可以用命令进行各种操作。
4.nfs服务器的设置操作
“防火墙”设为“nofirewall”。
在systemservers项中,选中nfs和telnet服务,去除“iptables”和“ipchains”服务,然后保存设置并退出。
修改nfs服务权限,即修改“etc/exports”的文件内容。
每一行表示一个权限设置,格式为:
提供的目录(计算机名或IP地址)(权限)
启动nfs服务器,使其生效。
重启计算机。
客户机使用nfs服务器的目录,使用mount目录
[~]mount–tnfsIP地址:
目录目录
或[~]mount–onolockIP地址:
第六步:
telnet远程操作其它计算机
五、实验报告要求:
1、要求画出实验箱的目录结构。
2、nfs操作过程。
3、如何挂U盘和Windows的FAT分区。
实验二:
Linux编程基础
1.撑握gcc程序编译
2.撑握gdb程序调试(选做)。
3.撑握makefile工具管理的使用。
1.计算机
2.嵌入式实验箱
1.编写一应用程序,使用gcc进行编译,并分别使用-o,-g–static,-O2选项。
2.编写一应用程序,使用gdb对程序进行调试。
3.实现1个应用程序,这个应用程序由2个C文件构成,使用Makefile来完成文件的编译。
1.gcc编译程序
用vi编写一个C语言应用程序hello.c。
hello.c文件内容如下:
#include<
stdio.h>
voidmain()
{
printf("
helloworld\n"
);
return0;
}
使用gcc编译程序
#gcc–ohellohello.c
运行可执行程序
#./hello
第四步:
用vi编写一个C语言应用程序optimize.c。
optimize.c文件内容如下:
intmain(void)
doublecounter;
doubleresult;
doubletemp;
for(counter=0;
counter<
2000.0*2000.0*2000.0/20.0+2020;
counter+=(5-1)/4)
{
temp=counter/1979;
result=counter;
}
printf("
Resultis%lf\\n"
result);
return0;
第五步:
观察优化选项编译的效果,具体步骤如下:
[]gccoptimize.c–ooptimize
[]time./optimize
观察程序运行使用的时间
[]gcc–O1optimize.c–ooptimize
再观察程序运行使用的时间
使用gcc的其它参数进行编译,gcc参如下表:
选项
说明
-oFileName
指定输出文件名,如果没有指定,缺省文件名是:
a.out
-c
只编译生成目标文件,后缀为.o
-g
在执行程序中包括标准调试信息
-O
对程序进行优化编译、链接,提高程序的执行效率。
-IDirName
将DirName加入到头文件的搜索目录列表中
-LDirName
将DirName加入到库文件的搜索目录列表中,在缺省情况下gcc只链接共享库。
-lFOO
链接名为libFOO的函数库
-static
静态链接库文件
2.GDB调试程序
用vi编写一个C语言应用程序GDB_test.c(教材P34)。
带调试参数-g进行编译
#gcc–gGDB_test.c–oGDB_test
启动GDB调试,开始调试
#gdbGDB_test
使用用gdb的命令进行调试(教材的P35-P40)。
3.利用Makefile管理工具编译程序。
第一步:
用vi编写4个C语言应用程序和头文件。
这4个文件分别是menu.c,menu.h,music.c和picture.c。
(文件的内容见教材P42-43)
第二步:
在当前目录用vi编写Makefile文件(文件的内容见教材P43-44)
编译
#make
#./menu
1、总结gcc常用选项及功能。
2、总结gdb常用命令及功能。
3、总结Makefile常用预定义变量及功能。
4、思考:
不同目录下文件Makefile如何编写?
实验三:
设备文件和驱动程序安装
1.撑握设备文件、主设备号、驱动程序之间的关系。
2.撑握驱动程序的加载方法。
3.学习驱动开发调试的过程。
1.在PC机准备一个模块驱动程序,并安装。
2.查看驱动程序的主设备号和模块名称。
3.创建一个设备文件。
4.编写一个应用程序使用设备文件。
5.在实验箱上进行相同的操作。
实验箱上的直流电机、步进电机的驱动程序的加载方式是:
动态加载(模块化编译);
AD驱程序是:
静态加载(直接编译)。
lsmod命令可以查看模块化驱动程序的使用情况,可以用cat/proc/devices命令查看系统所有的设备(及主设备)的使用情况。
(1)查看设备文件及主设备号
Ø
进入/dev目录,
用ls–l命令查看
仔细观察屏幕显示,并能知道每个符号的含义
(2)查看已加载的(模块化)驱动程序
使用lsmod命令,分析显示的内容
运行cat/proc/devices,将显示的结果与上面进行比较。
理解什么叫动态加载和静态加载
(3)加载demo.o驱动程序
加载驱动程序(insmoddemo.o)
查看是否加载成功(lsmod和用ls查看设备文件名是否存在)
(4)创建设备文件
运行cat/proc/devices查看demo的主设备号
创建设备文件(mknod/dev/democ2490)
运行测试程序并观察结果
(5)在实验箱上加载直流电机驱动程序
insmods3c2410-dc-motor.o
lsmod
./dcm-main
(6)在实验箱上加载步进电机驱动程序
insmods3c2410-exio.o
./stepmotor
1、简述设备文件、主设备号、驱动程序之间的关系?
实验四:
DEMO驱动程序
1.撑握在linux下进行驱动程序设计的原理。
2.掌握使用模块方式进行驱动开发调试的过程。
3.掌握linux驱动程序的框架结构
在PC机上编写简单的虚拟硬件驱动程序并进行调度,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。
(1)阅读源程序demo.c驱动程序
理解各函数的功能
了解入口和出口函数
(2)编译驱动程序
编写Makefile文件
运行make命令
(3)加载驱动程序
insmoddemo.o
mknod/dev/democ2490
(5)阅读测试程序test_demo.c
(6)编译应用程序
gcctest_demo.c–otest_demo
(7)运行程序
运行测试程序,并理解运行的结果。
1、驱动程序内部有那部函数?
驱动程序给应用程序提供那些标准函数?
2、思考驱动程序和设备文件之间的关系。
实验五:
AD驱动程序
1.学习AD转换的工作的原理。
2.学习AD驱动程序和编写方法。
1.学习AD测试程序。
2.学习多线程控制程序。
3.编写利用电位器的电压值来控制直流电机的运行。
1.实验原理
实验的硬件电路
逐次逼近型A/D转换原理S3C2410X内置的A/D转换器框图
2.实验步骤
(1)阅读AD源程序
(2)编译AD源程序成可执行程序
(3)将AD可执行程序下载到实验箱
(4)执行AD程序
(5)编写控制程序、编译并执行。
1、要求根据要求写出祥细具体操作步骤。
2、思考如何用C语言程序给寄存器置位(置0或置1)。
实验六:
MiniGUI应用程序设计
1.学习MiniGUI程序的结构
2.学习MiniGUI程序的编译方法。
3.学习MiniGUI主窗口、对话框和菜单程序的编写方法。
1. 阅读MiniGUI主窗口程序,然后编译并运行。
2.修改程序中存在的错误。
3.在dialog.c程序中增加一个名为“hello”的按钮,按钮的ID号为115。
实验源程序在05_MiniguiExp/host目录下(arm目录下是编译成实验箱上运行的程序)。
(1)编译主窗口程序(在缩主机上运行)
阅读主窗口源程序(host/helloworld.c)。
阅读Makefile文件。
进入控制台(Alt_ctrl+F1)
运行程序
并运行观察结果.
(2)编译主窗口程序(在实验箱上运行)
阅读主窗口源程序(arm/helloworld.c)。
操作实验箱,并挂载nfs
(3)有菜单的主窗口
阅读源程序(host/menu1.cmenu2.cmenu3.c)。
编译,并运行
(1)编译对话框程序
阅读主窗口源程序(host/dialog.c)。
(2)编译装载图片程序
阅读主窗口源程序(host/loadbmp.c)。
1、要求写出对话框使用的具体函数及其功能。
2、思考如何在程序中添加一些自己的功能。
实验七:
嵌入式数据库应用
1.学习嵌入式数据库的应用。
1. 阅读嵌入式数据库的资料
2.学习SQLite3数据库的使用
1:
安装SQLite3数据库。
2:
用SQLite3的相关命令实现:
创建一个名为stu.db的数据库,在该数据库中创建一个名为student的表,表的字段信息如表1所示,并向表中插入2条记录,详细信息如表2所示;
然后把表中的记录进行查询在终端上显示出来。
表1表的字段信息
字段名
类型
说明
ID
Integer
学生学号,为主键
Name
varchar(20)
学生姓名
Age
学生年龄
Sex
学生性别
表2表的记录
10001
zhansan
20
female
10002
lisi
19
male
3:
编写C程序,通过调用SQLite的API函数完成以上功能。
1、请将具体步骤写在实验报告上。
2、如果在实验时遇到错误,请写在实验报告上,如果有解决错误的办法,也写在实验报告上。
实验八:
QT应用程序设计
1.学习QT程序的结构
2.学习QT程序的编译方法。
3.学习QT主窗口、文本框和菜单的编写方法。
1. 阅读QT主窗口程序helloworld.cpp,然后编译并运行。
2.在helloworld.cpp程序中增加一个名为“hello”的按钮。
阅读主窗口源程序(host/helloworld.cpp)。
创建Makefile文件。
(2)增加按钮“hello”
添加代码。
1、要求写出添加按钮的具体函数及其功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 设计 开发 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)