Lab1 : 啟動 - 只是實驗報告啊

本次實驗目的在于熟悉硬件板卡,了解今后實驗的基本配置眶俩、編程的基本手段和PC與板卡的通信手段莹汤。

實驗步驟

  1. 在PC上安裝好USB串口驅(qū)動和串口終端軟件;
  2. 按照圖紙要求颠印,將USB串口線與pcDuino連接好纲岭,并連接好以太網(wǎng)(如果打算采用WiFi抹竹,可不連接以太 網(wǎng))。如有 條件止潮,接上HDMI線和HDMI顯示器窃判;
  3. 給pcDuino上電哟楷,記錄啟動過程的輸出铃将;
  4. 從終端登陸pcDuino的Linux耻煤,配置網(wǎng)絡(luò)和/或WiFi矾麻,從pcDuino和PC兩端證明網(wǎng)絡(luò)已連接;
  5. 配置pcDuino的SSH悟泵,可嘗試采用各種不同的認證方式港华;
  6. 從PC通過SSH登陸pcDuino脾歇;
  7. 看到多個不同端口的登陸(本機鍵盤/屏幕橘沥、串口和SSH)窗轩,并運用Linux的write來互相通信。
  8. 配置嵌入式板卡上的SAMBA客戶端座咆,使它能訪問PC上共享的目錄;
  9. 嘗試各種與嵌入式板卡傳遞文件的方式并做比較:
    1. 通過SAMBA共享仓洼;
    2. 通過NFS共享(選做)介陶;
    3. 通過sftp傳遞;
    4. 通過串口XModem協(xié)議傳遞色建;
    5. 通過Dropbox共享(選做)哺呜。
  10. 選擇和安裝PC上的交叉編譯環(huán)境;
  11. 交叉編譯C語言的浮點運算程序到pcDuino上去運行箕戳,證明所編譯的程序是ARM的某残;
  12. 嘗試嵌入式板卡上的三個語言的開發(fā)環(huán)境:C/C++、Python和Java陵吸;
  13. 嘗試一種從PC遠程訪問嵌入式板卡圖形桌面的方式:x-window(通過SSH)玻墅、RDP或VNC。

實驗硬件

  • Acadia板子一塊
  • 顯示器一個
  • PC機一臺壮虫,裝有ubuntu
  • 路由器一個
  • PL2303串口線一根
  • 網(wǎng)線一根
  • HDMI線一根
  • 鼠標一個
  • 鍵盤一塊
  • 5V/1A電源一個

實驗流程

1. 虛擬連接圖

虛擬連接圖

2. 實物連接圖

實物連接圖

串口轉(zhuǎn)接線PL2303為左側(cè)的四股線澳厢,其中白線對應LX,黑線對應
GND囚似,綠線對應RX剩拢。左上角的兩個USB口分別接入鍵盤和鼠標,中間的HDMI口接入顯示器饶唤。網(wǎng)線與路由器連接徐伐,配置DHCP后能直接連上互聯(lián)網(wǎng)。

3. 啟動過程輸出

4. 串口登錄Acadia并獲取硬件數(shù)據(jù)

按教程的方式連上串口線后開機即可募狂。而電腦端為了接受串口發(fā)來的消息办素,需要有相關(guān)驅(qū)動的支持角雷。而在ubuntu下,直接使用包管理軟件進行安裝即可摸屠。

$ sudo apt-get install minicom

而后谓罗,通過系統(tǒng)內(nèi)核命令獲取PL2303的串口號。

$ dmesg | grep usb
...
pl2303 converter now attached to ttyUSB0

再使用minicom的命令將其定向到顯示的串口設(shè)備上季二。

$ sudo minicom -s
| Serial port setup |
A -    Serial Device      : /dev/ttyUSB0
F - Hardware Flow Control : No   # 這個地方不改成No的話無法使用鍵盤輸入
ESC
| Save setup as dfl |

這時檩咱,minicom已經(jīng)監(jiān)視/dev/ttyUSB0,即當前連接的串口的消息胯舷。如果此時Acadia開著刻蚯,則串口會進入終端模式。

5. 配置網(wǎng)絡(luò)

Acadia有一個以太網(wǎng)接口桑嘶,接上帶有DHCP功能的路由器之后炊汹,只需要將相關(guān)配置改為自動獲取即可。

$ sudo vim /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
$ sudo /etc/init.d/networking restart
$ ping www.baidu.com
PING www.a.shifen.com (115.239.211.112) 56(84) bytes of data.
64 bytes from 115.239.211.112: icmp_req=1 ttl=53 time=17.7 ms
64 bytes from 115.239.211.112: icmp_req=2 ttl=53 time=18.4 ms
......
內(nèi)網(wǎng)通信

6. ssh登錄與終端間通信

上節(jié)已經(jīng)配置好了網(wǎng)絡(luò)逃顶,則可以使用在同一局域網(wǎng)下的PC進行遠程ssh連接讨便。

ssh登錄與登錄終端查看

