【嵌入式开发】嵌入式 开发环境 (远程登录 | 文件共享 | 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.0inet6 addr: fe80::20c:29ff:fe93:5186/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:391 errors:0 dropped:0 overruns:0 frame:0TX packets:266 errors:0 dropped:0 overruns:0 carrier:0collisions: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.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:48 errors:0 dropped:0 overruns:0 frame:0TX packets:48 errors:0 dropped:0 overruns:0 carrier:0collisions: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.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:24 errors:0 dropped:0 overruns:0 carrier:0collisions: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 Directoriespath = /browseable = yeswritable = yesvalid 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;
-- 關閉SELinux :?setenforce 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 = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /tftpdisable = noper_source = 11cps = 100 2flags = 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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【IOS 开发】Object - C 面
- 下一篇: 【嵌入式开发】ARM 芯片简介 (ARM