讓linux2 6 18支援4G的SD卡

2021-06-16 08:30:32 字數 896 閱讀 8039

linux-2.6.20.x 以上版本對sd卡有較好支援,可以支援1.0及2.0 sd卡的協議,所以linux2.6.2x 以上的版本都支援大容量(>=4g)的sd卡,而linux-2.6.1x 對sd卡的支援只能到 2g,大於2g的sd就無法識別.

傳送cmd8,檢查卡是否sd2.0。sd1.1是不支援cmd8的,因此在sd2.0 spec中提出了先傳送cmd8,如響應為無效命令,則卡為sd1.1,否則就是sd2.0(請參考sd2.0 spec)。cmd8在sd1.1上是沒有的.

在 mmc.c 檔案中主要加入了這兩個函式:

mmc_read_switch_caps(host);

mmc_process_ext_csds(host);

在讀大容量的sd卡時用到

將linux-2.6.2x 以上版本sd卡的驅動植入 linux-2.6.18中,插入sd卡,檢測容量及一些相關資訊沒有問題,但mount sd卡時有錯誤,提示 kernel debug error driver/mmc/mmc.c 111!

bug_on(mrq->data->blksz > host->max_blk_size);

bug_on(mrq->data->blocks > host->max_blk_count);

bug_on(mrq->data->blocks * mrq->data->blksz > host->max_req_size);

遮蔽掉上面3行語句.問題解決!

但第二次插入sd卡時就沒有任何反應!肯定是 remove 的時候出了問題,將 mmc_block.c檔案中mmc_blk_remove 函式中的

mmc_cleanup_queue(&md->queue);

去掉,加入以下一行:

md->disk->queue = null;

sd卡的問題解決

win (32位)支援4G記憶體

現在很多電腦的記憶體都能夠達到4g了,但如果安裝的是win7 32位作業系統,那麼預設情況下,4g記憶體無法全部使用。可以通過如下步驟使之支援4g記憶體 2 然後執行剛才解壓的 addbootmenu.cmd,在dos命令提示符下輸入 y,回車。3 然後在 我的電腦 右鍵 屬性 左上角 高階系統設定...

讓RH AS 4支援NTFS檔案系統

1 獲取正確的rpm 登入 http www.linux ntfs.org 在左側欄 redhat and fedora 段中,選擇help and information instructions rpm ihv kernel module ntfs 2.6.9 11.el 2.1.20 0.rr...

讓 UV4 支援STC 微控制器

keil 本身並沒有自帶 stc 8051 微控制器的資料,這樣用起來就非常令人不爽,好在國內有個青年已經整理了乙個補丁。這個補丁包含三個修正 ok,就一般應用來說這個補丁已經足夠了,但是對於追求完美的人來說還略有不足,因為這個補丁會覆蓋掉uv4自帶的器件資料庫uv4.cdb。打上補丁就丟失了最新的...