嵌入式Linux软件开发环境搭建.docx

上传人:b****5 文档编号:3576548 上传时间:2022-11-24 格式:DOCX 页数:24 大小:965.72KB
下载 相关 举报
嵌入式Linux软件开发环境搭建.docx_第1页
第1页 / 共24页
嵌入式Linux软件开发环境搭建.docx_第2页
第2页 / 共24页
嵌入式Linux软件开发环境搭建.docx_第3页
第3页 / 共24页
嵌入式Linux软件开发环境搭建.docx_第4页
第4页 / 共24页
嵌入式Linux软件开发环境搭建.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

嵌入式Linux软件开发环境搭建.docx

《嵌入式Linux软件开发环境搭建.docx》由会员分享,可在线阅读,更多相关《嵌入式Linux软件开发环境搭建.docx(24页珍藏版)》请在冰豆网上搜索。

嵌入式Linux软件开发环境搭建.docx

嵌入式Linux软件开发环境搭建

第4章嵌入式Linux软件开发环境搭建

1.1体验嵌入式linux系统

1.获得光盘image目录提供的映像文件

2.使用h-jtag将u-boot.bin烧写进norflash中

3.启动超级终端,设置bautrate为115200,8IN1。

重启开发板,将会进入u-boot的命令界面。

表明bootloader已正常运行

DennisYang>

4.在PC机上安装usb驱动(安装文件位于光盘software\USBDownloadDriver.exe)

5.用usb线将PC机与开发板连接起来

6.在PC机上启动USB传输软件dnw(位于光盘software\dnw.exe)

7.在开发板上输入usbslave命令,让开发板进入等待接收数据状态

DennisYang>usbslave10x32000000

USBhostisconnected.Waitingadownload

8.在dnw软件界面,单击“USBPort”-->“Transmit/Restore”,找到image目录中的kernel文件uImage(如果你使用的是天嵌tq2440,请选择uImage-embsky),进行传输。

这将导致uImage被传输到开发板内存的0x32000000处

DennisYang>usbslave10x32000000

USBhostisconnected.Waitingadownload.

Now,Downloading[ADDRESS:

32000000h,TOTAL:

1518826]

RECEIVEDFILESIZE:

1518826(741KB/S,2S)

9.在u-boot命令行输入命令,将nandflash的0x100000--0x400000区间擦除(格式化)

DennisYang>nanderase0x1000000x300000

NANDerase:

device0offset0x100000,size0x30000

Erasingat0x120000--133%complete.

OK

10.在u-boot命令行输入命令,将内存0x32000000处的kernel烧写到nandflash的0x100000--0x400000区间

DennisYang>nandwrite.jffs20x320000000x1000000x300000

NANDwrite:

device0offset0x100000,size0x300000

Writingdataat0x3ff800--100%complete.

3145728byteswritten:

OK

11.使用相同的方法将根文件系统(myfs-128M.jffs2,如果使用64M的nandflash,请选择myfs-64M.jffs2)烧写到nandflash的0x400000--0x3c00000区间

DennisYang>usbslave10x30000000

USBhostisconnected.Waitingadownload.

Now,Downloading[ADDRESS:

30000000h,TOTAL:

24594994]

RECEIVEDFILESIZE:

24594994(667KB/S,36S)

DennisYang>nanderase0x4000000x3c00000

NANDerase:

device0offset0x400000,size0x3c00000

Erasingat0x3fe0000--100%complete.

OK

DennisYang>nandwrite.jffs20x300000000x400000$(filesize)

NANDwrite:

device0offset0x400000,size0x1774a28

Writingdataat0x1b74800--100%complete.

24594984byteswritten:

OK

12.输入启动操作系统命令,将进入linux操作系统

DennisYang>boot

13.使用触笔进行屏幕校正后,将进入qtopia图形系统

如果由于屏幕校正不准确而不能正常使用触摸屏的话,请删除/etc/pointercal文件后,重启开发板,重新进行校正

14.在linux命令提示符下,播放歌曲

#madplay/music/pianpianxihuanni.mp3

MPEGAudioDecoder0.15.2(beta)-Copyright(C)2000-2004RobertLeslieetal.

Title:

Track1

Artist:

陳百強

Orchestra:

陳百強

Album:

BestMemory

Track:

15

Genre:

Other

1.2Linux操作系统安装

1.2.1在Window上安装虚拟机

