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