硬件平臺(tái):迅為RK3568開發(fā)板
轉(zhuǎn)自:【北京迅為】嵌入式linux開發(fā)指南_v1.0(itop-rk3568)
之前我們已經(jīng)學(xué)習(xí)了怎么在 ubuntu 和 win 上互傳文件,那么怎么把 ubuntu 或 win 上的程序拷貝到開發(fā)板呢,這里給大家介紹第一種方法,使用 U 盤或者 TF 卡來完成,如果大家使用的是 U 盤,那么大家直接把 U 盤插到電腦上就可以了,如果大家使用的是 TF 卡,那么大家要把 TF 卡連接到讀卡器上,然后把讀卡器插到電腦,其他的操作方法都是一樣的,我就不給大家做區(qū)分了,我現(xiàn)在把 U 盤插到電腦上。
步驟一:保證 U 盤或者 TF 卡的格式為 FAT32 格式,TF 卡要用讀卡器和電腦相連。
我們要檢查 U 盤或者 TF 卡是不是 FAT32 格式的,打開我的電腦,然后找到識(shí)別出來的 U 盤或 TF 卡的盤符,點(diǎn)擊右鍵,選擇屬性,我們可以看到文件系統(tǒng) FAT32 ,就是文件系統(tǒng)的類型,這里我們要使用 FAT32 格式,不能使用其他格式
如果大家的格式不是這個(gè),可以格式化一下,選中 U 盤或者 TF 卡,點(diǎn)擊右鍵,選擇格式化,文件系統(tǒng) 這里選擇默認(rèn)的 FAT32 格式,然后點(diǎn)擊開始。
我們格式化之前要保證 U 盤或 TF 卡里面沒有重要的東西,因?yàn)楦袷交炅?,里面的東西就全部沒有了, 如果大家之前的 U 盤或者 TF 卡分成了好幾個(gè)區(qū),就要先把它變成一個(gè)區(qū)然后在格式化。
我們 TF 卡使用讀卡器和電腦相連,然后我們虛擬機(jī) VM 軟件識(shí)別出來的就是 U 盤而不是 TF 卡,如果 你直接插 TF 卡,那么虛擬機(jī)軟件可能會(huì)識(shí)別不出來,所以要用讀卡器和電腦相連,把 win 上的文件或程序拷貝到 TF 卡。
步驟二:把 U 盤或者 TF 卡連接到 VM 軟件上,然后使用 df 命令確定掛載的路徑。
我們要怎么把 ubuntu 上的文件拷貝到 U 盤或者 TF 卡呢。
第一步,我們要把 U 盤或者 TF 卡連接到虛擬機(jī) VM,我們可以點(diǎn)擊 VM 里虛擬機(jī)這個(gè)選項(xiàng),選擇可移 動(dòng)設(shè)備,然后選擇 Unknown Mass Storage ,連接(斷開與主機(jī)的連接),()里是斷開與主機(jī)的連接,這 就是說我們選上這個(gè)選項(xiàng)之后,他會(huì)把我們的 U 盤或者 TF 卡與 win 電腦連接斷開,然后把它們連接到 ubuntu 上,我們點(diǎn)一下,連接成功以后,我們 ubuntu 會(huì)彈出來 U 盤或者 TF 卡里面的存儲(chǔ)的界面。如下圖所示。
彈出這個(gè)界面就說明我們已經(jīng)連接成功了,點(diǎn)擊左上角的 x 關(guān)掉這個(gè)界面,把 ubuntu 里面的程序或者 文件拷貝到 TF 卡,我們就可以使用 df 命令查看我們 U 盤或者 TF 卡掛載到了 Ubuntu 哪個(gè)目錄上,我先把 U 盤斷開,我們點(diǎn)擊可移動(dòng)設(shè)備,然后斷開連接。如下圖所示。
現(xiàn)在我的 win 電腦已經(jīng)識(shí)別了 U 盤,說明他已經(jīng)從虛擬機(jī)里面斷開了,然后我輸入 df 命令。如下圖 所示。接著我再把我的 U 盤連接到我的虛擬機(jī)軟件里,連接成功之后,我再輸入 df 命令。如下圖所示。
我們對(duì)比下這兩個(gè) df 命令的輸出結(jié)果,我們第二次輸入 df 命令 ,這里多了個(gè) /dev/sda1 的設(shè)備, 那么這個(gè)設(shè)備就是 U 盤或者 TF 卡,我們第一次沒有連接 U 盤或者 TF 卡的時(shí)候是沒有這個(gè)設(shè)備的,如下圖所示。
設(shè)備掛載到了 mounted on 這個(gè)掛載點(diǎn),它掛載到了這個(gè)路徑上,我們直接可以使用 cd 命令進(jìn)到這個(gè)路徑。然后我們 ls 看下,
這個(gè)路徑下面就是我們的 U 盤或者 TF 卡里面的文件列表,我們的內(nèi)容都可以在這個(gè)路徑下看到,我們 可以來試一下,我現(xiàn)在再打開一個(gè)控制臺(tái),我們還是使用之前的 hello.c 作為例子,我們使用交叉編譯器來 編譯這個(gè) .c 文件,因?yàn)檫@個(gè)可執(zhí)行文件是要在開發(fā)板運(yùn)行的,所以我們這里要使用交叉編譯器,輸入export PATH=/usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin:$PATH
aarch64-linux-gnu-gcc hello.c -o hello
file hello 可以看到是在 arm 運(yùn)行的,
然后我們把這個(gè)可執(zhí)行文件拷貝到 U 盤或者 TF 卡上,直接使用 cp 命令,如下圖所示。
這就是我們的路徑,把它復(fù)制過來,然后我們?cè)賮砜聪?,拷貝成功,如下圖所示。
我們已經(jīng)把 hello 這個(gè)可執(zhí)行文件拷貝到我們的 U 盤上了,然后我們斷開連接,我們把它連接 win 電腦上,我們打開看一下,這里面就多了個(gè) hello 的可執(zhí)行程序。
步驟三:把 U 盤或 TF 卡連接到開發(fā)板,TF 卡使用讀卡器和開發(fā)板連接
接著就可以把 U 盤或者 TF 卡拔下來連接到開發(fā)板上了。我們先給開發(fā)板上電,連接好超級(jí)終端,這里作者已經(jīng)連接好了,然后我們啟動(dòng)開發(fā)板,現(xiàn)在把 U 盤從電腦上拔下來,我們等待系統(tǒng)啟動(dòng)成功。系統(tǒng)啟動(dòng)成功之后我們就可以把 U 盤或者 TF 卡連接到 TF 上了,
作者開發(fā)板的啟動(dòng)是最小 Linux 文件系統(tǒng),我現(xiàn)在把 U 盤插到開發(fā)板上,插好了之后我們開發(fā)板會(huì)彈出來一些打印信息,這個(gè)是正常的。我們可以看到識(shí)別出的是 sda(注意,這里大家要以實(shí)際情況為準(zhǔn),有可能識(shí)別出來的是 sda1,sdb 等等)然后我們用
我們要怎么訪問我們的 U 盤或者 TF 卡呢,我們的 qt 系統(tǒng)和最小系統(tǒng)是支持熱插拔的在上面的信息中, 可以看到該設(shè)備被掛載到了 /media/usb0/目錄下。我們進(jìn)入/media/usb0/目錄下,就可以看到我們 U 盤或 者 TF 卡的內(nèi)容,我們就可以看到 hello 這個(gè)可執(zhí)行文件了,
我們運(yùn)行下./hello,這樣他就打印了 hello world! 如下圖所示。
命令解析:
掛載我們使用的是 mount 命令 命令格式:mount 設(shè)備名稱 掛載點(diǎn) , 如設(shè)備的名稱是 dev 下邊的 sda(一定要以識(shí)別出來的為準(zhǔn)) ,我們把它掛載到 mnt 路徑,也就是 我們的掛載點(diǎn)是 mnt mount /dev/sda /mnt 我們要怎么卸載呢,卸載使用的是 umount 命令, 格式:umount 掛載點(diǎn) 我現(xiàn)在卸載掉 U 盤掛載的 mnt 這個(gè)掛載點(diǎn),我們直接輸入 umount ,后邊跟我們的掛載點(diǎn)就可以了, 我們輸入 umount /mnt 如下圖所示
我們來總結(jié)和擴(kuò)展下,使用 U 盤或者 TF 卡拷貝文件到開發(fā)板上,我們一般是在開發(fā)板沒有預(yù)留出網(wǎng)口等其他接口的時(shí)候,我們使用這個(gè)辦法來拷貝,因?yàn)楸容^麻煩。
第一步要保證 U 盤或者 TF 卡的格式為 FAT32 格式,我們把文件或者是程序拷貝到 U 盤或者 TF 卡之后, 連接到開發(fā)板上,連接好之后我們要先確定我們的開發(fā)板上有沒有自動(dòng)掛載,使用 df 命令來查看,如果他 是自動(dòng)掛載的,我們直接訪問掛載的路徑就可以了,如果不是自動(dòng)掛載的(如本章的實(shí)驗(yàn)不是自動(dòng)掛載的),我們要使用 mount 命令手動(dòng)掛載,使用 mount 命令我們要確定設(shè)備的名稱,確定設(shè)備的名稱我們可以通過打印信息來確定,如果沒有打印信息,我們可以通過查看分區(qū)信息命令來確定(如 cat /proc/partitions),然后我們手動(dòng)掛載上之后就可以直接訪問我們的掛載點(diǎn)也就是訪問我們的 U 盤或者 TF 卡了,這個(gè)思路并不難,大家可以自己體驗(yàn)下。
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97471
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論