ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:965.72KB ,
资源ID:3576548      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3576548.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式Linux软件开发环境搭建.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、嵌入式Linux软件开发环境搭建第4章 嵌入式Linux软件开发环境搭建1.1 体验嵌入式linux系统1. 获得光盘image目录提供的映像文件2. 使用h-jtag将u-boot.bin烧写进nor flash中3. 启动超级终端,设置bautrate为115200,8IN1。重启开发板,将会进入u-boot的命令界面。表明bootloader已正常运行Dennis Yang 4. 在PC机上安装usb驱动(安装文件位于光盘softwareUSB Download Driver.exe)5. 用usb线将PC机与开发板连接起来6. 在PC机上启动USB传输软件dnw(位于光盘softwar

2、ednw.exe)7. 在开发板上输入usbslave命令,让开发板进入等待接收数据状态Dennis Yang usbslave 1 0x32000000USB host is connected. Waiting a download8. 在dnw软件界面,单击“USB Port”-“Transmit/Restore”,找到image目录中的kernel文件uImage(如果你使用的是天嵌tq2440,请选择uImage-embsky),进行传输。这将导致uImage被传输到开发板内存的0x32000000处Dennis Yang usbslave 1 0x32000000USB host

3、is connected. Waiting a download.Now, Downloading ADDRESS:32000000h,TOTAL:1518826RECEIVED FILE SIZE: 1518826 (741KB/S, 2S)9. 在u-boot命令行输入命令,将nand flash的0x100000 - 0x400000区间擦除(格式化)Dennis Yang nand erase 0x100000 0x300000NAND erase: device 0 offset 0x100000, size 0x30000Erasing at 0x120000 - 133% com

4、plete.OK10. 在u-boot命令行输入命令,将内存0x32000000处的kernel烧写到nand flash的0x100000- 0x400000区间Dennis Yang nand write.jffs2 0x32000000 0x100000 0x300000NAND write: device 0 offset 0x100000, size 0x300000Writing data at 0x3ff800 - 100% complete. 3145728 bytes written: OK11. 使用相同的方法将根文件系统(myfs-128M.jffs2,如果使用64M的n

5、and flash,请选择myfs-64M.jffs2)烧写到nand flash的0x400000 - 0x3c00000区间Dennis Yang usbslave 1 0x30000000USB host is connected. Waiting a download.Now, Downloading ADDRESS:30000000h,TOTAL:24594994RECEIVED FILE SIZE:24594994 (667KB/S, 36S)Dennis Yang nand erase 0x400000 0x3c00000NAND erase: device 0 offset 0

6、x400000, size 0x3c00000Erasing at 0x3fe0000 - 100% complete.OKDennis Yang nand write.jffs2 0x30000000 0x400000 $(filesize)NAND write: device 0 offset 0x400000, size 0x1774a28Writing data at 0x1b74800 - 100% complete. 24594984 bytes written: OK12. 输入启动操作系统命令,将进入linux操作系统Dennis Yang boot13. 使用触笔进行屏幕校正

7、后,将进入qtopia图形系统如果由于屏幕校正不准确而不能正常使用触摸屏的话,请删除/etc/pointercal文件后,重启开发板,重新进行校正14. 在linux命令提示符下,播放歌曲# madplay /music/pianpianxihuanni.mp3MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al. Title: Track 1 Artist: 陳百強 Orchestra: 陳百強 Album: Best Memory Track: 15 Genre: Other1.2 Li

8、nux操作系统安装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影响的独立硬盘,以后将在这个分区上编辑、编译软

9、件,这样可以避免当系统出错后使用snapshot恢复时,不破坏学习成果。请按照如下的一系列操作建立虚拟机。1. 在window上安装vmware workstation 7.0软件该软件可以从wmware的官方网站下载2. 启动vmware,新建客户虚拟机。选择File-New-Virtual Machine(1)在主机能联通互联网的情况下,图4 - 9选择虚拟机与主机的互联方式为NAT,使得虚拟机可以通过主机联通互联网(2)图4 - 13中选择“Split disk into 2GB files”,表示使用多个小于2GB的文件来表示一个很大的硬盘。如果windows的硬盘格式为FAT32,请

10、务必选择此选项,因为FAT32支持的最大文件大小为4GB,否则虚拟机将无法启动;如果是NTFS格式,就无需选择这个选项。(3)图4 - 16中选择“Edit virtual machine settings”,可以增减、修改虚拟机的设备(4)图4 - 18用于新增第2个硬盘,大小80G,用于将来挂载work分区(5)图4 - 19设置新增的硬盘不受snapshot影响,即该硬盘上修改的内容不会被一键恢复(6)图4 - 20设置虚拟机使用光盘映像文件,这相当于将ubuntu的安装光盘插入了虚拟机的光驱。请务必确保“connect at power on”选项被选中,这样当虚拟机启动时就能够从光盘

11、启动,以便可以安装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 -

12、 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-power on,启动虚拟机。此时虚拟机会从ubuntu9.10的安装光盘启动,进入安装ubuntu 的界面图4 - 21 选择安装ubuntu2.

13、 在图4 - 21中使用键盘选择“Install Ubuntu”,会进入ubuntu安装的图形界面,以后各个步骤中,大多数情况下只需选择“下一步”即可。特别说明:此时鼠标和键盘被虚拟机接管,你将无法操作window主机。如想从虚拟机退出到windows主机,按“ctrl+alt”即可;之后如想重新操控虚拟机,请用鼠标单击虚拟机的安装界面3. 安装过程中,当出现图4 - 22时,需要选择“specify partitions manually(advanced)”选项,以便手动对2个硬盘进行分区图4 - 22 指定手动对硬盘进行分区4. 在分区界面中,将第1个硬盘(/dev/sda)分为2个区:

