嵌入式实验指导书解析.docx

上传人:b****4 文档编号:11950300 上传时间:2023-04-16 格式:DOCX 页数:31 大小:2.16MB
下载 相关 举报
嵌入式实验指导书解析.docx_第1页
第1页 / 共31页
嵌入式实验指导书解析.docx_第2页
第2页 / 共31页
嵌入式实验指导书解析.docx_第3页
第3页 / 共31页
嵌入式实验指导书解析.docx_第4页
第4页 / 共31页
嵌入式实验指导书解析.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

嵌入式实验指导书解析.docx

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

嵌入式实验指导书解析.docx

嵌入式实验指导书解析

嵌入式实验

指导书

 

2016.5

嵌入式实验是学习嵌入式系统原理及应用课程的一个重要环节。

通过实验加深嵌入式系统原理的认识,训练学生嵌入式系统应用及开发的基本技能,培养学生合理选择嵌入式处理器和接口芯片、正确设计嵌入式系统的接口电路、学会程序调试的基本方法以及解决实验中所遇到问题的能力,同时,培养学生理论联系实际、严谨认真的科学态度和良好的工作作风。

实验一搭建嵌入式开发环境实验4

实验二编译下载ubootkernelyaffs218

实验三GPIO模块驱动程序及测试23

实验四编写串口通信程序27

实验一搭建嵌入式开发环境实验

一、实验目的

1、掌握嵌入式开发环境的搭建

2、掌握嵌入式开发常用工具的使用

3、掌握嵌入式交叉编译环境的搭建

二、实验内容及原理

1.vmware虚拟机的安装及配置

2.ubuntu操作系统的安装及配置

3.windows环境中常用工具的安装及使用

三、实验步骤

(一)、vmware虚拟机的安装及配置

1)打开VMware-8.0.2-591240.exe安装程序。

2)之后操作按图进行。

3)安装完成后打开刚安装的VMware程序。

4)虚拟机使用固定IP地址的网络方式

默认情况下,虚拟机安装完成后与宿主机共享一个IP地址,没有属于自己的IP,这里首先需要设置虚拟机的网络联系方式为桥接方式。

单击VM菜单下面的Settings项,弹出虚拟机设置对话框,如下图:

选择Bridged连接,确定即可。

(二)、ubuntu的安装及配置

 

1)安装Ubuntu

首先准备一张Ubuntu12.04的安装光盘。

将光盘插入光驱,在PC的bios中把PC启动方式设置为光驱启动,启动PC。

启动PC后,安装盘会提示选择安装语言种类。

使用PC键盘的方向键选择在安装过程中显示的语言,在这里我们选择English>>点击“InstallUbuntu”按钮。

选择“ErasediskandinstallUbuntu”>>点击“Continue”按钮

硬盘空间以及挂载点的分配。

这里选择默认。

也可根据个人需要来进行设置.单击“InstallNow”

选择键盘布局,默认即可,单击“Continue”

选择所在地,上海,Continue

输入系统用户名和密码,这里输入的用户名:

forlinx,密码:

123456仅作为事例.点击“Continue”按钮,系统会完成安装。

2)Ubuntu12.04root用户登录设置

ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。

以普通身份登陆Ubuntu后我们需要做一些修改。

普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入命令后回车:

#sudo-s

然后输入安装Ubuntu12.04时设置的系统密码,即可进入root用户权限模式。

在终端窗口中执行

#gedit/etc/lightdm/lightdm.conf

步骤4:

在文本全部内容删除并粘贴以下七行内容:

[SeatDefaults]

allow-guest=false

autologin-user=root

autologin-user-timeout=0

autologin-session=lightdm-autologin

user-session=ubuntu

greeter-session=unity-greeter

然后我们启动root帐号:

#sudopasswdroot

根据提示输入root帐号密码。

(注意:

Linux中输入密码无符号显示)

重启ubuntu,不需要手动输入root用户名密码,系统会自动进入root用户。

3)设置Ubuntu网络参数

因为每个PC的网络环境不一定一样,所以需要您根据自己的实际情况来设置Ubuntu的网络,如果设置不成功,可以去Ubuntu的官方论坛上咨询。

本手册PCLinux网络的设置方法,仅供参考。

启动Ubuntu,root用户登陆系统,单击桌面最右上端的按钮,弹出如下选项:

选择SystemSettings,双击Network进入网络设置项:

单击Options按钮

选择IPV4设置,输入您的IP地址、子网掩码、网关、DNS,点击Save...,网络设置成功。

测试一下,笔者的宿主机IP为192.168.0.30,用虚拟机来ping宿主机:

4)安装tftp服务器

检查Linux服务器是否已经安装TFTP服务器,在控制台执行以下命令检查:

Host#whichtftp↙

如果没有安装tftpserver用户使用如下命令安装:

Host#apt-getinstalltftpd-hpatftp-hpaxinetd↙

配置tftpserver:

Host#gedit/etc/default/tftpd-hpa↙

