[問題] 開發板與PC透過USB傳檔的方式消失

看板LinuxDev作者時間10年前 (2014/08/08 18:04), 10年前編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
各位好, 想請問以下的需求有什麼方法可以達成: 裝置: . ARM開發板 (含USB OTG) . PC端, 不預設會裝Windows或Linux . usb線相連接 描述: 有一塊arm的開發板, 預計會跑 linux 2.6.37 , 不會有android arm開發板上會不斷地將感測器偵測到的資料寫入sd卡裡, 每十分鐘 會分檔。 而arm開發板會透過USB OTG與PC相連接, 主要的需求是讓PC可 讀取SD卡的記錄檔。PC只有讀的權限, 不能寫檔也不能刪檔。 本來是打算使用 g_file_storage.ko 將arm開發板上的sd卡模擬 成usb隨身碟供PC端掛載讀取。 目前是可以在PC端讀取檔案時, ARM開發板仍可對SD卡寫入新的記錄檔, 只不過PC端無法看到新的記錄檔, 得重新掛載才看得到。 想請教各位, 有沒有什麼作法可以讓ARM開發板可以不斷的將記錄檔寫入SD卡 而且PC端可以透過USB讀取檔案呢? 目前是沒計劃在PC上另外開發相配合 的驅動, 以PC上自帶的為主, PC上的OS目前也沒預設是WIN或LINUX。所以 預想是USB隨身碟。 目前知道Android上有實現微軟的MTP, 可以讓ARM與PC兩端同時透過usb對SD 卡操作, 但我的平台不會有Android, 有粗略的看了一下MTP驅動架構, 應該不容易將MTP移植到我純linux的平台吧?! 請問各位有 想法/方向/網頁/關鍵字 可以提供嗎? 謝謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.164.200.61 ※ 文章網址: http://www.ptt.cc/bbs/LinuxDev/M.1407492294.A.E49.html

08/08 22:38, , 1F
USB To TTL ?我都是用這樣
08/08 22:38, 1F

08/08 22:39, , 2F
你的板子上有UARt接孔嗎?
08/08 22:39, 2F
謝謝回覆, 開發板上有 UART。 不好意思, 沒把後續的需求講清楚, 目前的感測器大多是紅外線測距,超音波之類 的文字資料, 但未來的需求有可能會擴大到接影像或聲音, 所以傳輸的速度若太 慢, 可能會有狀況。 而且因為PC端的狀況我無法掌控, 所以期待的作法是以PC自帶為主, 若還得做到交握 的話, 怕人的問題會比技術難處理。 是有網友說「data logger」好像可以做到在使用者以USB隨身碟讀檔的同時,還可以 繼續將記錄檔寫入, 網友有提到microchip好像有firmware library可以在模擬 USB Mass Storage的同時, 還可以透過其API將檔案或目錄寫入。但我對微控器 不熟, 有試著去google「data logger 說明書」, 但google到的說明書沒有提到 在讀檔的時候是否仍然在記錄。 不好意思, 問了一個很奇怪需求的問題, 若真的避不開與PC端做交握, 那也只好 設計一個較嚴謹的狀態機來面對這個問題了。 很謝謝您替我傷腦筋, 並提供我作法, 謝謝。 ※ 編輯: picoblaze (218.164.120.249), 08/09/2014 00:17:15

08/09 00:08, , 3F
可以改寫gadget zero那隻~然後從PC發USB 封包下來收資料~
08/09 00:08, 3F

08/09 00:11, , 4F
當然更簡單的方式就是像1F說的模擬成serial,但要看一下
08/09 00:11, 4F

08/09 00:12, , 5F
2.6.37有沒有這個gagdet driver~如果不用透過USB,其實網
08/09 00:12, 5F

08/09 00:13, , 6F
路線跟PC對接,兩邊設個IP就可以開Socket傳資料了~
08/09 00:13, 6F
謝謝回覆, gadget zero我今天在翻menuconfig有看到, 我會再去survey這個driver, 而開發板的網路之後會被廢掉, 所以網路線這個方式也就行不通了。 我是有想過可以把USB做成 usb net, 然後開發板開samba server來讓PC使用, 但這個 方式也是被上頭說還得確定PC端的技術人員會用, 被歸類成「這個作法也得與PC端交握」 給否定掉了。 ※ 編輯: picoblaze (218.164.120.249), 08/09/2014 00:23:23
文章代碼(AID): #1JvA36v9 (LinuxDev)
文章代碼(AID): #1JvA36v9 (LinuxDev)