假如我们有一台机器,windows+虚拟机是不错的选择;假如我们有另外一台机器,windows+linux是更佳的选择。我们选择ubuntu910作为开发用linux系统,安装过程不再赘述,官方的光盘安装即可。有人会问,为什么选择ubuntu呢?其实没什么理由,笔者用的时间较长而已,ps:ubuntu910做的很漂亮,不过在笔者的机器上死过几次,猜想是gui的原因,鉴于开发多用终端,所以此隐患先忽略。
本篇主要介绍2个内容:
1.ssh rzsz samba synergy vnc nfs tftp 2.skyeye
1. ssh
一般情况下,我们在linux下编译,同时我们工作在windows下,所以需要个文件共享或者传输工具,我们选择ssh连接终端,选择rzsz传输文件,选择samba共享文件,步骤如下:
sudo su
apt-get install openssh-client openssh-server
apt-get install lrzsz
apt-get install samba
apt-get install system-config-samba
apt-get install synergy
apt-get install vnc4server
apt-get install nfs-kernel-server
apt-get install portmap nfs-common
apt-get install tftp tftpd openbsd-inetd
此时,windows端,我们安装SecureCRT,建立连接,用root用户登录即可,此时操作终端与本机操作无异。
sudo su 登录root用户
rz 从本机获取文件上传到linux当前目录
sz filename 从linux当前目录下载文件到本机指定目录,SecureCRT可以设置。
samba安装好后,右键点击任意目录,share options,即可共享目录到文件夹了,此时可能会发生:Failed to execute child process "testparm"错误,下面的方法解决:
sudo apt-get upgrade samba-common-bin
如果想共享文件夹的话,在system/Admin/菜单下,找到samba,共享文件夹即可
这时,可以再windows的网上邻居里,看到linux的共享文件夹了,如果网上邻居没有出现linux共享的文件夹,这样做:
vi /etc/samba/smb.config
假如 workgroup = mshome mshome是windows所在的工作组,在网上邻居的工作组里即可看到
如果需要其他windows服务访问此文件夹,比如nfs服务,那么需要映射此文件夹为本地驱动器,方法是我的电脑右击,映射网络驱动器,选中网上邻居的共享文件夹即可
以上配置完成基本的windows和linux交互开发通信环境。synergy是共享鼠标和键盘的工具,先安装,后面有详细的文章介绍。RealVNC作为windows端的vnc软件,vnc4server是ubuntu上的vnc服务。vnc默认配置是远程登录用的twn模式,需要修改配置成图形模式登录,方法很简单:编辑~/.vnc/xstartup文件,修改如下即可:
#twm &
gnome-session &
kill掉已开启服务vncserver -kill :1等等,再次开启vncserver,连接时候用ip:1等,很简单,使用。
nfs配置也很简单,编辑/etc/exports 添加要nfs的目录如/nfsroot *(rw,sync,no_root_squash),nfsroot目录的属性777,chmod即可,sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/portmap restart
重启服务,mount 192.168.1.8:目录 /mnt 测试即可
tftp的配置 新建inetd启动文件
cat /etc/inetd.conf
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /home/swordzj/arm # /home/swordzj/arm为tftp主目录
重新启动inetd服务
sudo /etc/init.d/openbsd-inetd start
测试tftpd服务是否成功
tftp localhost
tftp> put 123.log
tftp> put 123.log test.log
tftp> get test.log
tftp> get test.log abc.log
tftp> verbose
Verbose mode on.
tftp> trace
Packet tracing on.
tftp> put kkk.log
sent DATA
received ACK
.........
sent DATA
received ACK
Sent 12999997 bytes in -1.5 seconds [-69987938 bit/s]
2.skyeye
嵌入式开发学习,基本的理论知识是不够的,需要动手学习,一般情况下,推荐使用开发板,当然我们也有开发板的替代方案,有了工具,我们无所不能。skyeye就是用来模拟开发板的,效果很不错。
apt-get install skyeye 安装
skyeye测试,此时有时会出现skyeye: error while loading shared libraries: libbfd-2.19.90.20090909.so: cannot open shared object file: No such file or directory
解决办法是,
cp /usr/lib/libbfd-2.20.so /usr/lib/libbfd-2.19.20090909.so
即可,因为库的改动不大
再次测试skyeye
skyeye 看到一大堆的输出吧,下载skyeye官方的skyeye-testsuite,tar解压,
进入linux/ep7312/ep7312_with_framebuffer_touchscreen_minigui,执行
skyeye -e vmlinux skyeye.conf
看到启动信息了吧
以上完成skyeye的apt安装和测试。
实用连接:
skyeye 官网 http://www.skyeye.org/
skyeye 论坛 http://www.linuxfans.org/bbs/forum-58-1.html
ubuntu 官网 http://www.ubuntu.com/
绿色软件联盟 http://www.xdowns.com/
多特软件站 http://www.duote.com/
本篇用到的工具可在以上网站找到。