对其内容修改如下:

TFTP_DIRECTORY="/opt/DVRRDK_02.00.00.23/tftphome"

TFTP_OPTIONS="-l-c-s"

重启tftpserver:

Host#servicetftpd-hparestart↙

测试tftpserver是否配置成功:

Host#echo'hellotftpservice!

'>/opt/DVRRDK_02.00.00.23/tftphome/tftp↙

Host#tftp###.###.###.###↙

tftp>gettftp↙

tftp>quit↙

Host#cattftp↙

hellotftpservice!

其中“###.###.###.###”为本机IP。

至此,SEED-SDK开发工具安装,配置完毕。

5)安装samba服务器

apt-getremovesamba-common

apt-getremovesmbclient

apt-getremovesamba

apt-getinstallsamba

apt-getinstallsmbfs

cp/etc/samba/smb.conf/etc/samba/smb.conf_backup

gedit/etc/samba/smb.conf

用这几行取代:

security=share

[Share]

comment=SharedFolderwithusernameandpassword

path=/opt

public=yes

writable=yes

browseable=yes

/etc/init.d/smbdrestart

6)安装NFS服务器

配置NFS服务

在Ubuntu上新建一个终端,依次输入以下命令:

#sudoapt-getinstallportmap

#sudoapt-getinstallnfs-kernel-server

#sudogedit/etc/exports

在弹出的文本编辑器中编辑exports文件,在最后一行添加

/forlinx*(rw,sync,no_root_squash)

启动NFS服务

#sudo/etc/init.d/portmaprestart

#sudo/etc/init.d/nfs-kernel-serverrestart

检查服务是否已经运行

#serviceportmapstatus

#servicenfs-kernel-serverstatus

7)安装交叉编译器

将文件cross-4.2.2-eabi.tar.bz2拷贝到Ubuntu主目录下

用户光盘:

\实用工具\cross-4.2.2-eabi.tar.bz2

在Ubuntu中新建一个终端,输入下面的命令安装交叉编译器:

#cd/(进入主目录)

#mkdir/usr/local/arm(创建目录,若目录已存在会提示错误,跳过即可)

#tarjxvfcross-4.2.2-eabi.tar.bz2-C/usr/local/arm(编译器解压到/usr/local/arm)

查看arm-2009q3是否解压成功

#ls-l/usr/local/arm/

如可以看到4.2.2-eabi文件夹即解压成功

添加环境变量到Profile,执行命令打开编辑Profile

#gedit/etc/profile

最后一行添加以下内容

exportPATH=/usr/local/arm/4.2.2-eabi/bin:

$PATH

exportTOOLCHAIN=/usr/local/arm/4.2.2-eabi

exportTB_CC_PREFIX=arm-none-linux-gnueabi-

exportPKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi

在终端里面执行以下命令,验证交叉编译器安装是否成功

#arm-linux-gcc-v

下图为安装成功提示

回车,就可以使用该编译器来编译Uboot代码和内核代码了.

注意:

以上操作均是以root用户登录系统操作为例;所修改的文件仅对当前用户有效,如果通过终端切换用户,以上修改的文件对新用户无效。

(二)、windows常用工具安装

Sourceinsight安装

Ultraedit安装

Beyondcompare安装

四、实验结果及问题

1、如何更改vmware网络配置?

实验二编译下载ubootkernelyaffs2

一、实验目的

1、掌握ubootkernel的编译,文件系统的制作方法

2、掌握使用sd卡烧写ubootkernel文件系统镜像

二、实验内容及原理

1、编译uboot生成uboot镜像

2、编译kernel生成kernel镜像

3、制作文件系统镜像

4、制作SD启动卡

5、烧写镜像到目标板闪存

三、实验步骤

(一)、编译uboot

将uboot源码压缩包‘uboot_1.3.4.tar.gz’拷贝到Ubuntu的根目录下

用户光盘:

\linux\U-boot源码\uboot_1.3.4.tar.gz

解压缩uboot源码,命令如下。

#tarzxvfuboot_1.3.4.tar.gz

进入uboot1.3.4源码的目录,命令如下。

#cdcduboot_1.3.4

删除以前编译的文件,命令如下。

(!

以下两步命令任何情况都必须执行,尽管之前没有做过编译)

#makedistclean

配置config,命令如下。

#makeforlinx2416_config

编译uboot

#make

编译成功后,将在‘uboot_1.3.4’目录下产生名为‘u-boot-nand.bin’的二进制文件。

该文件改名为u-boot.bin即我们需要烧写到Nandflash的U-boot映像文件。

名为‘mmc.bin’的二进制文件。

该文件即我们做SD卡引导时所需文件。

如下图所示:

(二)、编译kernel

将压缩包‘linux3.1.8.tar.gz’拷贝到你的工作目录下,解压缩:

#tarzxvflinux3.1.8.tar.gz

路径:

2416用户光盘:

\Linux\内核源码\linux3.1.8.tar.gz

1)配置内核

