色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 8671|回復: 5
打印 上一主題 下一主題

[提問] 關于FATFS 讀SDHC的問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2010-5-28 15:27:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: FATFS , SDHC
30積分
我在STM32上移植了一個FATFS R0.07c的文件系統(tǒng),一直工作正常,手里的兩個SD卡都沒問題。昨天我買了一個新的SD卡,發(fā)現(xiàn)識別不出來。
檢查一番發(fā)現(xiàn),我的兩張卡,都是2G的,一張V1.1的 ,一張V2.0,而新的是2.0SDHC的。
我在PC機上對這張卡進行了幾次格式化,也是同樣的現(xiàn)象。

我跟蹤代碼發(fā)現(xiàn):返回錯誤的地方在auto_mount 里調(diào)用的 check_fs函數(shù)

if (LD_WORD(&fs->win[BS_55AA]) != 0xAA55){  /* Check record signature (always placed at offset 510 even if the sector size is >512) */
  return 2;
}

這里返回的如果是0xAA55
但現(xiàn)在卻不是
哪位兄弟知道是怎么回事,請告訴一下,謝謝了
----------------------------------------------------------------------------------------------
disk_read(fs->drive, fs->win, sect, 1)

fs->win[BS_55AA];
fs->win[BS_55AA+1];
第一次讀出來的是55AA
第二次就是0000,
這是啥問題呢
----------------------------------------------------------------------------------------------
關于這個問題,到現(xiàn)在為止,我把問題范圍縮小了一些,
文件系統(tǒng)掛載時,先讀第一個扇區(qū)MBR和DPT,這一步,我手頭所有的卡都能得到數(shù)據(jù)。
下一步,文件系統(tǒng)要根據(jù)DPT的第一分區(qū)的一道信息去讀DBR
沒問題的卡,都能都會正確的信息,在510和511位置 為0xAA和0x55
但出問題的SDHC卡,讀回來的就是一個空白的數(shù)據(jù)包

我肯定懷疑DBR的位置不對,
另外2張卡 DBR的地址分別為0x000000F3 和  0x00000087
我兩張出問題的SDHC 卡,DBR的地址都是 0x00002000

卡我都在PC上多次格式化了,拷貝刪除都沒問題。

我對這方面的知識只是一知半解,邊學邊干,哪個同學能看出問題在哪,請多多指教,我會不斷把我的進展添加上來,解決了以后,也能讓后來者看個詳細的過程,少走彎路吧。

沙發(fā)
 樓主| 發(fā)表于 2010-6-2 09:45:55 | 只看該作者
問題已解決,在于SD1.1   SD2.0   SDHC  三種卡的引導區(qū)位置不同,導致讀取的數(shù)據(jù)錯誤。寫驅(qū)動,必須要親自看一遍手冊,我就是圖快,移植的代碼沒有經(jīng)過研究。
板凳
發(fā)表于 2010-6-2 10:12:50 | 只看該作者
解決了就好,可惜沒人能賺到分了。
地板
發(fā)表于 2012-2-12 08:54:38 | 只看該作者
LZ能不能詳細說明下解決方法?
地下室
發(fā)表于 2012-2-12 23:41:51 | 只看該作者
6
發(fā)表于 2012-7-24 17:35:06 | 只看該作者
樓主有sdhc手冊不,上傳一個給我看看
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表