陈勇嵌入式系统原理实验指导书.docx

上传人:b****8 文档编号:30237101 上传时间:2023-08-13 格式:DOCX 页数:87 大小:644.93KB
下载 相关 举报
陈勇嵌入式系统原理实验指导书.docx_第1页
第1页 / 共87页
陈勇嵌入式系统原理实验指导书.docx_第2页
第2页 / 共87页
陈勇嵌入式系统原理实验指导书.docx_第3页
第3页 / 共87页
陈勇嵌入式系统原理实验指导书.docx_第4页
第4页 / 共87页
陈勇嵌入式系统原理实验指导书.docx_第5页
第5页 / 共87页
点击查看更多>>
下载资源
资源描述

陈勇嵌入式系统原理实验指导书.docx

《陈勇嵌入式系统原理实验指导书.docx》由会员分享,可在线阅读,更多相关《陈勇嵌入式系统原理实验指导书.docx(87页珍藏版)》请在冰豆网上搜索。

陈勇嵌入式系统原理实验指导书.docx

陈勇嵌入式系统原理实验指导书

 

嵌入式系统原理

实验指导书

 

陈勇

 

陕西理工学院数学与计算机科学学院

 

二零一四年三月

目录

1实验平台3

1.1硬件平台3

1.2软件平台6

2、实验部分8

实验一、熟悉嵌入式系统开发平台8

实验二、Linux常用命令实验11

实验三、linuC语言编程16

实验四、建立交叉编译环境19

实验五、Linux基本应用程序实验24

1实验平台

1.1硬件平台

TQ2440开发板,全新3.5寸数字触摸屏,S3C2440是三星公司推出的一款功能强大,功耗极低的ARM9嵌入式CPU,应用范围非常广泛。

TQ2440开发板我司基于三星公司S3C2440的公版电路,优化设计而来。

TQ2440有V2核心板和TQ2440底板组成.

2440v2核心板特性

特性

说明

CPU处理器

SamsungS3C2440AL,主频400MHz(最高可达533MHz)

SDRAM内存

板载64MBSDRAM(标准配置)可根据用户需要扩展到128MB,提供完整的解决方案32bit数据总线SDRAM,100MHZ(支持稳定运行133MHz,仅此一家)

NandFlash

板载64MBNandFlash(标准配置),掉电非易失,有容乃大(可根据用户需要升级为128MB~1GB,提供完整的解决方案)

NorFlash

板载2MBNorFlash(最高可升级到8MB)

CorePower

专业1.25V核心电压供电,完美解决CPU发热现象

Power

核心板采用3.3V供电

Powerled

1个核心板电源指示灯

核心板接口

接口型号为DC-2.0双列直插

尺寸

微型核心板:

37mmx74mm

TQ2440开发板底板硬件特性

硬件特性

说明

串口

板载五线异步串行口(UART0),可外接串口扩展板引出另两个串口(UART1和UART2);

WINCE和Linux均有三串口驱动。

网络接口

板载100MDM9000网卡,带联接和传输指示灯;

USB接口

USBHOST接口;USBDevice接口。

存储接口

一个SD卡接口,支持2GBSD卡。

音频接口

采用芯片UDA1341,立体声音频输出,可录音。

LCD接口

集成了4线电阻式触摸屏接口;

支持800×600、640×480、240×320、320×240等不同分辨率的TFTLCD,(目前实测最大的屏10.4寸屏,800×600的分辨率),可接VGA转接板

Camera

130W像素摄像头(标配驱动),可支持AV信号视频输入或更高像素的摄像头

时钟源

内部实时时钟(带有后备锂电池)

调试Jtag

JTAG接口,支持ADS1.2,keil等软件的单步调试功能

复位电路

采用专业复位芯片811进行复位,稳定可靠

电源接口

高电流带载的5V电源供电,带电源开关指示灯

AD功能

可调电阻接到ADC引脚上用来验证模数转换

IIC功能

提供AT24C02的EEPROM验证IIC功能

蜂鸣器

测试PWM功能的蜂鸣器

用户按键

4个用户按键,使用外部中断

用户LED灯

4个用户LED灯,使用GPIO口控制

底板尺寸

105mm×128mm

 配套LCD简介:

·尺寸:

3.5寸

·显示面积:

70.08(H)mm×52.56(V)mm

·显示颜色:

16.7兆色

·分辨率:

320RGB×240(横屏)

·LED背光

·对比度:

300:

1

·亮度:

