moxaUC8410学习笔记Word格式.docx
- 文档编号:8549056
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:10
- 大小:373KB
moxaUC8410学习笔记Word格式.docx
《moxaUC8410学习笔记Word格式.docx》由会员分享,可在线阅读,更多相关《moxaUC8410学习笔记Word格式.docx(10页珍藏版)》请在冰点文库上搜索。
192.168.0.102(DNS方式获取)
Ubuntu主机:
192.168.3.8,无线ip地址:
192.168.0.103(DNS方式获取)
Uc8410网口1ip地址:
192.168.3.127
1.1安装Ubuntu虚拟机
该步骤相对比较简单,网上提供了很多图解教程,默认安装后磁盘结构如下:
其中dev/shm,var/run都为存目录,
Var/run目录中存放的是自系统启动以来描述系统信息的文件。
1.2安装vmwaretools
安装完Ubuntu后,需要安装vmwaretools,可以方便在两个系统之间拷贝文件,共享目录等。
在Ubuntu10.10上安装vmwaretools,我这里主要遇到的问题都出现在以下这步中,
WhatisthelocationofthedirectoryofCheaderfilesthatmatchyourrunningkernel?
[/usr/src/linux/include]
如果直接回车,会显示Thepath"
/usr/src/linux/include"
isnotanexistingdirectory.
因此,首先要更改该路径。
这里很简单,首先用uname-r命令找到当前的linux核版本,我这里的版本为2.6.35-25-generic,因此更改后的路径如下:
“/usr/src/linux-headers-2.6.35-25-generic/include
改后再回车,又出现如下问题:
Thedirectoryofkernelheaders(versionVMWAREUTS_RELEASE)doesnotmatchyourrunningkernel(version2.6.35-22-generic).Evenifthemoduleweretocompilesuccessfully,itwouldnotloadintotherunningkernel.
这是不是不匹配,而是因为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。
所以vmwaretools找不到这个变量的定义,修改的办法有两种:
1.在version.h中添加#defineUTS_RELEASE"
2.6.35-25-generic"
2.直接将utsrelease.h拷贝回来,cp-pgenerated/utsrelease.hlinux/utsrelease.h
修改后再回车,仍然存在问题:
Thepath"
/usr/src/linux-headers-2.6.35-22-generic/include"
isakernelheaderfiledirectory,butitdoesnotcontainthefile"
linux/autoconf.h"
asexpected.Thiscanhappenifthekernelhasneverbeenbuilt,orifyouhaveinvokedthe"
makemrproper"
commandinyourkerneldirectory.Inanycase,youmaywanttorebuildyourkernel.
根据提示可以知道,是因为找不到linux/autoconf.h文件,这个文件在新的linux核中被挪到了generated文件夹中,因此修改的办法也很简单,直接将这个文件拷贝过来即可
cp-pgenerated/autoconf.hlinux/autoconf.h
这样修改完成后,应该就可以顺利安装了。
但安装完毕后,文件拷贝等功能好用,但共享文件不好用,可能是vmware版本太低的原因造成,需要进一步验证。
1.3共享windows下目录
第一步:
设置有线网络
第二步:
设置ip地址:
第三步:
输入sudo/etc/init.d/networkingrestart以重启网络服务;
第四步:
windows下文件共享
第五步:
在Ubuntu下查看windows下目录:
smbclient-L//192.168.3.5
第六步:
ubuntu挂接windows共享目录:
mount-tcifs//192.168.3.5/ubuntu-share/mnt-ousername=”用户名”,password=”密码”
其中cifs为类型,192.168.3.5为windows主机ip地址,用户名和密码必须,双引号引起来。
注意:
使用有线网络时,需要将网口插在交换机或其他设备上,同时关闭无线网络,否则ping失败。
同时使用无线网络时,也需要关闭有线网络。
1.4Ubuntu无线上网
需要设置无线网络
设置桥接模式
设置ip地址,注意一定要在interfaces中设置,gui界面可以忽略了.
第四步:
1.5Ubuntu上安装nfs服务器
1、安装Ubuntunfs
Ubuntu上默认是没有安装Ubuntunfs服务器的,因此我们首先安装Ubuntunfs服务器端:
$sudoapt-getinstallnfs-kernel-server
在一些文档中,提出还需要使用apt-get来手动安装nfs的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动为我们把它们安装好。
2、配置/etc/exports
Ubuntunfs允许挂载的目录及权限在文件/etc/exports中进行了定义。
例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc/exports文件末尾添加如下一行:
/rootfs*(rw,sync,no_root_squash)
其中:
/rootfs是要共享的目录,*代表允许所有的网络段访问,rw是可读写权限,sync是资料同步写入存和硬盘,no_root_squash是Ubuntunfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。
其它Ubuntunfs常用的参数有:
ro只读访问
rw读写访问sync所有数据在请求时写入共享
asyncnfs在写入数据前可以响应请求
securenfs通过1024以下的安全TCP/IP端口发送
insecurenfs通过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_squashroot用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squasroot用户具有根目录的完全管理访问权限
anonuid=xxx指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx指定nfs服务器/etc/passwd文件中匿名用户的GID
3、Ubuntunfs重启服务
$sudo/etc/init.d/nfs-kernel-serverrestart
4、测试Ubuntunfs
此时可以运行以下命令来显示一下共享出来的目录:
$showmount-elocalhost
或者可以使用以下命令把它挂载在本地磁盘上,例如将/rootfs挂载到/mnt下:
$sudomount-tnfslocalhost:
/rootfs/mnt
可以运行df命令查看是否挂载成功。
查看后可以使用以下命令卸载:
$sudoumount/mnt
有时在nfs挂接的时候,会提示accessdeniedbyserver错误,/etc/exports中的ip地址修改为*即可,原因不明。
Moxa的uc8410已支持了nfs客户端,可以支持将Ubuntu下的目录挂接到uc8410上,挂接示例如下:
Mount–tnfs192.168.3.8:
/home/zhangmalong/moxa8410/home/nfs/public
1.6Ubuntu上安装moxa工具链
光盘拷贝并在ubuntu上安装工具链:
工具链安装的工具包括:
路径设置
第三步:
编译文件:
将文件拷贝到uc8410
1.7Uc8410上安装gdbserver,交叉调试
将gdbserver拷贝到uc8410上
Gdbserver位于光盘UC8410\utility_tools\UC-8400-LX\gdbserver目录下,可通过ftp或nfs拷贝到uc8410目录下。
安装
rootMoxa:
/dev/shm#mount-oremount,rw/
/dev/shm#ipkg-clinstall./gdbserver_6.8_xscale.ipk
Installinggdbserver(6.8)toroot...
Configuringgdbserver
Successfullyterminated.
/dev/shm#umount/
注意mount-oremount,rw/是必须的,重新以可读写方式挂接根目录,否则提示安装失败。
gdb调试
1.带调试信息编译程序。
2.目标板上进入编译后程序目录,执行如下命令
#gdbserver192.168.3.8:
2000hello-debug
其中,192.168.3.8为Ubuntu的IP地址,2000是等待端口号,提示如下:
Processhello-debugcreated;
pid=170
3.在Ubuntu主机上,进入编译后程序目录(不进入调试时会找不到符号表),执行如下命令
$arm-linux-gdbhello-debug
4.AttheGDBcommandpromptinDDD,enterthefollowingcommand:
$targetremote192.168.3.127:
2000
Thiscommandcausesanotherlineofoutputonthetargetconsolesimilartothefollowing:
Remotedebuggingfromhost192.168.3.8
listthesourcecode:
$list
setabreakpointatline22:
$b22
continuetheexecution:
$cont
quittheexecution:
$quit
Youcanseetheresultonthetargetconsoleasthispicture.
卸载
ipkg-clremovegdbserver
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- moxaUC8410 学习 笔记