音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

用LPC2148開發(fā)mass storage device的問題

作者:openegg 欄目:ARM技術(shù)
LPC2148開發(fā)mass storage DEVICE的問題
最近在做一個(gè)基于2148的usb存儲(chǔ)類的東西,因?yàn)楣δ鼙容^單一,小弟也剛接觸arm和usb,所以想學(xué)習(xí)一下,沒有全部移植例程,Bulk-only協(xié)議部分是自己寫的,2148底層的部分還是用的zlg的源碼。前些天已經(jīng)調(diào)通了scsi命令的read10命令,這兩天調(diào)write10的時(shí)候卡住了,具體是這樣,我收到了PC發(fā)出的write10命令的CBW,但后來bulk-out endpoint就沒有數(shù)據(jù)發(fā)過來了,我覺得是不是應(yīng)該向PC發(fā)一個(gè)確認(rèn)信號(hào)呢?如果是這樣應(yīng)該怎么發(fā)送?可是read10命令沒有這種情況呀,收到read10的CBW后直接從bulk-in endpoint向PC發(fā)數(shù)據(jù)就可以了。百思不得其解,請(qǐng)求各位大蝦的幫助。


2樓: >>參與討論
anyusb
keil大叔給你做了一個(gè),你不用嗎?
 
3樓: >>參與討論
openegg
謝謝
我參考過keil的代碼,沒看出和我的差別在哪里。樓上的大蝦可否指點(diǎn)一下。多謝!

4樓: >>參與討論
liwenz
keil的只是讀寫ram而已,有讀寫sd的嗎?
我在找keil的讀寫sd的文件系統(tǒng)的代碼,
目前用的是zlg/fs

5樓: >>參與討論
eleven11
那只是一個(gè)驅(qū)動(dòng)啊
編寫一個(gè)驅(qū)動(dòng)就可以了,只要能和fs兼容,就好像yaffs作者發(fā)表的時(shí)候是針對(duì)nandflash的,但你也可以編寫norflash的驅(qū)動(dòng),使他的格式兼容nandflash的,就可以把yaffs用在norflash上了

6樓: >>參與討論
openegg
小u盤
我把2148的片內(nèi)FLASH中的一部分當(dāng)作文件的存儲(chǔ)空間,只存很小的文件。我就用的zlg的底層的東西做的,現(xiàn)在就是不知道PC在發(fā)來write命令的CBW后應(yīng)該怎么做才能讓PC繼續(xù)發(fā)數(shù)據(jù)過來

7樓: >>參與討論
openegg
這是用bushound捕獲的數(shù)據(jù),請(qǐng)高手分析一下
 

8樓: >>參與討論
computer00
超時(shí)了。DO之后主機(jī)應(yīng)該會(huì)再發(fā)一堆數(shù)據(jù)出來.
也許是在這個(gè)DO時(shí),你的端口已經(jīng)掛起了,沒有ACK給它.或者你的端口沒配置好。

讀文件時(shí)正常嗎?

9樓: >>參與討論
openegg
回圈圈:讀是沒有問題的
xp可以識(shí)別為一個(gè)384k的可移動(dòng)磁盤。端口怎么會(huì)掛起呢,平常接收scsi命令也是正常的呀。會(huì)不會(huì)和緩存大小有關(guān)系,我設(shè)置的大小是512Byte,應(yīng)該足夠了吧。還有發(fā)沒發(fā)送ack在哪里可以看到呢?bushound能捕捉到么?應(yīng)該怎么發(fā)送ack?看2148的手冊(cè)覺得應(yīng)該是硬件自己處理的呀

10樓: >>參與討論
computer00
我記得以前調(diào)試USB時(shí),如果你的設(shè)備不返回ACK,
那么在BUS HOUND上,就看不到它發(fā)送出去數(shù)據(jù)了,實(shí)際上主機(jī)已經(jīng)發(fā)出DO包了,但是由于沒有收到ACK,所以BUS HOUND也不顯示出來。

你看看第一個(gè)DO包之后,是不是哪里搞錯(cuò)了,使得后面的DO包無法返回ACK.

11樓: >>參與討論
openegg
問題基本解決
我把接口描述符的端口最大包長(zhǎng)度從原來的512字節(jié)改為64字節(jié),就可以接收到數(shù)據(jù)了。我以為既然LPC2148的接收端點(diǎn)緩沖區(qū)是512字節(jié)的,那么端點(diǎn)的最大包長(zhǎng)度就可以是512字節(jié),看來這是兩碼事呀!感謝圈圈的提示!可能還會(huì)遇到其它問題,到時(shí)候還會(huì)請(qǐng)教各位高手。

12樓: >>參與討論
liwenz
能把過程描述一下嗎?主要是開始的過程
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)問LPC2119有汽車級(jí)溫度范圍的嗎?
為什么我的2220不能代替2210?
OSTaskResume();這條語句執(zhí)行完,大概要多長(zhǎng)時(shí)間?
請(qǐng)教關(guān)局部變量的使用問題
2292也有4個(gè)CAN
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)