【嵌入式开发】嵌入式 开发环境 (远程登录 | 文件共享 | NFS TFTP 服务器 | 串口连接 | Win8.1 + RedHat Enterprise 6.3 + Vmware11)

作者 : 万境绝尘

博客地址http://blog.csdn.net/shulianghan/article/details/42254237





一. 相关工具下载



嵌入式开发工具包


-- 下载地址http://download.csdn.net/detail/han1202012/8321641





二. Linux 网络配置



1. Vmware 网络配置



(1) 网络设置简介


右键点击虚拟机 -> 选择设置



虚拟机设置对话框 : 选择网络适配器选项, 可以看到 Vmware 有三种网络模式;

-- 桥接模式 (briged) : 连接物理网络;

-- 网络地址转换模式 (NAT) : 共享主机 IP 地址;

-- 主机模式 (host-only) : 与主机共享专用网络;



(2) 桥接模式 (bridge)


桥接模式图示



桥接模式简介

-- 使用场景 : 路由器能提供多余的 IP 地址, 虚拟机将会分配到一个 IP 地址访问外网;

-- 使用效果 : 虚拟机可以获取到独立 IP 地址, 局域网内的计算机B 也能访问虚拟机;



(3) 主机模式


主机模式图示



主机模式简介

-- 使用场景 : 安装虚拟机的主机没有联网的情况, 使用主机模式;



(4) 网络地址转换模式 (NAT)


NAT 图示



NAT 模式简介

-- 使用场景 : IP 地址有限的情况下, 局域网内 IP 地址紧张, 虚拟机分到 IP 地址导致其他人上不了网;

-- 使用效果 : 虚拟机没有独立 IP, 与主机共享一个 IP地址, 外部的计算机无法访问虚拟机;



(5) 注意事项


注意 : 修改虚拟机的任何配置, 需要将虚拟机关机, 修改后再开机;


使用桥接模式 : 在嵌入式开发中, 我们使用桥接模式;






2. Linux 网络设置


网络设置常用命令

-- 查看所有网卡 : ifconfig, 查看目前激活的各个网卡; 

-- 重启所有网卡/etc/init.d/network restart, 重启各个网卡;



(1) 配置网卡


执行命令/etc/init.d/network restart;

-- 结果 : 出现错误;



解决错误 : 根据错误提示 

-- 提示 : 错误:断开设备 'eth0'(/org/freedesktop/NetworkManager/Devices/0)失败:This device is not active;

-- 停止 NetworkManager 服务 : 执行 service NetworkManager stop 命令;


-- 再次重启网卡 : 执行 /etc/init.d/network restart 命令;


-- 再次查看网卡信息 : 使用 ifconfig 命令, 发现 eth0 网卡没有启动;


-- 配置 eth0 : 配置 /etc/sysconfig/network-scripts/ifcfg-eth0 文件, 将 ONBOOT="no" 改为 ONBOOT="yes" ;

DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:0C:29:93:51:86"
NM_CONTROLLED="yes"
ONBOOT="no"
TYPE="Ethernet"
UUID="515b3e5f-4ce8-4a57-ba2c-ef79c6454e3d"
-- 重启网卡 : 执行 /etc/init.d/network restart 命令,  使用 ifconfig 命令;

