在mtk6223的軟t卡上實現對sdhc卡的讀寫

2021-07-02 03:45:08 字數 711 閱讀 2752

公司目前專案軟t卡功能只支援2g以下的t卡。但聽說有的廠家已經實現了對2g以上sdhc卡的讀寫。於是想嘗試看能不能通過修改**的方式實現對sdhc卡的讀寫。上網搜尋了下相關知識。普通的t卡和sdhc卡的區別主要有以下幾點:

1.在對t卡復位後,如果要實現對sdhc卡的讀寫操作,必須要先發出cmd8命令cmd8=  ;

2.其後對卡進行啟用操作時,所發出的cmd1命令也有區別cmd1=;否則可能導致在啟用sdhc卡時失敗.

3.獲取卡的容量大小時,通過讀取csd引數從而計算出卡的容量大小,在這裡普通t卡與sdhc卡也不相同,在此簡單列出sdhc的block容量計算方法:

c_size = csdbuf[7]&0x3f;

c_size <<= 8;

c_size |= csdbuf[8];

c_size <<= 8;

c_size |= csdbuf[9];

c_size++;

gspisd_handle->sds.block_num =c_size*1024;

4.在readsectors和writesector時,sdhc卡和普通的卡傳遞的命令位址引數也是不相同的,普通的t卡的位址引數是sector * 512,而sdhc直接傳遞sector 即可.

根據以上列出的4點,在**中做了相應的修改,除錯了一下,順利實現了對金士頓的4gt卡的讀寫.當然,如果要達到量產要求,還得做更多的修改完善.

在輸出中的 t

t為轉義字元,為水平製表符,意思是橫條到下乙個單元格的位置,ascii碼值為009 在idea中將tab設定為 t的方法如下 settings code style other file types scheme下拉為project。將use tab character前面勾選即可 最近,在輸出的時...

在MTK平台下如何去建立自己的任務

mtk平台是非常優秀的乙個平台,曾經的山寨機之父,下面我將介紹下在mtk平台下如何去建立自己的任務。一 基礎知識 在學習如何建立任務之前,我們需要了解一些基本概念,以及一些和任務相關的資料結構,了解了這些之後,我們就能更好的理解如何去建立任務了。mtk中關於任務的概念有兩個,乙個是task,另外乙個...

在中軟的工作發展目標

來中軟的第9天,在此梳理一下工作目的和期望收穫 一 架構師方向 1.學習現有的架構核心 2.研究構建工具原理和表單生成器的原理 3.gis方向的開發與應用的了解 4.學習移動終端的開發 5.學習部署linux和unix伺服器以及相關工具 二 設計師方向 1.在專案中所應用到的uml建模設計 2.資料...