作者 : 万境绝尘

博客地址 : 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 卡中;

关于 win 10 系统烧写错误 : 出现 write sd error 错误解决方案;

-- win 10 系统普通模式运行 (管理员身份) :

-- 设置 win7 兼容模式 : 右键点击属性, 设置 win7 兼容模式;

-- win 10 系统 兼容模式运行 (管理员身份) : 多了一个 format 按钮, 此时使用该 format 按钮之后再烧写, 就能烧写成功;

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

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

  1. Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器

    修改root用户密码 打开终端,输入 sudo passwd root 指令: 安装SSH服务 ssh默认端口号是22,可以在/etc/ssh/sshd_config文件中修改 查看服务器否开启:ne ...

  2. Eclipse 远程开发插件 RSE 及远程登录

    Eclispe 使用私钥登录远程服务器 生成私钥 Window --> Preference --> SSH2 --> Key Management --> Generate ...

  3. 【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705  参考博客 : [嵌入式开发]嵌入式 开发环境 (远 ...

  4. 远哥谈 使用WebSocket开发在线实时看远程服务器log日志的工具

    我们开发软件的,通常会有一个测试环境/开发环境,但是系统开发完成后,还会有一个生产环境,也叫正式环境.正式环境我们一般是不能让开发人员去远程登录和维护的,一般正规的生产环境是专门的负责人员去负责更新, ...

  5. Linux 忘记密码解决方法,Linux 远程登录

    一.Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步 ...

  6. Oralce新建数据库、新建远程登录用户全过程

    Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库.     对于初学者来说,为了避免麻烦,可以用'Database Configuration Assi ...

  7. 五、Linux 远程登录

    Linux 远程登录 Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ss ...

  8. 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连

    在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连 sql server服务器sqlserver远程连接数据库防火墙在建立 ...

  9. 嵌入式Linux应用开发完全手册之环境搭建

    @ 目录 0.下载源配置 1.电脑BIOS启动虚拟化 2.linux网卡查看与IP设置 3.windows NAT虚拟网络配置 4.修改 Ubuntu 的 mountd 端口 5.vim设置 6.Mo ...

随机推荐

  1. windows server 2008 R2 NPS(网络连接策略服务)设置radius,实现telent登陆交换机路由器权限分配

    windows2008NPS(网络连接策略)设置radius 实现telent登陆交换机路由器权限分配 转载请说明出处 一,安装 首先在08中添加服务器角色网络策略和访问服务(Network Poli ...

  2. display:none

    $("#loadimg").css("display",""); <span id="loadimg"  clas ...

  3. 开发网页时,127.0.0.1或者localhost能访问,而本机地址不能访问的解决

    第一 ping试试 127.0.0.1 和 本机地址 若127.0.0.1可以 说明可以自己ping自己 若本机地址可以 说明host正常 第二 检查服务器部署 再部署一个新的 若新的正常 说明你项目 ...

  4. Uncaught RangeError: Maximum call stack size exceeded-栈溢出

    在看函数的arguments对象的时候,用了arguments.callee写了一个递归. 当执行函数func(99999)时候,直接报错了,一看,原来栈溢出了. 当执行递归运算的时候,忘记加点判断条 ...

  5. [原创]基于VueJs的前后端分离框架搭建之完全攻略

    首先请原谅本文标题取的有点大,但并非为了哗众取宠.本文取这个标题主要有3个原因,这也是写作本文的初衷: (1)目前国内几乎搜索不到全面讲解如何搭建前后端分离框架的文章,讲前后端分离框架思想的就更少了, ...

  6. MongoDB 自动增长

    MongoDB 没有像 SQL 一样有自动增长的功能, MongoDB 的 _id 是系统自动生成的12字节唯一标识. 但在某些情况下,我们可能需要实现 ObjectId 自动增长功能. 由于 Mon ...

  7. linux下删除目录及其子目录下某种类型文件

    Linux下,如果想要删除目录及其子目录下某种类型文件,比如说所有的txt文件,则可以使用下面的命令: find . -name "*.txt" -type f -print -e ...

  8. Linux Mint 17一周使用体验

    1 Win7下安装Mint双系统 Linux Mint支持直接从Win7硬盘引导安装,非常方便,不用制作U盘引导,更不用刻盘安装了.Mint有Cinnamon和Mate两种桌面,听说Mate更加简洁节 ...

  9. Programming In Scala笔记-第六章、函数式对象

    这一章主要是以定义和完善一个有理数类Rational为线索,分析和介绍有关类定义,构造函数,方法重写,变量定义和私有化,以及对操作符的定义等. 一.Rational类定义和构造函数 1.定义一个空类 ...

  10. 两种利用GCD实现分步获取结果的方式和SDWebImage缓存机制的验证

    前段时间写界面,因为数据的请求分成了两部分,所以用到了多线程,实现数据的分步请求,然后自己写了一个Demo,用两种方式实现分步获取内容,其中也包含了验证SDWebImage这个库的缓存机制,在这里给大 ...