[root@localhost ~]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:93:51:86  
          inet addr:192.168.0.111  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe93:5186/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:391 errors:0 dropped:0 overruns:0 frame:0
          TX packets:266 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:196463 (191.8 KiB)  TX bytes:27400 (26.7 KiB)
          Interrupt:19 Base address:0x2024 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:48 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3238 (3.1 KiB)  TX bytes:3238 (3.1 KiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:3A:DA:B0  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:4071 (3.9 KiB)


验证网络

-- 在虚拟机中 Ping 百度

-- 虚拟机中 Ping windows


-- 在 windows Ping 虚拟机




(2) 各网卡介绍


网卡简介

-- eth0 : 系统中的第一块物理网卡;

-- lo : 虚拟的回环网卡, 是用软件模拟出来的, 无法连接外部网络;

-- virbro : 虚拟网桥;




三. 远程登录 Linux 系统



1. 登录前提 (必须满足)



(1) 保证Linux 和 Windows 之间Ping通


查看 Linux 和 Windows 地址

-- Windows : 命令行执行 ipconfig 命令, IP 地址是 192.168.1.110;


-- Linux : 执行 ifconfig 命令, IP 地址是 192.168.1.111;



Windows 和 Linux Ping

-- Windows : 执行 ping 192.168.0.111 命令;


-- Linux : 执行 ping 192.168.0.110 命令; 




(2) 关闭防火墙


关闭防火墙

-- 命令/etc/init.d/iptables stop;




2. 使用 Putty 远程登录


Putty 远程登录 : 

-- 设置 Putty : 打开 Putty 并设置 IP 地址 (Linux IP地址), 端口号 22, 登录方式 SSH;


-- 安全警告 : 点击 "打开" 按钮, 弹出下面对话框, 点击 "是";


-- 输入密码 : 在 "login as :" 后输入 root, 以 root 用户登录, 之后输入密码即可登录 Linux 系统;





3. 使用 VNC 远程登录 Linux



(1) 从光盘安装 tigervnc-server-1.0.90-0.17.20110314svn4359.el6.i686.rpm 包


找到包 : 加载光盘镜像, 从光盘镜像 中的 Packages 中找到 tigervnc-server-1.0.90-0.17.20110314svn4359.el6.i686.rpm 包;



安装包

-- 双击安装 : 确认继续;


-- 确认安装


-- 软件包已经安装 : 不再需要安装;




(2) 开启 VNC 服务


设置密码 : 执行 vncserver 命令, 会提示设置密码, 输入两次密码 之后即可开启 VNC 服务;

-- 注意 : localhost.localdomain:1, 冒号后面的数字是 1, 这个需要用到;



Widows 下使用 VNC 客户端登陆

-- VNC 配置 : VNC 登陆地址是 192.168.0.111:1 ;

-- VNC 密码 : 输入刚才设置的密码;

  

-- 登陆Linux图形化界面



作者 : 万境绝尘

博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237



四. Linux 与 Windows 文件共享



1. 文件共享前提 (必须满足 Ping | 防火墙 | SELinux)


(1) Ping 通 | 防火墙关闭


前提 : 该前提 与 远程登录 Linux 前提相同, 即 Linux 防火墙关闭, Windows 与 Linux 能互相 Ping 通;



(2) 关闭 SELinux 模块


执行 setenforce permissive 命令即可, 否则在 Samba 登录时会出现如下错误 : 




2. WinSCP 实现文件共享


使用 SCP 工具共享文件

-- 配置 SCP : 按照下面的设置, 协议选择 SFTP, 端口号 22, Linux IP 地址 以及 Linux root 用户密码;


-- 警告 : 选择 Yes;


-- 文件界面 : 左侧是 Windows 文件系统, 右侧是 Linux 文件系统;


-- 文件拷贝 : 直接在上面的界面拖动即可;



3. 使用 Samba 实现 Windows 与 Linux 文件共享



(1) 从光盘镜像中安装 Samba 服务器


安装过程

-- 挂载光盘 : 使用 mount /dev/cdrom /mnt/ 命令, 挂载光盘镜像到 /mnt 目录;


-- 安装文件 : 进入 /mnt/Packages 目录下, 使用 rpm -ivh samba-3.5.10-125.el6.i686.rpm 命令安装 Samba 服务器;




(2) Linux 配置 (创建Samba用户 | 配置Samba | 设置 Samba密码 | 重启 Samba)


创建 Samba 用户

-- 创建用户 : 使用 useradd samba 命令, 创建一个 samba 用户, 用户名随意;

-- 设置密码 : 使用 passwd samba 命令, 设置 samba 用户密码;



设置 samba 密码 : 使用 smbpasswd -a samba 命令;



配置 Samba : 编辑 /etc/samba/smb.conf 文件, 加入如下内容;

[root]
	comment = Root Directories
	path = /
	browseable = yes
	writable = yes
	valid users = samba
-- path : 可以访问的目录;

-- valid users : 访问用户 即上面我们创建的用户;


重启 Samba 服务 : 执行 /etc/init.d/smb restart 命令;




(3) Windows 访问 Samba 服务器 


Windows 访问 Samba

-- 浏览器登陆 : 在浏览器地址栏输入 \\192.168.0.111 (这是 Linux IP 地址), 对话框中输入 samba 用户名 和 对应的用户密码;


-- 文件共享目录 : samba 目录就是 /home/samba 目录, root 需要以 root 用户登录上面的对话框;




4. 使用 Vmware Tools 实现文件共享


安装 Vmware Tools

-- 加载 Vmware Tools 镜像 : 点击 "菜单" --> "虚拟机" --> "安装 Vmware Tools" 按钮;


-- 镜像内容 : 拷贝 VMwareTools-9.6.2-1688356.tar.gz 并解压;

manifest.txt     VMwareTools-9.6.2-1688356.tar.gz  vmware-tools-upgrader-32
run_upgrader.sh  vmware-tools-upgrader-64
-- 解压后的目录 : vmware-tools-distrib, 进入该目录;

[root@localhost vm_tools]# cd vmware-tools-distrib/
[root@localhost vmware-tools-distrib]# ls
bin  doc  etc  FILES  INSTALL  installer  lib  vmware-install.pl
-- 安装 Vmware Tools : 执行 ./vmware-install.pl 命令, 一路回车, 重启即可;





五. TFTP 与 NFS 服务器配置



1. TFTP 服务器



(1) 前置条件 (Ping | 防火墙 | SELinux)


前置条件

-- Ping 通 Windows : ping 192.168.0.110;

-- 关闭防火墙/etc/init.d/iptables stop;

-- 关闭SELinuxsetenforce permissive;




(2) 从光盘映像安装 TFTP 服务器


安装 TFTP 服务器

-- 挂载光盘映像 : 使用 mount /dev/cdrom /mnt 命令;


-- 安装 TFTP 服务器 : 使用 rpm -ivh /mnt/Packages/tftp-server-0.49-7.el6.i686.rpm 命令, 出现错误, 依赖 xinetd;


-- 安装 xinetd : 使用 rpm -ivh /mnt/Packages/xinetd-2.3.14-34.el6.i686.rpm 命令;


-- 安装 tftp 服务器 : 使用 rpm -ivh /mnt/Packages/tftp-server-0.49-7.el6.i686.rpm 命令;





(3) 配置 TFTP 服务器


配置 TFTP 服务器 : 编辑 /etc/xinetd.d/tftp 文件, 进行下面的配置;

-- disable : 改为 no;

-- server_args : 可以修改 tftp 服务器目录, 这里改为 /tftp 目录;

# default: off
# description: The tftp server serves files using the trivial file transfer \
#	protocol.  The tftp protocol is often used to boot diskless \
#	workstations, download configuration files to network-aware printers, \
#	and to start the installation process for some operating systems.
service tftp
{
	socket_type		= dgram
	protocol		= udp
	wait			= yes
	user			= root
	server			= /usr/sbin/in.tftpd
	server_args		= -s /tftp
	disable			= no
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}
-- 重启 tftp 服务 : 使用 /etc/init.d/xinetd restart 命令;



(4) 验证 TFTP 服务


Windows 启动 tftpd32.exe
-- 输入参数

-- 下载文件
 
-- 查看文件 : Windows 与 Linux 中的文件对比, 发现相同, tftp 服务器可用;






2. NFS 服务器


配置 NFS 服务器

-- 编辑 /etc/export 文件 : 该文件是空白文件, 添加 /tmp *(rw,sync,no_root_squash) 内容;

-- 配置解析/tmp 表示共享目录, * 表示允许访问共享目录的主机 IP, 也可以是 192.168.0.* 等内容, rw 表示可读写权限, sync 写回原目录, no_root_squash 享有root权限;

-- 重启 NFS 服务器 : 使用 /etc/init.d/nfs restart 命令;






六. OK6410-A 开发板串口连接



1. Windows 调试开发板



(1) 安装串口驱动


串口驱动 : 使用 USB 转串口线连接开发板, 在 "设备管理器" 中查看串口驱动, COM7 口;





(2) 使用 SecureCRT 连接开发板


SecureCRT 连接

-- 配置登录选项 : 协议选择 "Serial", 端口与驱动中的端口相同, 波特率 115200, 数据位 8,  取消流控;


-- 进入终端


-- 启动开发板 : 连接成功;





七. OK6410-A 开发板 烧写 Linux 操作系统



1. 制作SD卡启动盘


使用 Linux 烧写工具, 将 mmc_ram256.bin 烧写到 SD 卡中;


烧写SD卡启动盘流程

-- 格式化 SD 卡 : 先将SD卡格式化;

-- 烧写文件 : 将 mmc_ram256.bin 文件烧写到 SD 卡中;





2. 使用 USB 烧写 u-boot



(1) 串口操作


使用 SecureCRT 连接串口

-- 选择从 USB 烧写映像 : User Menu for OK6410 中选择 3;

-- 选择烧写 u-boot : Select the fuction 中选择 1;


-- 烧写完毕后的串口信息




(2) Linux 操作



虚拟机设置 USB 连接 : 虚拟机右下角找 Samsung SEC USB 接口, 右键点击连接, 虚拟机 Linux 即可连接 开发板 USB 下载接口;
  

下载流程
-- 加载 dnw 驱动 : 使用 insmod dnw_usb.ko 命令;

-- 烧写 u-boot : 使用 ./dnw u-boot_ram256.bin 50000000 命令, 烧写 u-boot 到nand flash 中;





3. 使用 USB 烧写 内核



(1) 串口操作


使用 SecureCRT 连接串口 : 

-- 选择从 USB 烧写映像 : User Menu for OK6410 中选择 3;

-- 选择烧写 u-boot : Select the fuction 中选择 2;



-- 烧写完毕后的串口信息 




(2) Linux 操作



虚拟机设置 USB 连接 : 虚拟机右下角找 Samsung SEC USB 接口, 右键点击连接, 虚拟机 Linux 即可连接 开发板 USB 下载接口;
  

下载流程 : 
-- 加载 dnw 驱动 : 使用 insmod dnw_usb.ko 命令;

-- 烧写 zImage : 使用 ./dnw zImage 50000000 命令, 烧写 zImage 到nand flash 中;





4. 使用 USB 烧写 文件系统



(1) 串口操作


使用 SecureCRT 连接串口 : 

-- 选择从 USB 烧写映像 : User Menu for OK6410 中选择 3;

-- 选择烧写 u-boot : Select the fuction 中选择 3;


-- 烧写完毕后的串口信息 




(2) Linux 操作



虚拟机设置 USB 连接 : 虚拟机右下角找 Samsung SEC USB 接口, 右键点击连接, 虚拟机 Linux 即可连接 开发板 USB 下载接口;
  

下载流程 : 
-- 加载 dnw 驱动 : 使用 insmod dnw_usb.ko 命令;

-- 烧写 文件系统 : 使用 ./dnw rootfs.yaffs2-nand2g 50000000 命令, 烧写 文件系统 到nand flash 中;







作者 : 万境绝尘

博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237


posted @ 2015-01-03 04:38  韩曙亮  阅读(312)  评论(0编辑  收藏  举报