320cd/m2(流明)

·使用温度:

-20℃到60℃

触摸屏

·触摸屏使用次数:

超过100,000次

·响应时间:

≤10ms

液晶驱动板介绍

·驱动板自带两个接口:

40pin的0.5间距的FPC接口和50pin的2.0间距的插针接口;

·提供5V和3.3V两种电压供电,缺省状态是3.3V供电. 

·提供接口部分的原理图,方便您的使用. 

·LCD驱动板的尺寸:

103mm×83mm

1.2软件平台

LINUX软件特性(基于LINUX2.6内核)

类别

功能特性

说明

u-boot

一键更新程序:

bootloader,kernel,Yaffs,NK.bin等更新

首创支持usb下载内核镜像,文件系统的u-boot,使用更方便,开发更容易!

一键式选择设置Linux启动参数

可设置开发板从Linux的Yaffs或nfs启动参数

内核

Linux-2.6.13内核

Linux2.6.25.8内核

采用Linux2.6内核,更好兼容S3C2440

文件

系统

ROM/CRAM/EXT2/FAT32/NFSfilesystem

支持ROM/CRAM/EXT2/FAT32/NFS等文件系统

YAFFSfilesystem

支持YAFFS文件系统

驱动

支持

SystemInterrupt&TimerDriver

系统中断和系统时钟驱动

Serialdevicedriver

三个串口驱动

MTDdeviceDriver

MTD设备驱动

Flashmemorydevicedriver

NandFlash驱动

externalEthernetdevicedriver

集成100M以太网卡驱动(DM9000)

RTC(RealTimeClock)Driver

实时时钟驱动

USBHostdriver

USBHost驱动,支持更多USB设备

USBSlave

USBSlave驱动,支持开发板模拟U盘

LEDSDrives

用户LED灯驱动

Buttons

用户按键驱动,使用外部中断.

SoundDriver

声卡驱动(可以播放可以录音)

LCDDriver(support640*480,240*320,320*240solutionforTFT)

LCD驱动,可接3.5寸,4.3寸,7寸,10寸等

分辨率240×320、320×240、640×480、800×480、800×600的LCD

FrameBuffer

FrameBuffer驱动

TouchPanelDriver

触摸屏驱动(大分辨率LCD依然精准)

SD/MMCDrivers

SD/MMC卡驱动

CameraDriver

摄像头驱动

网络协议及网络应用程序

TCP/IP

完整的TCP/IP协议

Telnet、FTP、inetd

网络远程登录工具及服务

boa

Web服务器应用程序

其他

应用

程序

servfox

控制台下的摄像头应用程序,可通过网络访问开发板的摄像头,以及把摄像头获取的图像显示在LCD上,配合USB摄像头可实现网络监控

spcacat

控制台下的摄像头抓图程序

snapshot

控制台下的LCD抓屏软件

rz和sz

控制台下使用串口接收和发送文件的程序

madplay

控制台下的MP3播放器

基本工具

busybox1.2.0工具集

Busybox1.13工具集

Linux常用命令,占用空间小,命令强大

图形

界面

QtopiaEmbedded

提供Qtopia1.7.0和Qtopia2.2.0,两个版本任君选择;

提供QtopiaEmbedded2和4两种级别的库,更加方便您的开发。

Trolltech开发的用于嵌入式Linux的图形用户界面系统,支持网页浏览器,Medialplay播放器,文件管理器等等

USB设备

驱动

储存设备

支持各种优盘,移动硬盘直接插拔使用

USBHub

支持各种USBHub

USB无线网卡

支持TL-WN321G+、TL-WN322G+

USB摄像头,支持使用中芯微301P系列芯片的USB摄像头,采集动态图像并显示在lcd上

市场上销售的usb摄像头

USB鼠标,键盘

支持USB鼠标,USB键盘

开发主机:

Fedora10(内核版本为Linux2.6.27)

新特性:

Plymouth:

带来无闪烁和极富视觉效果的启动过程,从开始启动Fedora到桌面将非常平滑。

更好的摄像头支持:

在Fedora9的基础上改善而来,对摄像头的支持更好了。

四个可供选择的桌面环境:

分别是GNOME2.24、KDE4.1.2和新兴的轻量级桌面环境LXDE,还有一个面向OLPC的Sugar。

新的输入法ibus:

Fedora10包含了这个全新的输入法框架,目前为止已经相当适用了,并且可能在Fedora11中成为默认输入法。