本书基于ubuntu9.10进行开发,它是一个容易安装和使用的Linux发行版,光盘映像文件可以自由从互联网上获得,在配套光盘中提供了该文件(software/ubuntu-9.10-desktop-i386.iso)。

下面介绍在Window中通过vmware来安装ubuntu的方法。

特别说明:

本书在虚拟机中使用2个硬盘,40G的硬盘用于挂载root分区(/)并制作snapshot,这样可以在系统损坏时,快速的一键恢复;80G硬盘用于挂载work分区(/work),并设置为不受snapshot影响的独立硬盘,以后将在这个分区上编辑、编译软件,这样可以避免当系统出错后使用snapshot恢复时,不破坏学习成果。

请按照如下的一系列操作建立虚拟机。

1.在window上安装vmwareworkstation7.0软件

该软件可以从wmware的官方网站下载

2.启动vmware,新建客户虚拟机。

选择File->New->VirtualMachine

(1)在主机能联通互联网的情况下,图4-9选择虚拟机与主机的互联方式为NAT,使得虚拟机可以通过主机联通互联网

(2)图4-13中选择“Splitdiskinto2GBfiles”,表示使用多个小于2GB的文件来表示一个很大的硬盘。

如果windows的硬盘格式为FAT32,请务必选择此选项,因为FAT32支持的最大文件大小为4GB,否则虚拟机将无法启动;如果是NTFS格式,就无需选择这个选项。

(3)图4-16中选择“Editvirtualmachinesettings”,可以增减、修改虚拟机的设备

(4)图4-18用于新增第2个硬盘,大小80G,用于将来挂载work分区

(5)图4-19设置新增的硬盘不受snapshot影响,即该硬盘上修改的内容不会被一键恢复

(6)图4-20设置虚拟机使用光盘映像文件,这相当于将ubuntu的安装光盘插入了虚拟机的光驱。

请务必确保“connectatpoweron”选项被选中,这样当虚拟机启动时就能够从光盘启动,以便可以安装linux操作系统

图4-1选择新建虚拟机

图4-2选择定制虚拟机

图4-3选择虚拟机版本

图4-4选择虚拟机安装操作系统方式

图4-5选择虚拟机操作系统

图4-6设置虚拟机名字及存储位置

图4-7设置虚拟机CPU数目

图4-8设置虚拟机内存数量

图4-9指定虚拟机同主机互联的方式

图4-10指定虚拟机硬盘控制器类型

图4-11选择创建新的虚拟硬盘

图4-12选择硬盘类型

图4-13指定虚拟硬盘容量

图4-14设置虚拟硬盘文件的名字(在windows下将新建一个文件来表示这个虚拟硬盘)

图4-15虚拟机设置总结

图4-16修改虚拟机属性

图4-17增加新硬件

图4-18选择增加新硬盘

图4-19设置硬盘不受snapshot影响

图4-20在虚拟机光驱上使用光盘映像文件

1.2.2在虚拟机上安装Linux操作系统ubuntu9.10

本书使用ubuntu9.10的光盘映像文件ubuntu9.10-desktop-i386.iso进行安装。

下面介绍关键步骤,其它步骤可以参见安装时出现的说明。

1.单击vmware7.0的主菜单:

VM->power->poweron,启动虚拟机。

此时虚拟机会从ubuntu9.10的安装光盘启动,进入安装ubuntu的界面

图4-21选择安装ubuntu

2.在图4-21中使用键盘选择“InstallUbuntu”,会进入ubuntu安装的图形界面,以后各个步骤中,大多数情况下只需选择“下一步”即可。

特别说明:

此时鼠标和键盘被虚拟机接管,你将无法操作window主机。

如想从虚拟机退出到windows主机,按“ctrl+alt”即可;之后如想重新操控虚拟机,请用鼠标单击虚拟机的安装界面

3.安装过程中,当出现图4-22时,需要选择“specifypartitionsmanually(advanced)”选项,以便手动对2个硬盘进行分区

图4-22指定手动对硬盘进行分区

4.在分区界面中,将第1个硬盘(/dev/sda)分为2个区:

/dev/sda1分区大小39G,挂载root目录(/),文件系统为ext3;/dev/sda2分区大小1G,挂载交换分区(swap)。

将第2个硬盘(/dev/sdb)划分为1个分区(/dev/sdb1),大小80G,挂载/work目录,文件系统为ext3。

如图4-23所示。

特别说明:

●在linux操作系统中,对于SCSI磁盘,用sdx来表示,第1个磁盘x为a,第2个磁盘x为b,依次类推