14、/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分区,用于lin

15、ux在运行期间的虚拟内存使用,其作用类似windows中的交换文件pagefile.sys图4 - 23 对虚拟机硬盘进行分区5. 当出现图4 - 24时,设置ubuntu的第1个普通用户登录名为dennis,密码为1234。用户dennis将成为使用ubuntu操作系统的主要用户图4 - 24 设置ubuntu中第1个普通用户的登录名和密码6. 安装完成后,请务必在图4 - 20中去掉“Connect at power on”选项,以便使得虚拟机重启后从硬盘启动,而不是从光盘启动。1.3 在ubuntu9.10中安装基本的开发环境使用光盘安装的ubuntu9.10是一个比较精简的linux发

16、行版,大部分软件和工具都没有安装,这些工具和软件都需要从互联网上获得和安装,这正是ubuntu的一大优点之一,因为只要能联通互联网就能安装数量不断增加、版本不断更新的优质软件,而不必考虑从哪里去获得它们。但对习惯了windows setup.exe的初学者而言,则是一大缺点,因为在使用ubuntu的过程中总是完成不了想完成的工作,原因是该工具软件没有安装,而初学者总是无所适从,因为不知道应该如何安装该工具软件。为了避免你在学习本书的过程中,遇到这样恼人的尴尬,请按如下步骤在ubuntu中安装学习本书的过程中要用到的所有软件。当然你要是想快速学习本书,不想浪费时间安装这些工具软件的话,可以直接使

17、用配套光盘中已经制作好的虚拟机(位于光盘的ubuntu910目录中),它已经安装了学习本书所需的所有软件。使用已制作好的虚拟机的方法是:将配套光盘的整个ubuntu910目录全拷贝到windows主机的C盘根目录;去掉该目录中所有文件的只读属性;在vmware7.0主菜单中选择File-Open,找到C:ubuntu910目录下的Ubuntu910.vmx文件,单击打开即可。登录ubuntu的用户名为dennis,密码为1234。特别提醒:在安装软件前,务必确保window主机能够联通互联网,虚拟机与window主机的联接方式为NAT。1. 安装编辑器vim$ sudo apt-get upd

18、ate$ sudo apt-get install vim特别说明: 出于操作安全考虑,默认情况下ubuntu不允许root用户登录,所以一般情况下都使用普通用户dennis登录系统进行操作,而安装软件的操作需要root权限,所以需要在执行apt-get前加上sudo命令,表示以管理员的身份执行apt-get命令。此后系统会要求你输入密码,你只需要输入dennis的密码1234即可。 apt-get是ubuntu系统提供的从互联网上安装软件的命令行工具,install是apt-get的参数,表示安装。常用的参数还有uninstall表示卸载软件,update表示更新软件数据库,以获得最新可安装

19、软件的列表。 vim是要安装的软件的名字2. 安装基本的开发环境$ sudo apt-get install build-essential3. 安装语法、词法分析器$ sudo apt-get install bison flex4. 安装C以及C+函数库man手册$ sudo apt-get install manpages-dev manpages-posix-dev glibc-doc5. 安装串口工具minicom和ckermit$ sudo apt-get install minicom ckermit6. 安装已经制作好的arm平台的交叉编译工具链交叉编译工具链是进行嵌入式开发必

20、须具备的基础工具。它的获得,最原始的方法是下载编译器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$ sudo tar xjvf

21、arm-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)修改交叉编译工具链目录权限$ sudo chown dennis:dennis /usr/local/arm/g

22、cc-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

23、-3.4.5-glibc-2.3.6/bin退出系统重新登录后,输入arm-linux-gcc v,如出现图4 - 25 验证交叉编译工具链安装成功则表示交叉编译工具链安装成功。7. 安装移植qtopia的时候所需的工具$ sudo apt-get install x-dev libx11-dev x11proto-xext-dev libxext-dev libqt3-mt-dev uuid uuid-dev8. 安装配置内核(make menuconfig)时需要的ncurse库$ sudo apt-get install libncurses5 libncursesw5 libncurs

24、es5-dev ncurses-base ncurses-bin9. 安装制作根文件系统的jffs2映像时需要的工具软件$ sudo apt-get install mtd-utils10. 安装编译tslib时需要的工具软件$ sudo apt-get install m4 autoconf automake libtool1.4 ubuntu9.10上网络服务的安装与配置我们将在ubuntu上配置2个网络服务:ftp服务和nfs服务。前者用于在window主机与linux虚拟机之间交换数据,后者用于在开发板和linux虚拟机之间交换数据。1.4.1 设置vmware网络目前虚拟机只有1张网

25、卡,其被设置为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张网卡

26、的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$ sudo apt-get install vsftpd2. 配置ftp服务器修改配置文件/etc/vsftpd.conf,将下面2行前的注释符号“#”去掉#local

27、_enable=YES#write_enable=YES上面第一行表示是否允许本地用户(dennis就是本地用户之一)登录,第二行表示是否允许上传文件。3. 重启ftp服务$ sudo /etc/init.d/vsftpd restart4. 使用ftp服务器从ftp服务器下载和上传数据,需要在windows主机上安装ftp客户端。你可以使用任何你熟悉的ftp客户端,配套光盘中提供了1个ftp客户端软件(softwareuestudio.rar)。1.4.3 安装、配置nfs服务1. 安装nfs服务器$ sudo apt-get install nfs-kernel-server portmap2. 配置nfs服务器修改配置文件/etc/exports,添加如下内容,以后就可以通过nfs文件系统访问/work目录了/work *(rw,sync,no_root_squash)3. 重启nfs服务器$ sudo /etc/init.d/nfs-kernel-server restart

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

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