Ext4的完全支持:

Fedora10已经完全向Ext4准备好了,而不像Fedora9一样只是技术预览。

所以打算使用Ext4的朋友可以开始尝试了。

2、实验部分

实验一、熟悉嵌入式系统开发平台

一、实验目的

1.了解虚拟机与Linux操作系统的基础知识

2.熟悉虚拟机的安装与设置

3.掌握在Vmware上安装RedHatLinux9.0

4.掌握在Linux环境下gcc编译工具的基本使用。

二、主要实验器材

1.软件:

虚拟机软件vmware-workstation5.5.3、RedHatLinux9.0

(shrike-i386-disc1.iso、shrike-i386-disc2.iso、shrike-i386-disc3.iso镜像文件)

2.系统:

CPU主频1GHz;最小512MB;硬盘最小空闲空间10GB;WindowsXP操作系统

三、实验步骤

1、虚拟机的安装与设置

1)首先,要安装VMware软件必须要有相应的安装程序,用户可从相关网站下载安装程序vmware-workstation-5.5.5.exe。

VMware的安装很简单,先安装并启动VMware后,出现如下图所示主界面,在其主界面“主页”标签页中点击“新建虚拟机”按钮打开新建向导。

3)单击“下一步”按钮进入虚拟机配置界面,选择“典型”方式。

4)单击“下一步”按钮进入虚拟机操作系统选择界面,可以看到Windows、Linux、Novell

等多种不同的系统,这里我们点选“Linux”,版本是RedHatLinux。

5)单击“下一步”进入安装目录选择界面。

该界面上面的文本框是虚拟机名称,保持

默认值(RedHatLinux)即可,下面的文本框需要选择虚拟机操作系统的安装位置。

按“浏

览”选择虚拟机的所在目录。

注意:

虚拟机目录所在的硬盘要有足够的空间,因为安装好的

REDHAT9.0本身就有近1.8G。

6)单击“下一步”进入网络连接方式选择界面,此界面中共有四种网络设置方式选项,

选择“使用桥接网络”方式。

7)单击“下一步”,这里是设置磁盘的大小,软件默认大小为8GB,一般应该情况下

够用,如果你的硬盘空间足够大,也可以将磁盘空间设置在8GB以上。

该界面上还有两个选项,分别是“立即分配所有磁盘空间”和“分割磁盘为2GB的文件”,

我们可以在前一项上打钩,第二项不打钩。

最后单击“完成”按钮返回

VMware主界面。

将看到主界面上多了一个“RedHatLinux”标签页,其中显示了这台

新建虚拟机的各种配置。

点击“虚拟机”菜单中的“设置”命令,打开虚拟机设置对话框,

内存大小可根据机器的实际情况设置,内存设置得大一点,可以加快Linux运行的速度。

其余项暂不用修改。

点击界面上的“添加”按钮,再点击“下一步”,然后选择所要添加的部件,通常要添

加一个串行口。

2、Linux操作系统的安装

1)安装前需做好准备工作,下载RedHatLinux9.0安装所需要的三个ISO镜像文件。

其文件名分别为shrike-i386-disc1.iso、shrike-i386-disc2.iso、shrike-i386-disc3.iso。

2)在“虚拟机设置”对话框中,选择“CD-ROM”,在CD-ROM的连接选项中选择“使用ISO镜像”,点击“浏览”按钮,选择下载好的3个ISO镜像文件中的第一个(注意:

在后面安装过程中要分别选择这3个文件中的第二个和第三个时,只需要重复以上步骤即可),

找到第一个文件,点击“打开”,再点击“确定”按钮。

(若是采用光盘安装就直接将光盘

插入物理光驱即可,不要选择镜像文件)。

3)启动虚拟机(即点击VMware界面左部“启动该虚拟机”命令或工具栏上的绿色启

动按钮),VMware的窗口就出现了虚拟机启动的界面。

4)REDHAT会自动进入安装程序的界面。

首先询问是以图形界面还是以文本界面安

装,依据提示按回车选择图形界面安装,接下来询问是否要测试光驱,这里选择不要即可。

方法是:

在VMware窗口上单击鼠标,使光标从Windows切换到VMware,再按键盘上

的TAB键,然后回车。

5)依提示选择安装语言(选择简体中文)、鼠标、键盘(使用默认值),安装类型(选

择服务器)等之后进入磁盘分区界面,安装程序问是否要自动分区,直接点的“下一步”,