●磁盘上的第1个分区编号为1,第2个分区编号为2,依次类推

●ext3文件系统是linux在PC机上最常用的硬盘文件系统。

在嵌入式设备上则常用jffs2文件系统和yaffs2文件系统

●swap分区,用于linux在运行期间的虚拟内存使用,其作用类似windows中的交换文件pagefile.sys

图4-23对虚拟机硬盘进行分区

5.当出现图4-24时,设置ubuntu的第1个普通用户登录名为dennis,密码为1234。

用户dennis将成为使用ubuntu操作系统的主要用户

图4-24设置ubuntu中第1个普通用户的登录名和密码

6.安装完成后,请务必在图4-20中去掉“Connectatpoweron”选项,以便使得虚拟机重启后从硬盘启动,而不是从光盘启动。

1.3在ubuntu9.10中安装基本的开发环境

使用光盘安装的ubuntu9.10是一个比较精简的linux发行版,大部分软件和工具都没有安装,这些工具和软件都需要从互联网上获得和安装,这正是ubuntu的一大优点之一,因为只要能联通互联网就能安装数量不断增加、版本不断更新的优质软件,而不必考虑从哪里去获得它们。

但对习惯了windowssetup.exe的初学者而言,则是一大缺点,因为在使用ubuntu的过程中总是完成不了想完成的工作,原因是该工具软件没有安装,而初学者总是无所适从,因为不知道应该如何安装该工具软件。

为了避免你在学习本书的过程中,遇到这样恼人的尴尬,请按如下步骤在ubuntu中安装学习本书的过程中要用到的所有软件。

当然你要是想快速学习本书,不想浪费时间安装这些工具软件的话,可以直接使用配套光盘中已经制作好的虚拟机(位于光盘的ubuntu910目录中),它已经安装了学习本书所需的所有软件。

使用已制作好的虚拟机的方法是:

将配套光盘的整个ubuntu910目录全拷贝到windows主机的C盘根目录;去掉该目录中所有文件的只读属性;在vmware7.0主菜单中选择File-->Open,找到C:

\ubuntu910目录下的Ubuntu910.vmx文件,单击打开即可。

登录ubuntu的用户名为dennis,密码为1234。

特别提醒:

在安装软件前,务必确保window主机能够联通互联网,虚拟机与window主机的联接方式为NAT。

1.安装编辑器vim

~$sudoapt-getupdate

~$sudoapt-getinstallvim

特别说明:

●出于操作安全考虑,默认情况下ubuntu不允许root用户登录,所以一般情况下都使用普通用户dennis登录系统进行操作,而安装软件的操作需要root权限,所以需要在执行apt-get前加上sudo命令,表示以管理员的身份执行apt-get命令。

此后系统会要求你输入密码,你只需要输入dennis的密码1234即可。

●apt-get是ubuntu系统提供的从互联网上安装软件的命令行工具,install是apt-get的参数,表示安装。

常用的参数还有uninstall表示卸载软件,update表示更新软件数据库,以获得最新可安装软件的列表。

●vim是要安装的软件的名字

2.安装基本的开发环境

~$sudoapt-getinstallbuild-essential

3.安装语法、词法分析器

~$sudoapt-getinstallbisonflex

4.安装C以及C++函数库man手册

~$sudoapt-getinstallmanpages-devmanpages-posix-devglibc-doc

5.安装串口工具minicom和ckermit

~$sudoapt-getinstallminicomckermit

6.安装已经制作好的arm平台的交叉编译工具链

交叉编译工具链是进行嵌入式开发必须具备的基础工具。

它的获得,最原始的方法是下载编译器gcc、C库glibc、二进制工具binutil的源代码,然后进行复杂的编译过程得到。

该方法需要制作者具备很强的关于编译器和C库的知识和经验,而且制作过程极其不易成功。

因此本书光盘中提供了制作好的交叉编译工具链(wok/sysbuild/arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2),只需要解压即可。

该文件如何从window主机上传到linux虚拟机,请参见“ubuntu9.10上网络服务的安装与配置”的ftp服务器部分。

(1)将交叉编译工具链解压到/usr/local/arm

$sudotarxjvfarm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2-C/usr/local/arm

说明:

●tar是linux下的打包、解包命令,命令中的选项x表示解包,对应的打包的选项是c

●选项j表示在解包(打包)过程中调用bzip2进行解压缩(压缩),对应的z选项表示调用gzip。

