<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x
    查看: 9382|回復: 10
    打印 上一主題 下一主題

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

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

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

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

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

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

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

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

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

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

    本版積分規則

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