查看: 9341|回復: 10
打印 上一主題 下一主題

[提問(wèn)] 一個(gè)關(guān)于FATFS 讀SDHC的問(wèn)題

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

我跟蹤代碼發(fā)現:返回錯誤的地方在auto_mount 里調用的 check_fs函數

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
但現在卻不是
哪位兄弟知道是怎么回事,請告訴一下,謝謝了
沙發(fā)
 樓主| 發(fā)表于 2010-5-28 10:10:42 | 只看該作者
disk_read(fs->drive, fs->win, sect, 1)

fs->win[BS_55AA];
fs->win[BS_55AA+1];
第一次讀出來(lái)的是55AA
第二次就是0000,
這是啥問(wèn)題呢
板凳
發(fā)表于 2010-5-28 11:19:56 | 只看該作者
玩過(guò)fatfs  這個(gè)問(wèn)題還真沒(méi)有碰到過(guò)
地板
發(fā)表于 2010-5-28 15:09:47 | 只看該作者
樓主如果發(fā)帖子的時(shí)候把分類(lèi)選為“提問(wèn)”,那么此帖就顯示在最新100貼頂端,大家就都能看到了。(這個(gè)我幫你做了)

如果在加上懸賞分,那大家都搶著(zhù)回答你的問(wèn)題了(發(fā)懸賞貼的話(huà)系統會(huì )獎勵你分數,所以不必擔心自己被扣分,自己還能落下點(diǎn))

地下室
 樓主| 發(fā)表于 2010-5-28 15:21:06 | 只看該作者
謝謝版主,我第一次提問(wèn),不懂啊。
關(guān)于這個(gè)問(wèn)題,到現在為止,我把問(wèn)題范圍縮小了一些,
文件系統掛載時(shí),先讀第一個(gè)扇區MBR和DPT,這一步,我手頭所有的卡都能得到數據。
下一步,文件系統要根據DPT的第一分區的一道信息去讀DBR
沒(méi)問(wèn)題的卡,都能都會(huì )正確的信息,在510和511位置 為0xAA和0x55
但出問(wèn)題的SDHC卡,讀回來(lái)的就是一個(gè)空白的數據包

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

卡我都在PC上多次格式化了,拷貝刪除都沒(méi)問(wèn)題。

我對這方面的知識只是一知半解,邊學(xué)邊干,哪個(gè)同學(xué)能看出問(wèn)題在哪,請多多指教,我會(huì )不斷把我的進(jìn)展添加上來(lái),也能讓后來(lái)者少走彎路吧。
6
發(fā)表于 2010-5-29 19:46:33 | 只看該作者
謝謝學(xué)
7
發(fā)表于 2010-5-29 19:46:54 | 只看該作者
要好好學(xué)習
8
發(fā)表于 2010-5-29 19:54:10 | 只看該作者
要好好學(xué)習
9
發(fā)表于 2010-5-29 19:54:53 | 只看該作者
要好好學(xué)習
10
 樓主| 發(fā)表于 2010-6-4 11:26:05 | 只看該作者
問(wèn)題已解決,在于SD1.1   SD2.0   SDHC  三種卡的引導區位置不同,導致讀取的數據錯誤。寫(xiě)驅動(dòng),必須要親自看一遍手冊,我就是圖快,移植的代碼沒(méi)有經(jīng)過(guò)研究。
11
發(fā)表于 2010-11-19 20:21:37 | 只看該作者
回復10樓chichu9825

我也碰到同樣的問(wèn)題,樓主能詳細的介紹一下解決的思路嗎?
謝謝謝謝!
12
發(fā)表于 2012-9-4 14:02:39 | 只看該作者
我最近在移植到FATFS到NAND FLASH上,發(fā)現這個(gè)0XAA55是什么時(shí)候寫(xiě)進(jìn)去的?跟SD卡還是有很大不同,不知道哪位仁兄移植成功的,可否分享一下心得!謝謝,我QQ:34224308。
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页