上圖為ssh登錄的信息,下圖為串口終端打印出來的信息以政。經(jīng)對比可以看出霸褒,ssh登錄的確實是Acadia板子。

同時盈蛮,使用who命令可以看到當前登錄的所有用戶信息废菱。可以看出抖誉,ttymxc0為串口登錄的root殊轴,即為minicom所在的終端。而pts/2為ssh登錄的終端袒炉。

在獲取到了各個窗口的名稱之后旁理,可以通過write函數(shù)進行互相通信。

write 通信

7. Samba文件共享

Samba軟件依然可以從ubuntu包管理器中找到梳杏,直接使用apt-get下載即可韧拒。

$ sudo apt-get install samba
$ sudo apt-get install smbclient

下載完成后,會在/etc目錄下生成一個配置文件夾為samba十性,而其中叛溢,主要的配置文件為smb.conf,修改其即可改變服務器行為劲适。

$ sudo apt-get install samba
$ sudo vim /etc/samba/smb.conf 
[iisserver]
path = /media/Temp/code/html/iisserver
available = yes
browseable = yes
public = yes
writable = no
$ sudo /etc/init.d/samba reload
$ smbclient //localhost/iisserver
Enter lmuser's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
smb: \> ls
....
    index.html         A        51        Wed Mar 16 22:10:17 2016
          xxx blocks of size xxx. xxx blocks available.
smb: \> exit

通過上述操作楷掉,可以通過smbclient訪問本機Samba服務器,確認配置文件內(nèi)所寫的內(nèi)容(iisserver)已經(jīng)進行了共享霞势。

命令行smbclient訪問

在本機確認之后烹植,使用Acadia嘗試進行訪問斑鸦。通過上下兩個命令行對比可以看出,samba文件共享已經(jīng)成功搭建草雕。

8. 文件傳輸

8.1. SCP

scp命令只需要通過唯一定義一個網(wǎng)絡(luò)計算機上的地址即可進行賦值巷屿。

復制一個遠程文件到本機

Scp通過ssh提供的安全數(shù)據(jù)鏈路進行數(shù)據(jù)傳輸,在保證了傳輸速率的同時也保證了安全性墩虹。而且scp操作不需要過多配置嘱巾,即配置好了ssh之后可以直接拿來當成本機上的cp命令使用,基本無學習成本诫钓。

但是一如cp命令旬昭,scp命令的缺點是對于多次多文件的操作支持比較差。

8.2. SFTP

使用SFTP進行文件操作

sftp則是一個類似于遠程文件瀏覽器的程序菌湃。通過sftp问拘,用戶可以在通過ssh保證的安全數(shù)據(jù)鏈路中進行文件傳輸。而于scp不同的是惧所,sftp相當于一個小型的終端骤坐,可以進行文件的相關(guān)操作。

簡單的使用get命令則可以達到scp的效果下愈,即從服務器遠端下載了一個文件至本機或油。經(jīng)過驗證比對,文件無誤驰唬。但是sftp能做到的遠不止這些,具體的命令可以通過輸入help進行查看腔彰。

sftp在遠程文件處理這方面做得很好叫编,但是就少量文件拷貝而言,對比與scp還是相對繁瑣霹抛,在使用中sftp與scp互有優(yōu)劣搓逾,需要結(jié)合實際進行操作。

8.3. Samba文件共享

一如前面7.所提供的方法杯拐,可以在Acadia上也同時配出一個Samba文件共享霞篡。

如同sftp一般,Samba也有一個可以進行文件操作的客戶端端逼,但是其中區(qū)別很大朗兵。

sftp的客戶端是屬于有用戶權(quán)限的客戶端,可以直接在文件級別上進行操作顶滩。而Samba的客戶端則是相當于一臺虛擬機余掖,所有的操作均受到samba程序以及配置文件的限制。

但是Samba作為文件傳輸?shù)囊环N方式礁鲁,有其最大的一個優(yōu)點盐欺,即匿名性赁豆。操作者從sftp登錄遠程電腦所必須的是能夠通過ssh登錄。而在這種情況下冗美,操作者相當于擁有了登錄用戶的權(quán)限魔种,而對于某些情況下,這種大權(quán)限必須得加入安全性的考量中粉洼。

而Samba客戶端在配置文件中可以允許某個文件夾的匿名訪問节预,則相當于提供了一個小權(quán)限的文件訪問方式,相比于sftp的全開放式做法略微保守但是保證了安全漆改。

但是心铃,Samba共享的缺點也比較突出,就是配置相較于scp與sftp略為麻煩挫剑,且需要主機主動進行配置去扣,適用于需要長期提供服務的場合。

9. 交叉編譯

首先樊破,依然是環(huán)境的配置愉棱,ubuntu官方已經(jīng)給出一個交叉編譯的包,直接使用包管理軟件獲取即可哲戚。

$ sudo apt-get install gcc-arm-linux-gnueabihf

待下載完成后奔滑,可以開始嘗試著使用交叉編譯來在PC機上編譯能夠在Acadia上運行的程序。

