moxa UC8410学习笔记_第1页
moxa UC8410学习笔记_第2页
moxa UC8410学习笔记_第3页
moxa UC8410学习笔记_第4页
moxa UC8410学习笔记_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MOXA UC8410学习笔记1. 交叉调试环境构建构建UC8410交叉调试环境中碰到很多波折,以此文为记录。整体步骤:1. 在windows上安装Ubuntu虚拟机。2. 安装vmware tools。3. Ubuntu下访问windows共享目录。4. Ubuntu可通过无线网络上网,一些必要的程序需要安装。5. 在Ubuntu上安装nfs服务器,并验证,然后可在uc8410上挂接Ubuntu下的目录。6. 在Ubuntu上安装工具链,并编译程序,然后下载到uc8410执行。7. 在uc8410上安装gdbserver。8. 交叉调试。IP地址约定:Windows主机:有线ip地址:,无线ip地址:02(DNS方式获取)Ubuntu主机:有线ip地址:,无线ip地址:03(DNS方式获取)Uc8410网口1ip地址:271.1 安装Ubuntu虚拟机该步骤相对比较简单,网上提供了很多图解教程,默认安装后磁盘结构如下:其中dev/shm,var/run都为内存目录,Var/run目录中存放的是自系统启动以来描述系统信息的文件。1.2 安装vmware tools安装完Ubuntu后,需要安装vmware tools,可以方便在两个系统之间拷贝文件,共享目录等。在Ubuntu 10.10上安装vmware tools,我这里主要遇到的问题都出现在以下这步中, What is the location of the directory of C header files that match your running kernel? /usr/src/linux/include 如果直接回车,会显示 The path /usr/src/linux/include is not an existing directory. 因此,首先要更改该路径。这里很简单,首先用uname -r命令找到当前的linux内核版本,我这里的版本为2.6.35-25-generic,因此更改后的路径如下: “/usr/src/linux-headers-2.6.35-25-generic/include 改后再回车,又出现如下问题: The directory of kernel headers (version VMWARE UTS_RELEASE) does not match your running kernel (version 2.6 . 35 - 22 -generic). Even if the module were to compile successfully, it would not load into the running kernel. 这是不是不匹配,而是因为 Kernel 中有一个变量 UTS_RELEASE 位置改变了。以前这个定义放在 /usr/src/linux-headers-2.6.35-25-generic/include/linux/version.h ,而现在已经移到了/usr/src/linux-headers-2.6.35-25-generic/include/generated/utsrelease.h。所以vmware tools找不到这个变量的定义,修改的办法有两种: 1. 在version.h中添加 #define UTS_RELEASE 2.6.35-25-generic 2. 直接将utsrelease.h拷贝回来,cp -p generated/utsrelease.h linux/utsrelease.h 修改后再回车,仍然存在问题: The path /usr/src/linux-headers-2.6.35-22-generic/include is a kernel header file directory, but it does not contain the file linux/autoconf.h as expected. This can happen if the kernel has never been built, or if you have invoked the make mrproper command in your kernel directory. In any case, you may want to rebuild your kernel. 根据提示可以知道,是因为找不到 linux/autoconf.h文件,这个文件在新的linux内核中被挪到了 generated文件夹中,因此修改的办法也很简单,直接将这个文件拷贝过来即可 cp -p generated/ autoconf .h linux/ autoconf .h 这样修改完成后,应该就可以顺利安装了。但安装完毕后,文件拷贝等功能好用,但共享文件不好用,可能是vmware版本太低的原因造成,需要进一步验证。1.3 共享windows下目录第一步:设置有线网络第二步:设置ip地址:第三步:输入sudo /etc/init.d/networking restart 以重启网络服务;第四步:windows下文件共享第五步:在Ubuntu下查看windows下目录:smbclient -L /第六步:ubuntu挂接windows共享目录:mount -t cifs //ubuntu-share /mnt -o username=”用户名”,password=”密码”其中cifs为类型,为windows主机ip地址,用户名和密码必须,双引号引起来。注意:使用有线网络时,需要将网口插在交换机或其他设备上,同时关闭无线网络,否则ping失败。同时使用无线网络时,也需要关闭有线网络。1.4 Ubuntu无线上网第一步:需要设置无线网络第二步:设置桥接模式第三步: 设置ip地址,注意一定要在interfaces中设置,gui界面可以忽略了.第四步:输入sudo /etc/init.d/networking restart 以重启网络服务;1.5 Ubuntu上安装nfs服务器1、安装Ubuntu nfsUbuntu上默认是没有安装Ubuntu nfs服务器的,因此我们首先安装Ubuntu nfs服务器端:$sudo apt-get install nfs-kernel-server在一些文档中,提出还需要使用apt-get来手动安装nfs的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动为我们把它们安装好。2、配置/etc/exportsUbuntu nfs允许挂载的目录及权限在文件/etc/exports中进行了定义。例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc/exports文件末尾添加如下一行:/rootfs *(rw,sync,no_root_squash)其中:/rootfs是要共享的目录,*代表允许所有的网络段访问,rw是可读写权限,sync是资料同步写入内存和硬盘,no_root_squash是Ubuntu nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。其它Ubuntu nfs常用的参数有:ro 只读访问rw 读写访问sync 所有数据在请求时写入共享async nfs在写入数据前可以响应请求secure nfs通过1024以下的安全TCP/IP端口发送insecure nfs通过1024以上的端口发送wdelay 如果多个用户要写入nfs目录,则归组写入(默认)no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。hide 在nfs共享目录中不共享其子目录no_hide 共享nfs目录的子目录subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)no_subtree_check 和上面相对,不检查父目录权限all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。no_all_squash 保留共享文件的UID和GID(默认)root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)no_root_squas root用户具有根目录的完全管理访问权限anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UIDanongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID3、Ubuntu nfs重启服务$sudo /etc/init.d/nfs-kernel-server restart4、测试Ubuntu nfs此时可以运行以下命令来显示一下共享出来的目录:$ showmount -e localhost或者可以使用以下命令把它挂载在本地磁盘上,例如将/rootfs挂载到/mnt下:$ sudo mount -t nfs localhost:/rootfs /mnt可以运行df命令查看是否挂载成功。查看后可以使用以下命令卸载:$ sudo umount /mnt注意:有时在nfs挂接的时候,会提示access denied by server错误,/etc/exports中的ip地址修改为*即可,原因不明。Moxa的uc8410已支持了nfs客户端,可以支持将Ubuntu下的目录挂接到uc8410上,挂接示例如下:Mount t nfs :/home/zhangmalong/moxa8410 /home/nfs/public1.6 Ubuntu上安装moxa工具链第一步:光盘拷贝并在ubuntu上安装工具链:工具链安装的工具包括:第二步:路径设置第三步:编译文件:第五步:将文件拷贝到uc84101.7 Uc8410上安装gdbserver,交叉调试第一步:将gdbserver拷贝到uc8410上Gdbserver位于光盘UC8410utility_toolsUC-8400-LXgdbserver目录下,可通过ftp或nfs拷贝到uc8410目录下。第二步:安装rootMoxa:/dev/shm# mount -o remount,rw /rootMoxa:/dev/shm# ipkg-cl install ./gdbserver_6.8_xscale.ipkInstalling gdbserver (6.8) to root.Configuring gdbserverSuccessfully terminated.rootMoxa:/dev/shm# umount /注意mount -o remount,rw /是必须的,重新以可读写方式挂接根目录,否则提示安装失败。第三步:gdb调试1.带调试信息编译程序。2.目标板上进入编译后程序目录,执行如下命令# gdbserver :2000 hello-debug其中,为Ubuntu的IP地址,2000是等待端口号,提示如下:Process hello-debug created; pid=1703.在Ubuntu主机上,进入编译后程序目录(不进入调试时会找不到符号表),执行如下命令$ arm-linux-gdb hello-debug4.At the GDB command prompt in DDD, enter the following command:$ target remote 27:2000This command causes another line of output on the target console similar to the following:Remote debugging from host list

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论