windows下linux开发环境配置
2012-10-05
标签: Linux

本文介绍在windows下如何进行Linux开发应用。如何在windows下通过tftp启动目标板,如何在windows通过NFS与目标板相“沟通”。以及如何在cygwin下生成交叉编译工具链。本文中所有操作均在windows XP下进行。

TFTP服务器设置

软件需求:tftpsrv.exe

文件要求:zImage,ramdisk这两个文件为用户自己的启动文件。

  • 在C盘新建目录c:\tftpserver\
  • 将程序TFTPSRV.exe拷入该目录
  • 在c:\tftpserver\目录下创建tftpboot目录
  • 将zImage和ramdisk拷入tftpboot下
  • 确保zImage属性->安全里的有用户everyone,并且有执行,读的权限(可省略)
  • 打开DOS命令窗口,转入到c:\tftpserver\下
  • 在 DOS窗口下键入tftpsrv.exe dtftpboot\ ,此时 tftpserver则启动

注:如右键里没有“安全”选项,则首先确认分区是否是NTFS格式,如不是则更换成NTFS格式,然后在资源管理器里点击“工具”菜单-“文件夹选项”,将“使用简单文件共享(推荐)”前的勾去掉即可。如下图:

Windows下NFS服务器设置

软件需求:SFU

文件要求:passwd ,group 这两个文件为用户自己的密码和组文件。

示例:passwd内容

root:x:0:0:root:/root:/bin/sh

group内容

root:x:0:

安装

  • 将passwd和group两个文件直接复制到本地C:\盘
  • 运行SFU35BETA_EN.exe,这是一个自解压文件,指定一个目录,释放压缩的文件。
  • 在释放目录中,运行SfuSetup.msi,出现Micorsoft Windows Services for UNIX Setup wizard窗口。
  • 点击Next,出现Customer Information窗口。
  • 点击Next,出现License and Support Information窗口,选中“I accept the agreement”。
  • 点击Next,出现Installation Options窗口。
  • 选择Custom Installation,点击Next,出现Selecting Components窗口。
  • 点击Utilities目录项,选择Entire feature will not be available,该项的图标变为一个棕色的叉号。
  • 对“Interix GNU components”“Remote Connectivity”使用相同的选择。
  • 点击NFS目录项,选择Entire Feature (including all subfeature if any) will be installed on local hard drive,该项的图标变为一个白色背景的驱动器。
  • 对“Authentication tools for NFS”使用相同的选择, 选择Entire Feature (including all subfeature if any) will be installed on local hard drive。
  • 最终只有“Authentication tools for NFS”和“NFS”两项是完全安装,其他各项都不安装。
  • 点击Next,出现User Name Mapping窗口,选中Password and group files。
  • 点击Next,在Password file path and name下的空白栏中输入C:\passwd,在Group file path and name下的空白栏中输入C:\group。
  • 点击Next,出现Installationg Location窗口,选择安装位置。
  • 点击Next,开始安装(约21MB)。最后选择Finish,结束安装。如提示重启,则重启。 (以上安装过程比较简单,引用网络上文章。)

    注:与卡巴斯基互联网套装6.0有冲突,需安装之前关闭卡巴斯基。

共享Windows主机目录

  • 不需重启,对要共享的目录,右键点击出现下拉菜单,选择“属性”,出现目录属性窗口。如图:

  • 选择“NFS Sharing”选项卡,选中share this folder;指定共享名(Share name,一个简单的名字,大小写无关,如dir);字符编码(Encoding)选择GB2312-80;选中Allow anonymous access;点击Permissions,出现NFS Share Permissions窗口,设置共享文件夹读写属性。如图:

  • 在Type of access下拉菜单中选择Read-Write(可读可写);要使目标板对本机文件有root权限,选中Allow root access。
  • 设置完,点击OK按钮,回到目录属性窗口。
  • 点击“安全”选项,添加everyone,使之允许读取,控制。如图

    点击“应用”或“确定”,使共享生效。

    要设置NFS属性,选择开始->程序->Windows Services for Unix->Services for Unix Administration。

  • 出现设置窗口后,点击 左边子窗口User Name Mapping,再点击标签栏“Map”,然后点击 show User Maps,出现如下画面:

  • 在windows user name 和unix user name框中分别输入guest和root,然后点击add,则添加到mapped users中。
  • 然后再点击 show group Maps, 在windows group name 和unix group name框中分别输入guests和root,然后点击add,则添加到mapped groups中。

注:如右键里没有“安全”选项,则首先确认分区是否是NTFS格式,如不是则更换成NTFS格式,然后在资源管理器里点击“工具”菜单-“文件夹选项”,将“使用简单文件共享(推荐)”前的勾去掉即可。如下图:

启动目标板,并在目标板上挂装Windows目录

将主机IP设为192.168.1.1,交叉线与目标板相连,启动目标板,主机启动tftp服务,运行mount命令来挂装NFS目录:

mount –t nfs –o nolock 192.168.1.1: share_name /mnt

share_name为共享的目录名。显示一下目录内容,应为Windows机器上的共享NFS目录内容。

这样,我们编译好的程序便可以放入共享目录中,然后在目标板上运行。

注:如出现网络不通的问题,则应检查本地连接是否有防火墙,如有,则去掉防火墙保护。

Windows下Cygwin配置

在Windows下进行Linux开发,当然要用到Cygwin了。它就是提供了在Windows下开发Linux程序的环境。

  • 从http://cygwin.com/安装Cygwin。运行安装程序,进入Select Packages,Base,Devel, Libs下安装包全选,其他安装包酌情选择。选择安装目录如C:\Cygwin
  • 下载脚本文件http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshot.tar.bz2
  • 将buildroot-snapshot.tar.bz2复制到C:\cygwin\usr\src下
  • 运行cygwin的shell,在cygwin环境里用tar –xvjf解压缩buildroot-snapshot.tar.bz2

    tar xvjf buildroot-snapshot.tar.bz2

    cd buildroot

  • 配置uClibc 编译系统

    make menuconfig

    里面有许多配置,我的配置是arm ,arm920T;在buildroot里选择所需的交叉编译工具及其版本。我选择的是linux2.6.19.2 kernel headers,uClibc 0.9.28,binutil 2.17,gcc3.4.2,gdb6.3等

  • 下载这些编译工具源码包到目录buildroot\dl。
  • 建立Uclibc交叉编译工具链。

    make

  • 如遇到编译错误,则继续make,直至编译结束,编译完成后,将在usr\src\buildroot下生成build_arm文件夹,里面的staging_dir\bin目录下的文件便是我们的编译工具
  • 将C:\cygwin\bin下cygwin1.dll拷贝到你的buildroot目录下build_arm\staging_dir\bin里面。
  • 将编译路径加入到环境变量中:

    在cygwin的shell 里执行PATH=$PATH:/usr/src/buildroot/build_arm/staging_dir/bin

  • 这样就可以在cygwin下用arm-linux-gcc 来编译程序了,用法

    arm-linux-gcc source.c

可能会用到的工具/仪表
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号