$ vim hello.c
#include <stdio.h>

int main(){
        printf("Hello World!\n");
        return 0;
}
$ gcc hello.c
$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, ........
$ ./a.out
Hello World!
$ arm-linux-gnueabihf-gcc hello.c
$ ./a.out
zsh: exec format error: ./a.out
$ file a.out
a.out: ELF 32-bit LSB executable, ARM, ......
$ scp a.out root@192.168.xxx.xxx:/home/linaro
...
a.out         100%  ....
root@Acadia:/home/linaro# ./a.out
Hello World!

以上便是一次完整的交叉編譯的過程顺少,在x86的PC機上成功編譯出了能在ARM芯片上運行的程序朋其。

10. 嵌入式板卡開發(fā)環(huán)境

10.1 C語言

root@Acadia:/root/tmp# vim hello.c
#include <stdio.h>
#include <time.h>

int main(){
        printf("Hello Acadia! At %lu\n", time(NULL));
        return 0;
}
root@Acadia:/root/tmp# gcc hello.c
root@Acadia:/root/tmp# ./a.out
Hello Acadia! At 1458229866

10.2 python

root@Acadia:/root/tmp# vim first.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

__author__ = 'lmzqwer2'

import os
import sys

print 'Hello World'
print os.getcwd()
print sys.platform
print os.system('uname -a')
root@Acadia:/root/tmp# python first.py
Hello World
/root/tmp
linux2
Linux Acadia 3.0.35-2666-gbdde708 .......

11. VNC遠程圖形桌面

依然還是使用apt-get包管理工具獲取X11vnc服務器。

$ sudo apt-get install X11vnc
$ X11vnc –storepasswd
$ sudo apt-get install vncviewer
$ vncviewer 192.168.xxx.xxx
......
PC端Acadia桌面截圖

后記

挑了一個Acadia作為實驗板之后脆炎,猛地發(fā)現(xiàn)沒有串口線XD梅猿。然后就拖啊拖啊拖啊的,一直拖到了deadline秒裕。

整個實驗做下來感覺和上學期操作系統(tǒng)試驗帶給我的感覺一樣袱蚓,就是新的東西很多。許多原本很少聽過的東西几蜻,現(xiàn)在在實驗當中要進行使用喇潘,不得不現(xiàn)場學習。出了錯就使用百度梭稚,使用google颖低,看文檔。不過唯一的不同或許是在硬件方面搜索引擎能夠搜索到的干貨會少一些哨毁,要從中篩選自己所需的東西還需要一些時間枫甲。

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子想幻,更是在濱河造成了極大的恐慌粱栖,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脏毯,死亡現(xiàn)場離奇詭異闹究,居然都是意外死亡,警方通過查閱死者的電腦和手機食店,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門渣淤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吉嫩,你說我怎么就攤上這事价认。” “怎么了自娩?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵用踩,是天一觀的道長。 經(jīng)常有香客問我忙迁,道長脐彩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任姊扔,我火速辦了婚禮惠奸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘恰梢。我一直安慰自己佛南,他們只是感情好,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布嵌言。 她就那樣靜靜地躺著共虑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呀页。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天拥坛,我揣著相機與錄音蓬蝶,去河邊找鬼。 笑死猜惋,一個胖子當著我的面吹牛丸氛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播著摔,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缓窜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起禾锤,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤私股,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后恩掷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倡鲸,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年黄娘,在試婚紗的時候發(fā)現(xiàn)自己被綠了峭状。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡逼争,死狀恐怖优床,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情誓焦,我是刑警寧澤胆敞,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站罩阵,受9級特大地震影響竿秆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜稿壁,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一幽钢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧傅是,春花似錦匪燕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至书闸,卻和暖如春尼变,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背浆劲。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工嫌术, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牌借。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓度气,卻偏偏與公主長得像,于是被迫代替她去往敵國和親膨报。 傳聞我的和親對象是個殘疾皇子磷籍,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言栅盲,發(fā)作 oo-boon-too 的音汪诉。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,271評論 9 467
  • 一、安裝虛擬機及Ubuntu 虛擬機選擇VirtualBox谈秫,操作系統(tǒng)選擇Ubuntu的server版扒寄。 這兩個軟...
    shohokuooo閱讀 2,532評論 0 50
  • 本文來自個人博客 sunyongfeng.com。博客的文章保持更新拟烫,此文可能不是最新狀態(tài)该编。 Linux開發(fā)環(huán)境常...
    sunnogo閱讀 1,380評論 0 2
  • 臨摹了一幅水彩畫,莊園硕淑。 臨摹的時候沒注意课竣,明暗關(guān)系有的地方好混亂,以后一定要有全局觀置媳,只看局部就會出問題于樟。
    LillianBi閱讀 385評論 0 1
  • 文/婉兮 1 我很少認認真真地寫他,我的丈夫拇囊。 大部分時候迂曲,他都作為故事的點綴,在我的文章里浮光掠影一般輕輕飄過寥袭。...
    婉xi閱讀 3,379評論 34 91