后缀名为bz2的文件通常是由bzip2进行压缩的,而后缀名为gz的文件通常是由gzip压缩的。

●选项f表示后面跟的参数是要打包或解包的文件的名称

●-C后跟的参数表示要解包到的目标位置

(2)修改交叉编译工具链目录权限

~$sudochowndennis:

dennis/usr/local/arm/gcc-3.4.5-glibc-2.3.6–R

执行这个操作的原因是:

本书学习过程中要编译一些新的C库文件并将其拷贝到交叉编译工具链的相关目录中。

(3)修改PATH环境变量,使其包含交叉编译器的路径

使用vim,将/etc/environment文件中的内容由

PATH="/usr/local/sbin:

/usr/local/bin:

/usr/sbin:

/usr/bin:

/sbin:

/bin:

/usr/games"

改为

PATH="/usr/local/sbin:

/usr/local/bin:

/usr/sbin:

/usr/bin:

/sbin:

/bin:

/usr/games:

/usr/local/arm/gcc-3.4.5-glibc-2.3.6/bin"

退出系统重新登录后,输入arm-linux-gcc–v,如出现

图4-25验证交叉编译工具链安装成功

则表示交叉编译工具链安装成功。

7.安装移植qtopia的时候所需的工具

$sudoapt-getinstallx-devlibx11-devx11proto-xext-devlibxext-devlibqt3-mt-devuuiduuid-dev

8.安装配置内核(makemenuconfig)时需要的ncurse库

$sudoapt-getinstalllibncurses5libncursesw5libncurses5-devncurses-basencurses-bin

9.安装制作根文件系统的jffs2映像时需要的工具软件

$sudoapt-getinstallmtd-utils

10.安装编译tslib时需要的工具软件

$sudoapt-getinstallm4autoconfautomakelibtool

1.4ubuntu9.10上网络服务的安装与配置

我们将在ubuntu上配置2个网络服务:

ftp服务和nfs服务。

前者用于在window主机与linux虚拟机之间交换数据,后者用于在开发板和linux虚拟机之间交换数据。

1.4.1设置vmware网络

目前虚拟机只有1张网卡,其被设置为NAT的连接方式,我们可以通过它实现windows主机与linux虚拟机的通信;此外,还需要为虚拟机增加1张网卡,并将其桥接到windows主机的物理网卡上,通过它可实现linux虚拟机与开发板的通信。

1.linux虚拟机未添加第2张网卡前

图4-26添加第2张网卡前

2.为虚拟机添加第2张网卡,并设置为桥接

图4-27虚拟机设备页

图4-28添加网卡

图4-29指定新网卡桥接到主机物理网卡

图4-30完成第2张网卡添加后

3.在linux虚拟机中为第2张网卡设置IP地址

本书假设:

windows主机的IP为192.168.1.12,linux虚拟机第2张网卡的IP地址为192.168.1.11,开发板的IP地址为192.168.1.17。

按照图4-31----图4-33所示,设置第2张网卡的IP为192.168.1.11,第1张网卡的IP保持自动获得不变。

图4-31网络配置工具

图4-32网卡基本情况列表

图4-33设置eth1的IP地址

1.4.2安装、配置和使用ftp服务

执行下面操作之前,再次使windows主机能联通互联网。

1.安装ftp服务器vsftpd

~$sudoapt-getinstallvsftpd

2.配置ftp服务器

修改配置文件/etc/vsftpd.conf,将下面2行前的注释符号“#”去掉

#local_enable=YES

#write_enable=YES

上面第一行表示是否允许本地用户(dennis就是本地用户之一)登录,第二行表示是否允许上传文件。

3.重启ftp服务

~$sudo/etc/init.d/vsftpdrestart

4.使用ftp服务器

从ftp服务器下载和上传数据,需要在windows主机上安装ftp客户端。

你可以使用任何你熟悉的ftp客户端,配套光盘中提供了1个ftp客户端软件(software\uestudio.rar)。

1.4.3安装、配置nfs服务

1.安装nfs服务器

~$sudoapt-getinstallnfs-kernel-serverportmap

2.配置nfs服务器

修改配置文件/etc/exports,添加如下内容,以后就可以通过nfs文件系统访问/work目录了

/work*(rw,sync,no_root_squash)

3.重启nfs服务器

~$sudo/etc/init.d/nfs-kernel-serverrestart

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

当前位置:首页 > 初中教育 > 数学

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

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