這里面的根目錄下的 sdb1 就是我們 U 盤或者 TF 卡的設備,它掛載到了 /run/media/sdb1 這個路徑上大家也可以把我們的U盤或者 TF卡拔下來對比下,然后我們進到這個路徑,直接使用 cd /run/media/sdb1 我們就可以看到 hello 這個可執行文件了,如下圖所示。![]() 我們可以直接使用 cp 命令把它拷貝到開發板 opt 目錄下,輸入 cp hello /opt 然后我們進到根目錄的opt 目錄下,輸入 cd /opt 我們可以運行下 hello 這個可執行文件,我們先給他改下權限,改成 777 輸入chmod 777 hello ,我們運行下./hello,這樣他就打印了 hello world! 如下圖所示。 ![]() 因為我這里給開發板燒寫的是 yocto 的文件系統,yocto 文件系統是自動掛載 U 盤和 TF 卡的。什么是自動掛載呢,自動掛載就是不用再手動使用命令把我們的 U 盤或者是 TF 卡掛載到我們的掛載點上,即自動幫你完成掛載到 /run/media/sdb1 這個路徑上,但是有的文件系統不會自動幫你掛載,比如說 busyboxy 、buildroot 默認是不會幫你自動掛載的,我們就可以手動先來掛載下,我把開發板的文件系統燒寫成 busybox文件系統,燒寫過程就不給大家演示了,然后我們再來看下,我們要怎么使用命令來掛載。我現在給開發板燒寫好了 busybox 文件系統,然后我插上 U 盤,插上 U 盤之后,他會彈出來一些打印信息,我們可以通過這個打印信息就可以知道識別出來的是 dev 下邊的哪個設備,他這里識別的是 sdb1 。如下圖所示。 ![]() 然后我使用 df 命令,下面是沒有自動掛載我們 dev 下邊 sdb1 設備的,如下圖所示。 ![]() 這時候我們就要使用手動掛載,手動掛載我們使用的是 mount 命令,我們輸入這個命令 , mount 設備名稱 掛載點 , 設備的名稱是 dev 下邊的 sdb1 , 我們把它掛載到 mnt 路徑,也就是我們的掛載點是 mnt ,如下圖所示。 ![]() mount /dev/sdb1 /mnt mnt 的作用我們在之前 fsh 規范的時候已經講過了,然后我們再使用 df 命令,我們再來查看下,這里就多了一個設備,如下圖所示。 ![]() 然后它掛載到了 mnt 上,然后我們進到 mnt 這個命令,ls 看一下,這里面就有 hello 這個可執行程序,如下圖所示。 ![]() 所以說這個目錄下就是我們 U 盤的目錄,我們可以把 hello 拷貝到開發板上,我們把它拷貝到根目錄下,然后我們來運行下也是沒有問題的,如下圖所示。 ![]() 有的文件系統是不會給你彈出來打印信息的,這時候我們要怎么確定他識別出來的是 dev 下邊哪個設備呢,比如說 ubuntu 你插上 U 盤之后,他是沒有打印信息的,這時候就不知道是 sda1 還是 sdb1 ,我們可以使用 cat 命令查看下準確信息,我們直接使用這個命令,他下邊的 sdb1 就是我們的 U 盤,如下圖所示。 ![]() 我們可以拔掉 U 盤,然后我們再來查看下,他就沒有這個 sdb1 了,所以說這個分區信息就是 U 盤的,如下圖所示。 ![]() 然后我們在插上他。我們這里 TF 卡連接到開發板也使用讀卡器連接的 連接好了之后,第一步先使用 df 命令查看下我們當前的文件系統是不是自動掛載的 U 盤或者 TF 卡,如果不是自動掛載的,我們要用 mount 命令來掛載一下。如下圖所示。 ![]() mount 命令格式 : mount 設備名稱 掛載點 使用 mount 命令我們要先確定我們的設備名稱,這個設備名稱就是 dev 下邊的 sdb1 ,mnt 是掛載點mount /dev/sdb1 /mnt ![]() 設備名稱的確定我們可以通過打印信息來查看,如果插上沒有打印信息,我們可以使用 cat 命令來查看下分區信息,輸入 cat /proc/partitions ![]() 如果我們的 U 盤或者 TF 卡時自動掛載的,我們接下來直接訪問就可以了。 我們要怎么卸載呢,我們使用的是 umount 命令, 卸載命令:umount 命令 格式:umount 掛載點 我現在卸載掉 U 盤掛載的 mnt 這個掛載點,我們直接輸入 umount ,后邊跟我們的掛載點就可以了,我們輸入 umount /mnt ![]() 卸載后,我們來查看下,這里就沒有我們 dev/sda1 掛載的 mnt 這個掛載點了,如下圖所示。 ![]() TF 卡直接和卡座連接 開發板上也預留了 TF 卡座子給大家,我們可以不使用讀卡器和開發板連接,直接把 TF 插到我們的開發板 TF 卡座子上,如下圖所示。剛剛我已經把 U 盤拔下來了,作者現在把 TF 卡插到這個座子 ![]() 然后我們看下,我們在超級終端就打印出了我們插上 TF 卡之后的打印信息。如下圖所示。 ![]() 我們按照剛剛學到的,我們第一步要判斷下他有沒有給我們自動掛載,使用 df 命令,顯然他這里是沒有給我們自動掛載的。如下圖所示。 ![]() 我就要使用 mount 命令手動掛載一下,我先要確定我設備的名稱,設備的名稱我這里可以通過打印信息來確定,他這里打印的是 mmcblk0:p1 ,如下圖所示。 ![]() 我們使用 mount /dev/mmcblk0p1 /mnt 然后在使用 df 命令來查看下,我們 TF 卡就掛載到了 mnt 這個掛載點,我們使用 cd /mnt 直接訪問就可以了,ls 看到 TF 卡里的信息,這個是 TF 卡自帶的一個文件和 hello文件,如下圖所示。 ![]() 使用 U 盤或者 TF 卡拷貝文件到開發板上,我們一般是在開發板沒有預留出網口等其他接口的時候,我們使用這個辦法來拷貝,因為比較麻煩。 我們來總結下,第一步要保證 U 盤或者 TF 卡的格式為 FAT32 格式,我們把文件或者是程序拷貝到 U盤或者 TF 卡之后,連接到開發板上,連接好之后我們要先確定我們的開發板上有沒有自動掛載,使用 df命令來查看,如果他是自動掛載的,我們直接訪問掛載的路徑就可以了,如果不是自動掛載的,我們要使用 mount 命令手動掛載,使用 mount 命令我們要確定設備的名稱,確定設備的名稱我們可以通過打印信息來確定,如果沒有打印信息,我們可以通過查看分區信息命令來確定,然后我們手動掛載上之后就可以直接訪問我們的掛載點也就是訪問我們的 U 盤或者 TF 卡了,這個思路并不難,大家可以自己體驗下。 ![]() |