久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11299|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

一個(gè)關(guān)于SD卡讀寫超時(shí)的話題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2016-10-20 13:08 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
在基于STM32 MCU的應(yīng)用開發(fā)中,經(jīng)常會有人用到SD卡。有人發(fā)現(xiàn)在對SD卡進(jìn)行讀寫時(shí),偶爾會遇到SD卡讀寫失敗的情況。尤其是單獨(dú)對SD卡進(jìn)行讀寫正常、或者非多任務(wù)環(huán)境下運(yùn)行正常,而當(dāng)SD讀寫跟其它程序代碼混在一起或在多任務(wù)環(huán)境下運(yùn)行時(shí)就容易發(fā)生異常。比方如下情形:


1、使用STM32F4SDIO,用CubeMX配置。用polling模式的時(shí)候,出現(xiàn)SD卡寫的時(shí)候卡死的情況。后來用DMA模式就好了。


2STM32F746DISCO開發(fā)板和官方1.3.0例程基礎(chǔ)上使用了FreeRTOS系統(tǒng),改為DMA傳輸后還是不穩(wěn)定。后來把SDIO相關(guān)的中斷優(yōu)先級別調(diào)高,SDIO中斷設(shè)為3DMA發(fā)送和接收的調(diào)為4,比FreeRTOS的系統(tǒng)用戶級別高,解決問題。


3、在FreeRTOS+FatFs+STM32F429的基礎(chǔ)上。
A.單個(gè)任務(wù)操作,SD卡讀寫沒有問題
B.多個(gè)任務(wù),SD卡和U盤兩個(gè)任務(wù),優(yōu)先級別一樣,SD卡無法讀寫,U盤可以讀寫,調(diào)中斷級別,調(diào)整堆棧大小都沒有用。
C.還是多任務(wù),SD卡和U盤兩個(gè)任務(wù),甚至更多任務(wù),只要把SD卡任務(wù)的優(yōu)先級別調(diào)為最高,則SD卡,U盤讀寫都正常。


4、使用STM32官方SDIOSD CARD驅(qū)動的時(shí)候,單任務(wù)的時(shí)候沒有出現(xiàn)錯(cuò)誤,使用多任務(wù)的時(shí)候經(jīng)常出現(xiàn)問題,表現(xiàn)為讀取文件的時(shí)候沒有問題,經(jīng)常點(diǎn)擊屏幕的時(shí)候就會出問題,最后通過仿真找到出錯(cuò)點(diǎn)就是讀取數(shù)據(jù)向SD卡發(fā)送CD17命令時(shí)出現(xiàn)SD_RX_OVERRUN這個(gè)錯(cuò)誤,產(chǎn)生原因?yàn)樽x取FIFO溢出. 通過仿真與測試發(fā)現(xiàn)問題主要出現(xiàn)在讀取過程中不能打斷。
在兩個(gè)讀取函數(shù)里面SD_ErrorSD_ReadMultiBlocks(u32 addr, u32 *readbuff, u16 BlockSize, u32NumberOfBlocks);SD_Error SD_ReadBlock(u32 addr, u32 *readbuff, u16BlockSize); 加上臨界保護(hù)可以消除問題。同樣寫操作的時(shí)候也一樣需要加臨界保護(hù)。

以上羅列的情形,根本上講因?yàn)?/font>SD卡讀寫過程中發(fā)生了超時(shí)錯(cuò)誤導(dǎo)致讀寫異常。應(yīng)對措施視具體應(yīng)用要求可能有所差異,最終目的都是為了避免SD卡讀寫過程中的超時(shí)錯(cuò)誤。比如將查詢模式改為DMA模式、調(diào)整相關(guān)SD卡讀寫過程中所涉及中斷的優(yōu)先級、提升SD卡讀寫任務(wù)的優(yōu)先級、將SD卡讀寫程序放在臨界保護(hù)區(qū)運(yùn)行或者在讀寫SD卡操作時(shí)關(guān)閉中斷等。


我們可以從SD卡相關(guān)協(xié)議得知,在對SD卡進(jìn)行讀寫操作時(shí)是有超時(shí)保護(hù)及約束機(jī)制的。對于標(biāo)準(zhǔn)卡和高容量卡的讀寫超時(shí)定義還有所差異。細(xì)節(jié)請參考SD卡相關(guān)規(guī)格書。SD Specifications ----Physical Layer Simplified Specification




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:152188 發(fā)表于 2017-8-24 21:44 | 只看該作者
謝謝分享,最近也在調(diào)試sdcard!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:371527 發(fā)表于 2019-1-30 09:16 | 只看該作者
數(shù)據(jù)分段存儲,每段喂狗,每段寫入時(shí)間小于看門狗最大計(jì)時(shí)時(shí)間
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: www.17c.com喷水少妇 | 亚洲区一区二 | 四虎影视av | 欧美日韩精品在线 | 黄色成人av| 日韩福利视频 | 伊人网在线播放 | 四虎四虎 | 日本aaaa| 超碰在线观看97 | 色婷婷香蕉在线一区二区 | 91精品国产99久久久久久红楼 | 国内自拍xxxx18 | 亚洲欧美精品一区二区 | 欧美日韩在线一区二区三区 | 婷婷99| 久久精品久久精品 | 久久都是精品 | 亚洲精品一区二区三区精华液 | 9999精品视频 | 四虎4hu永久免费网站影院 | 日日干日日射 | 老司机免费福利视频 | 国产免费91 | 久久爱综合| www.日韩在线| 91伊人| 国产精品免费一区二区三区 | 欧美福利视频 | 久久视频一区二区 | 亚洲激情久久 | 成人一级黄色片 | 国产性生活 | 天天操夜夜爽 | 狠狠干狠狠插 | 国产精品一区二区三 | 亚洲国产成人精品女人久久久 | 成人免费激情视频 | 三级黄色| 日韩精品极品 | 国产极品国产极品 |