Jak zrobić Pendrive?

Witam

Mam takie pytanie:

Czy da się w prosty sposób, najlepiej na uC f-my Microchip, zrobić pendrive. Chodzi mi oczywiście o urządzenie,które jest widziane przez system jako dysk USB (może być tylko jeden katalog/folder) z plikami, które ja w tym urządzeniu mogę modyfikować za pomocą procesora stanowiącego część tego Pendrive'a.

Może ktoś się gdzieś spotkał z podobnym projektem?

Pozdrawiam

Jacek Poźniak

Reply to
jacek
Loading thread data ...

toć na stronie microchipa jest gotowy program urządzenia mass storage... ale moim zdaniem jego wartość edukacyjno-przydatnościowa jest zerowa... kod jest nieźle zamieszany, do tego w pdfie microchipa opis interfejsu usb zmieścił się na 2 stronach...

Reply to
identyfikator: 20040501

identyfikator: 20040501 pisze:

Dzięki, jakoś przeoczyłem; to moje początki z USB. Pozdrawiam Jacek

Reply to
jacek

no ale jakbyś przetrawił dokumentację i stworzył coś wartościowego to konieczanie się pochwal na grupie!

Reply to
identyfikator: 20040501

Można by tak: czytnik kart SD ( mam wielkości pendrajwa ) i zapisywać bezpośrednio przez złącze karty.

Mirek.

Reply to
Mirek

jacek pisze:

Jak już uporasz się z pierwszą częścią zadania (zrobienie pendrive) to napotkasz problem z czytaniem przez system plików w których zmieniasz wartości z poziomu procka tego pendrive. Zrobiłem sobie na ARMie urządzenie które od strony pcta miało byc widoczne jako USB Mass Storage. Wymyśliłem sobie, że podczas pomiarów będę zmieniał dane w pliku utworzonym na widocznym przez pc dysku. Wszystko dobrze ale pc nie widział zmian w pliku. Nie pomogło mieszanie z czasem modyfikacji pliku. Po prostu system (zarówno Windows jak i Linuks nie widzi zmian które powstały w pliku po podmontowaniu do systemu plików a które zmiany nie były wykonane przez tenże system. Jak wypiąłem wtyczkę USB i wpiąłem ponownie - wszystko było dobrze zmiany zostały odczytane. Dało się to obejść czytaniem wprost z odpowiedniego /dev/sda ale OIDP wymagało odmontowania dysku z systemu plików.

Reply to
Mario

Pan Mario napisał:

A zamontowany z opcją "sync"?

Powinno wystarczyć samo ponowne zamontowanie z opcją "remount" (bez odmontowania).

Odmontowanie nie jest w takim przypadku konieczne.

Reply to
Jarosław Sokołowski

Mario pisze:

Dokładnie o coś takiego mi chodzi!

Ale u mnie faza "pomiarów" będzie zawsze przy odłączonym "dysku" od komputera.

Pozdr. jp

Reply to
jacek

Jarosław Sokołowski pisze:

Nie pamiętam, ale: "Mounting it 'sync' means the data is written to the flash card (almost?) immediately after it's written in userspace. Mounting it async means there is a write buffer." Czyli synchronizowanie jest natychmiast po zapisie w userspace. Ale skoro nic w userspace się nie zdarzyło (tylko w penie) to nie będzie synchronizacji.

Zapewne wystarczało ale już nie pamiętam dokładnie.

Możliwe - nie pamiętam. Próbowałem na różne sposoby.

Reply to
Mario

Pan Mario napisał:

Ale man podaje również, że opcja dotyczy operacji I/O. Co do outputu, dobrze wiem, że to tak działa. A inputu nigdy nie ma jak sprawdzić. Dlatego spytałem.

Reply to
Jarosław Sokołowski

Nie wiem jak zadziała, ale prostsze wydaje się operowanie na /proc/sys/vm/drop_caches

Reply to
Mirek

Mirek pisze:

Thx. Jak odgrzebię ten projekt to sprawdzę. Na razie musi poczekać aż zrobię nową płytkę.

Reply to
Mario

Albo po prostu emulować kartę.

Reply to
Adam Wysocki

i jak Ci się podoba dokumentacja i źródła microchipa?

Reply to
identyfikator: 20040501

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.