首先需要复制FL2416_linux_config到.config以方便你配置你的内核,命令如下。

#makedistclean

#cpFL2416_linux_config.config

开始配置内核,命令如下。

#makemenuconfig

完成配置内核,选择exit保存退出:

2)编译内核

#make

编译结束后将在内核源码目录的arch/arm/boot中得到Linux内核映像文件:

zImage作为烧写文件。

(三)、制作文件系统镜像

将yaffs2制作工具‘mkyaffs2imag’拷贝到Ubuntu的根目录下

用户光盘:

\Linux\文件系统\mkyaffs2image

mkyaffs2image制作出的映像,适用于FL2416开发板

将文件系统源文件‘FL2416Yaffs2.tar.gz’拷贝到Ubuntu的根目录下用户光盘:

\Linux\文件系统源码\FL2416Yaffs2.tar.gz

解压文件系统源文件

#tarzxvfFL2416Yaffs2.tar.gz

开始制作yaffs2文件系统,制作命令:

#chmodu+xmkyaffs2image

#./mkyaffs2imageFL2416Yaffs2root.bin

最后生成root.bin是可以下载到开发板nandflash中的yaffs2文件系统映像。

(四)SD卡引导制作与烧写方法

把SD读卡器插在PC机的USB口中,等到PC机能够正常识别出SD卡;

格式化SD卡

通过SD_Writer.exe将mmc.bin烧写到SD卡中。

打开SD_Writer.exe。

用户光盘:

\实用工具\SD_Writer.exe

注意:

如果"Scan"没有正确设置SD卡所在盘符,就需要手动调整SDVolume,把盘符号调整为SD卡所在盘(如PC的USB口接了两个或者两个以上的U盘或者SD卡,就有可能扫描到错误的SD卡盘符)。

点击”Program”后,出现”It’sOK”表示操作成功;成功后如下图。

点击”确定”,然后点击”Quite”,退出SD_Writer.exe。

将root.bin,u-boot.bin,zImage文件拷贝到SD卡中;默认的zImage为LCD4.3吋对应zImage,由于SD一键烧写内核文件名固定为zImage,其他尺寸的LCD需将与LCD尺寸对应的映像改名,例如LCD尺寸为5.6吋,则需zImage56改名为zImage;

(五)烧写Linux到开发板的NandFlash中

将4.1.1制作好的SD卡插入开发板SD的插槽。

接好5V直流电源(请使用飞凌提供的电源)。

开发板电源连接如下图:

把核心板上(注意不是底板上)的拨码开关,设置为1(OFF)2(ON)3(OFF)4(OFF)进入SD卡启动,拨码开关位置如图:

使用串口连接控制板与电脑;

控制板上电;

继电器响两声后烧写完成。

串口打印信息如图:

关闭电源开关,开发板断电,将拨码开关设置为1(OFF)2(OFF)3(ON)4(ON)进入NandFlash启动。

重新开启电源,系统可以正常启动了。

四、实验结果及问题

1、内核各配置的意义?

2、uboot环境变量?

 

实验三GPIO模块驱动程序及测试

一、实验目的

1、掌握gpio驱动模块的编写方法

2、掌握Makefile的编写

3、掌握gpio驱动模块的编译加载方法

4、掌握使用gpio驱动的应用程序编写

二、实验内容及原理

1、编写gpio模块驱动程序

2、编写驱动模块的Makefile程序

3、编译驱动模块并动态加载模块

4、编写应用程序测试驱动模块

三、实验步骤

(一)编写gpio驱动程序

参考代码如下:

staticlongs3c2440_leds_ioctl(

structfile*file,

unsignedintcmd,

unsignedlongarg)

{

intgpioValue;

switch(cmd){

case0:

case1:

#if0//bob

if(arg>10){

return-EINVAL;

}

#endif

s3c2410_gpio_setpin(led_table[arg],cmd);

return0;

case5:

#if1//bob

if(cmd==5)

{

gpioValue=s3c2410_gpio_getpin(led_table[arg])?

1:

0;

//printk(KERN_ERR"giovalue:

%d\n",gpioValue);

returngpioValue;

}

#endif

default:

return-EINVAL;

}

}

 

(二)编写Makefile

参考代码

(三)编译驱动,生产*.ko文件

(四)加载驱动模块

insmod***.ko

lsmod

(五)编写app测试程序

参考代码

四、结论及问题

1、如何点亮板子的led灯

实验四编写串口通信程序

一、实验目的

1、掌握串口通信程序的编写方法

2、掌握蓝牙工作原理

二、实验内容及原理

1、编写串口通信程序

2、测试理解蓝牙通信原理

三、实验与步骤

1、编写蓝牙测试程序

参考代码

2、测试

使用485连接开发板与蓝牙模块,使用配置程序配置蓝牙模块,成功后使用手机扫描蓝牙设备。

五、实验结果及问题

实现蓝牙数据接收?

 

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

当前位置:首页 > PPT模板 > 其它模板

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

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