ARM Linux判斷SD卡是否載入成功

2021-08-14 07:38:28 字數 852 閱讀 8818

1.寫在前面

arm-linux在訪問sd卡資料時,嚴格的步驟,第一步應該是檢查sd卡是否被系統成功載入。當然,缺少這一步也不影響,從後面應用層訪問操作的返回值也可知道操作狀態,但如果在第一部就有檢查時,出現問題可以立刻發現。

2.判斷sd卡載入狀態

1)通過「sdcard」資料夾

linux下如果載入sd卡成功,在根目錄下會生成乙個「sdcard」資料夾,sd卡的內容,及使用者訪問資料,都通過這個資料夾。因此使用者可以掃瞄根目錄下,「sdcard」資料夾是否存在,來判斷sd卡是否載入成功。但,也會有個別情況,比如有時候sd卡已經解除安裝了,應用層端未及時響應(這個有可能是我這麼linux系統移植的問題),此時「sdcard」資料夾仍然存在,但可以肯定的是,訪問該資料夾會導致異常。

2)通過sd卡裝置

另外一種可靠的辦法是,檢查sd卡裝置。linux的思維是「一切皆檔案」,外設驅動成功載入時,會在裝置驅動資料夾(「/dev」)下生成相應的裝置檔案,如我這邊的linux成功載入sd卡時,在「/dev」下識別為「mmcblk0」裝置。

這樣通過「mmcblk0」裝置是否存在即可實現我們的目的。

「檢查檔案是否存在」是我們的目的,至於實現方式有很多種:

—shell指令碼;

—c語言用access函式;

—c語言用open函式。

採用第三種方式,檔案存在時,返回成功狀態,否則檔案不存在,簡單明瞭!

int check_sd()

3.參考[1]  

[2]  

Android 判斷SD卡是否存在及容量查詢

android 判斷sd卡是否存在及容量查詢的簡單方法如下 首先要在androidmanifest.xml中增加sd卡訪問許可權 uses permission android name android.permission.mount unmount filesystems uses permis...

Android 判斷SD卡是否存在及容量查詢

android 判斷sd卡是否存在及容量查詢的簡單方法如下 首先要在androidmanifest.xml中增加sd卡訪問許可權 uses permission android name android.permission.mount unmount filesystems uses permis...

Android 判斷SD卡是否存在及容量查詢

android 判斷sd卡是否存在及容量查詢的簡單方法如下 首先要在androidmanifest.xml中增加sd卡訪問許可權 sd卡是否存在 private boolean existsdcard else return false sd卡剩餘空間 public long getsdfreesi...