这时出现“警告”,点击“是”(这是虚拟磁盘,不会破坏你硬盘上原来的数据)。

下一个

界面中有关于自动分区的3种选择,用户可根据自己的需要进行选择,选择此项以后在接下来的窗口中可以一路默认,连续点“Next”进入引导程序装载界面。

6)在引导程序装载界面连按“Next”。

设置完系统语言和时区后进入根密码的设置界

面,安装程序要求设置root密码。

设置好口令后连按“Next”,出现“选择软件包组”的对话框,也就是按装选项,如下图:

根据自己的实际情况,选择必要的软件包,设置好后,点击“下一步”。

7)等待一段时间直到出现更换光盘的提示,这样第一个ISO镜像文件就安装完成。

装程序提示换第二张光盘,方法如2),按“浏览”,选择你下载好的3个ISO镜像文件中

的第二个,按OK,就完成了换第二个文件的工作。

再用同样方法安装下载好的第三个ISO镜

像文件。

8)第三个文件装完后,系统问是否做启动盘,这个根据自己需要选择,然后就是显卡等

的设置,一路默认。

最后选一个“Next”,VMware内系统重启。

9)重启后,系统提示你创建一个个人用户名(personalaccount)和密码,这里自己创建

一下。

然后是选择日期和试听声卡,然后问你是否注册,接着又问有无附加安装(这里建议

先还是都不要了吧),最后VMWARE内系统再次重启。

10)启动后输入用户名和密码,就进入RedHat9.0界面。

至此,RedHatLinux9.0就安

装成功

3、gcc工具的基本使用

(1)用Vi/Vim编辑器编写如下代码,取名为gcc_t.c

#include

intmain()

