linux sd卡读写出错,linux系统SD卡读写问题
請(qǐng)教有過(guò)linux系統(tǒng)SD卡讀寫(xiě)經(jīng)驗(yàn)的前輩。
我的項(xiàng)目是對(duì)FPGA上的SD卡部分做測(cè)試,在測(cè)試過(guò)程中發(fā)現(xiàn)在對(duì)SD卡所有領(lǐng)域進(jìn)行讀寫(xiě)操作時(shí)
1、bus width 選擇1-bit的速度4-bit是差不多的,這與我預(yù)想的不同,想知道問(wèn)題出在哪里?(理論上4bit 速度應(yīng)該是1-bit的4倍,至少也要比1bit快很多)
SD卡設(shè)置:SD總線模式 ,4-bit,single-block,非DMA
軟件用的是:DS-5 debug
測(cè)得寫(xiě)速度:17KByte/sec
讀速度比寫(xiě)速度快很多,這里就忽略了。
PS:??用示波器檢測(cè)到SD卡 4bit 時(shí),4位數(shù)據(jù)線均有波形,說(shuō)明確實(shí)是4位都在傳數(shù)據(jù)了。
2、起初猜測(cè)是不是時(shí)鐘頻率的問(wèn)題
SD卡 CLK頻率開(kāi)始時(shí)設(shè)置為50Mhz,后來(lái)改為12.5Mhz??發(fā)現(xiàn)速度還是沒(méi)變(用示波器檢測(cè)到CLK頻率確實(shí)改變了)
請(qǐng)問(wèn)這是為什么?是程序哪里設(shè)置出了問(wèn)題嗎?
3、還嘗試過(guò)更換SD卡,最開(kāi)始用的是SDHC卡,后來(lái)了個(gè)板子用的microSDHC卡
卡速度也是class4,class10都有,然而速度都并沒(méi)有變。
PPS:本菜鳥(niǎo)在SD卡協(xié)議中看到一個(gè)地覺(jué)得有點(diǎn)關(guān)系,協(xié)議中提到:
{Some cards may require long and unpredictable times to write a block of data. After receiving a block of data and completing the CRC check, the card will begin writing and hold the DAT0 line low if its write buffer is full and unable to accept new data from a new WRITE_BLOCK command.
(有些卡可能會(huì)需要很長(zhǎng)且不可預(yù)料的時(shí)間去寫(xiě)一個(gè)block的數(shù)據(jù)。在接收了一個(gè)block的數(shù)據(jù)并完成
CRC check 后,若 write buffer 已滿,SD卡會(huì)持續(xù)寫(xiě)操作并使DAT0保持低電平,不能接收新的WRITE_BLOCK 命令。)}
這個(gè)是不是跟寫(xiě)速度很慢有關(guān)系呢?buffer這個(gè)問(wèn)題怎么解決呢?清除或者更改buffer size?
PPPS:已經(jīng)在資料中了解到multiple block寫(xiě)入會(huì)比single要快,DMA模式比非DMA要快。
我的問(wèn)題主要是為什么1bit 4bit 寫(xiě)速度是一樣的,不是單純的想提高寫(xiě)速度~
坐等解答!本菜鳥(niǎo)在網(wǎng)上能搜的不能搜到的地方都搜過(guò)了??催^(guò) 有人的問(wèn)題跟我的一毛一樣。然而并沒(méi)人有回答。
今天將class 10??和class 4 的速度重新測(cè)了一下,發(fā)現(xiàn)class 10??比class 4??稍微快了一些。
速度(包括讀寫(xiě)):class 4??183KByte/sec
class 10??240KByte/sec
好吧 我只是頂下帖子。
我在測(cè)速度的時(shí)候有兩種方法,一種是online 用DS-5 debug??另一種是把程序?qū)戇M(jìn)SD卡里,在linux終端測(cè)試
發(fā)現(xiàn)終端的速度比online快好多。2樓就是用終端的速度。
下午的時(shí)候測(cè)了一下只讀和只寫(xiě),發(fā)現(xiàn)速度是一樣的,都是240KB/sec,跟讀寫(xiě)速度一樣快!我要瘋了。
唔,之前程序出了問(wèn)題,所以讀和寫(xiě)的速度都不太對(duì),現(xiàn)在測(cè)出來(lái)讀大概3MB/sec ,寫(xiě)大概700KB/sec。
1bit,4bit,速度還是沒(méi)啥差別。
求大神指點(diǎn)!
唉 小編問(wèn)一下數(shù)碼管的掃描頻率是多少的?
總結(jié)
以上是生活随笔為你收集整理的linux sd卡读写出错,linux系统SD卡读写问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: pandas mysql index_P
- 下一篇: linux将日期和日历信息追加到文件中_