{

printf("HelloWorld!

\n");

return0;

}

(2)默认编译gcc_t.c文件

#gccgcc_t.c

#ls

a.outgcc_t.c

(3)执行a.out可执行文件

#./a.out

HelloWorld!

(4)使用-o选项:

指定编译后的二进制文件名

#gcc-otestgcc_t.c

#ls

gcc_t.ctest

(5)-x选项:

忽略源文件名后缀类型

#gcc-ogcc_t.x-xcgcc_t.xyz

(6)-E选项:

只进行预处理

#gcc-Egcc_t.c-ogcc_t.i

(7)-S选项:

只进行到编译阶段

#gcc-Sgcc_t.c

#ls

gcc_t.cgcc_t.s

(8)-c选项:

编译、汇编到目标代码,不进行链接

#gcc-cgcc_t.c

#ls

gcc_t.cgcc_t.o

(9)-M选项:

生成当前编译程序文件关联的详细信息,包含目标文件所依赖的所有源代码文件,包括头文件。

#gcc-Mgcc_t.c

四、实验要求

1、掌握linux虚拟机的安装方法。

2、掌握GCC编译程序的步骤和方法。

3、记录下实验运行的结果。

4、认真书写实验报告,对实验过程中出现的问题和原因及时记录。

 

实验二、Linux常用命令实验

一、实验目的

掌握linux系统中常用命令的使用方法。

二、实验环境

硬件:

PC机Pentium500以上,硬盘10G以上

软件:

PC机操作系统Linux虚拟机开发环境。

三、实验步骤

在linux虚拟机中掌握以下常用命令的使用方法

1.cat查看文件内容,从键盘读取数据,合并文件等

格式:

cat[-b][-A][-E][-T][-n][-s][-v]文件名

选项说明:

-b不显示文件中的空行。

-A相当于-v-E-T(-vET)。

-E在文件的每一行行尾加上“$”字符。

-T将文件中的Tab键用字符“^I”来显示。

-n在文件的每行前面显示行号。

-s将连续的多个空行用一个空行来显示。

-v显示除Tab和Enter之外的所有字符。

下面的命令演示了如何显示file文件中的行号

$cat-nfile

2.chmod修改文件权限

格式:

chmod选项文件或目录名

选项说明:

u文件所有者

g文件所属组

o其它用户

+增加权限

-取消权限

=赋给权限

a所有用户

r读权限

w写权限

x执行权限

下面的命令演示了如何使所有用户都可以读写file文件

$chmoda+rwfile

3.chown改变文件所有者

格式:

chown[-R][-c][用户名][组名]文件或目录名

选项说明:

-c文件属主改变时显示说明。

-R/r改变目录下的文件及其子目录下所有文件的属主。

下面的命令演示了如何改变dir目录下的文件及其子目录下的文件的属主为

bugboy

$chown-Rbugboydir

4.cp复制文件

格式:

cp选项源文件名目标文件名

选项说明:

-R复制整个目录。

-f删除己存在的目标文件。

-i使用-f遇到删除文件时给出提示。

下面的命令演示了如何把file文件复制到当前用户的根目录下

$cpfile~/

5.df查看磁盘剩余空间

格式:

df[-t][-x][-k][-p][-a][-m][filename]

选项说明:

-t只输出类型列在fstype中的文件系统。

-x只输出类型没有列在fstype中的文件系统。

-k显示空间以K为单位。

-m显示空间以M为单位。

-a将空间为0的文件系统也输出。

filename指定要查看的文件的大小。

6.fdisk/sfdisk查看硬盘分区信息

格式:

fdisk-l[-u][device...]

fdisk-spartition

选项说明:

-u列出分区表的时候以扇区的大小代替柱面大小。

-l列出给定设备的分区表,如果没有给定设备,则列出/proc/partions中设

备的分区表。

-spartition给出partition分区的大小(以块为单位)。

7.find查找文件

格式:

find[路径][匹配表达示]

其中匹配表达示有几种类型:

-namefilename查找指定名称的文件。

-userusername查找指定用户名的文件。

-groupgrpname查找指定级名的文件。

-print显示查找的结果。

-sizen查找大小为n块的文件,一块等于512字节。

符号“+n”表示查找大

小大于n块的文件;符号“nc”表示查找大小为n个字符的文件,同样的也有符号

“+nc”。

-inumn查找索引结点号(i-node)为n的文件。

-atimen查找n天前被访问的文件。

“+n”表示超过n天前被访问的文件;“-n”

表示不超过n天前被访问的文件。

-mtimen类似于atime,但是检查的是文件内容被修改的时间。

-ctimen类似于atime,但检查的是文件索引结点被改变的时间。

-permmode查找与给定权限匹配的文件,必须以八进制的形式给出访问权

限。

-newerfile查找比指定文件新的文件,即最后修改时间离现在较近。

-execcommand对匹配文件执行command命令,command后用了个大括号包括

文件名。

command必须以反斜杠和一个分号结尾。

-okcommand执行command的时候请求用户确认。

其它与-exec相同。

例:

查找当前目录下所有以.bak结尾的文件,并删除它们

$find.-name"*.bak"-execrm{}\;

注:

这里*.bak必须要用单引号或者双引号引起来,或者可以写成\*.bak。

8.kill终止进程

格式:

kill[-s|p][-a]PID

选项说明:

-s指明发送给进程的信号。

例如-9(强行终止),默认发送TERM信号。

-p显示进程的ID,不发送信号。

-a终止所有进程。

0给所有在当前进程组中的进程发送信号。

-1给所有进程号大于1的进程发送信号。

9.ln在文件之间建立链接

格式:

ln[-b][-d][-F][-f][-i][-n][-s][-v]源文件目录文件或目录

选项说明:

-b为删除的文件建立备份。

-d允许root用户建立硬链接。

-F与b相同。

-f强行删除目标文件。

-i在删除文件时给出提示。

-n当目标文件是目录的符号链接时,替代该符号链接。

-s用符号链接代替硬链接(建立符号链接)。

-v输出被链接文件的文件名。

10.ls用于浏览目录,查看当前目录下的文件和文件名

格式:

ls[选项]

选项说明:

-a显示所有文件(包括隐藏文件)。

-l显示文件的详细信息。

-k显示文件大小,以K为单位。

-color显示文件时用不同颜色加以区别文件类型。

-d将根目录作为文件显示。

11.mount加载文件系统

格式:

mount磁盘或分区的设备文件载入点选项

选项说明:

-t文件系统类型(fat32为vfat)

-o选项常用的选项有codepage,iocharset(对于中文codepage=936,iocharset=gb2312)

-loop挂载ISO文件时用。

举个例子,挂载/dev/hda5到/mnt/wind目录下并且目录支持中文,命令如下:

#mount-tvfat/dev/hda5/mnt/wind-ocodepage=936,iocharset=gb2312

12.mv重命名文件或移动文件

格式:

mv[-b][-f][-i][-u][-v]源文件目标文件或文件夹

选项说明:

-b为源文件作备份

-f文件重命名时强制覆盖己有文件。

-i覆盖文件时给出提示。

-u目标文件比源文件新时不覆盖。

-v移动文件时给出

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1