eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaZgrywanie plików z MCU po UART
Ilość wypowiedzi w tym wątku: 8

  • 1. Data: 2016-01-12 18:17:43
    Temat: Zgrywanie plików z MCU po UART
    Od: Atlantis <m...@w...pl>

    Pamiętam stare czasy, kiedy wymieniając pliki między komputerami łączyło
    się je za pomocą kabla LPT albo null-modem. W menedżerach plików pokroju
    Norton Commandera była odpowiednia opcja, która pozwoliła się podłączyć
    do drugiego urządzenia i przerzucić pliki.

    Tak sobie pomyślałem, że podobną metodę można by zastosować w projektach
    z mikrokontrolerami. Jeśli na przykład mam projekt z wewnętrznym flashem
    AT45DBxx, na którym postawię system plików za pomocą FatFS, to czy
    byłoby możliwe przerzucanie plików za pomocą jakiegoś standardowego
    protokołu (bez konieczności pisania własnego softu po stronie PC) przez
    UART?

    Zdaje sobie sprawę z tego, że można zastosować kartę pamięci
    (rozwiązanie najłatwiejsze) albo MCU z funkcją klienta USB, co
    pozwoliłoby na zrobienie z niego "pendrive'a". To pierwsze rozwiązanie
    rzecz jasna już wykorzystywałem, a to drugie jest jednak dość istotną
    komplikacją - sama biblioteka do obsługi stosu USB zużyje sporo zasobów.


  • 2. Data: 2016-01-13 01:15:47
    Temat: Re: Zgrywanie plików z MCU po UART
    Od: Marek <f...@f...com>

    On Tue, 12 Jan 2016 18:17:43 +0100, Atlantis <m...@w...pl>
    wrote:
    > Tak sobie pomyślałem, że podobną metodę można by zastosować w
    projektach
    > z mikrokontrolerami. Jeśli na przykład mam projekt z wewnętrznym
    flashem
    > AT45DBxx, na którym postawię system plików za pomocą FatFS, to czy
    > byłoby możliwe przerzucanie plików za pomocą jakiegoś standardowego
    > protokołu (bez konieczności pisania własnego softu po stronie PC)
    przez
    > UART?


    Można użyć np. Kermita. Jest kilka protokołow transferu plików po
    łączu szeregowym. Do modułów gsm Telita tak można wgrywać pliki przez
    uart.

    > komplikacją - sama biblioteka do obsługi stosu USB zużyje sporo
    zasobów.

    Dlaczego? ~10kB flash to dużo?
    Jeśli mcu ma mieć dostęp do fsa, który sam udaje jako pendrive, można
    użyć petitfat zamiast fatfs.

    --
    Marek


  • 3. Data: 2016-01-14 03:19:30
    Temat: Re: Zgrywanie plików z MCU po UART
    Od: "Pszemol" <P...@P...com>

    "Atlantis" <m...@w...pl> wrote in message
    news:5695353b$0$662$65785112@news.neostrada.pl...
    > Pamiętam stare czasy, kiedy wymieniając pliki między komputerami łączyło
    > się je za pomocą kabla LPT albo null-modem. W menedżerach plików pokroju
    > Norton Commandera była odpowiednia opcja, która pozwoliła się podłączyć
    > do drugiego urządzenia i przerzucić pliki.
    >
    > Tak sobie pomyślałem, że podobną metodę można by zastosować w projektach
    > z mikrokontrolerami. Jeśli na przykład mam projekt z wewnętrznym flashem
    > AT45DBxx, na którym postawię system plików za pomocą FatFS, to czy
    > byłoby możliwe przerzucanie plików za pomocą jakiegoś standardowego
    > protokołu (bez konieczności pisania własnego softu po stronie PC) przez
    > UART?

    Poczytaj o starych technologiach typu protokoły x-modem, z-modem itp.
    Większość programów terminali znakowych na peceta, włącznie ze
    sławnym Hyper Terminalem obsługuje taką wymianę plików.


  • 4. Data: 2016-01-14 15:19:06
    Temat: Re: Zgrywanie plików z MCU po UART
    Od: Atlantis <m...@w...pl>

    W dniu 2016-01-14 o 03:19, Pszemol pisze:

    > Poczytaj o starych technologiach typu protokoły x-modem, z-modem itp.
    > Większość programów terminali znakowych na peceta, włącznie ze
    > sławnym Hyper Terminalem obsługuje taką wymianę plików.

    Któryś z tych protokołów nadaje się do zintegrowania ze standardowym
    systemem komend ASCII (np. AT)? Chodzi o to, żeby standardowo operacja
    transmisji była rozpoczynana przez jakąś komendę tekstową, kończącą się
    np. \r. Dopiero po jej wywołaniu rozpoczynałaby się transmisja kolejnych
    pakietów, zakończona powodzeniem, błędem albo timeoutem.

    Któryś z protokołów standardowo wspiera przesyłanie informacji o
    strukturze katalogów i transmisję w dwie strony, tak aby możliwe było
    wykonywanie operacji kopiowania w stylu Windows Commandera?


  • 5. Data: 2016-01-14 19:25:49
    Temat: Re: Zgrywanie plików z MCU po UART
    Od: Marek <f...@f...com>

    On Thu, 14 Jan 2016 15:19:06 +0100, Atlantis <m...@w...pl>
    wrote:
    > Któryś z tych protokołów nadaje się do zintegrowania ze standardowym
    > systemem komend ASCII (np. AT)? Chodzi o to, żeby standardowo
    operacja
    > transmisji była rozpoczynana przez jakąś komendę tekstową, kończącą
    się
    > np. \r. Dopiero po jej wywołaniu rozpoczynałaby się transmisja
    kolejnych
    > pakietów, zakończona powodzeniem, błędem albo timeoutem.

    Dokładnie tak jest w Telitach. Teraz spojrzałem jak to się robiło.
    Tam nawet nie było protokołem zmodem tylko ascii, wysyłało się
    polecenie:
    AT#WSCRIPT="nazwa_pliku",rozmiar_w_bajtach\r
    pojawiał się prompt >>> i można było w terminalu wybrać "send file as
    ascii" i poszło. Moduł przyjmował strumień danych o zadeklarowanej
    długości do zadeklarowanej nazwy pliku.
    Akurat w tym przypadku przesyłało się tekstowy skrypt w pythonie ale
    nie przeszkafza aby wysłać plik binarny, długość jego przecież
    deklarujesz.

    > Któryś z protokołów standardowo wspiera przesyłanie informacji o
    > strukturze katalogów i transmisję w dwie strony, tak aby możliwe
    było
    > wykonywanie operacji kopiowania w stylu Windows Commandera?

    Hmm nie kojarzę, bo większość tych protokołów jest end-to-end gdzie
    strony komunikacji podają sobie tylko nazwę pliku. Zmodem miał coś
    takiego jak dont strip path ale to chyba działało tylko wtedy gdy po
    drugiej stronie była już struktura katalogów określona w path.

    Moim zdaniem kombinujesz. Jeśli "w mcu" mają znalezc się pliki (dane)
    albo z niego trzeba je pobrać to eleganckim rozwiązaniem jest
    udawanie pendrive.
    Tylko ciężko jest zrobić system fat o rozmiarze rzędu kilobajtów
    (limituje rozmiar flash mcu), mi używając mkfs.msdos udało się
    minimalizując opcje zejść do fs size ok 38kB.

    --
    Marek


  • 6. Data: 2016-01-14 20:14:57
    Temat: Re: Zgrywanie plików z MCU po UART
    Od: "J.F." <j...@p...onet.pl>

    Użytkownik "Atlantis" napisał w wiadomości grup
    dyskusyjnych:5697ae59$0$22822$6...@n...neostrad
    a.pl...
    W dniu 2016-01-14 o 03:19, Pszemol pisze:
    >> Poczytaj o starych technologiach typu protokoły x-modem, z-modem
    >> itp.
    >> Większość programów terminali znakowych na peceta, włącznie ze
    >> sławnym Hyper Terminalem obsługuje taką wymianę plików.

    >Któryś z tych protokołów nadaje się do zintegrowania ze standardowym
    >systemem komend ASCII (np. AT)? Chodzi o to, żeby standardowo
    >operacja
    >transmisji była rozpoczynana przez jakąś komendę tekstową, kończącą
    >się
    >np. \r. Dopiero po jej wywołaniu rozpoczynałaby się transmisja
    >kolejnych
    >pakietów, zakończona powodzeniem, błędem albo timeoutem.

    poniekad wszystkie/wiekszosc.
    Jesli laczyles sie z jakims terminalowym systemem (unix itp), to
    trzeba bylo na zdalnym systemie uruchomic program wysylajacy,
    odbierajacy lub zarzadzajcy.

    pisales wiec na swoim terminalu/komputerze np "xmodem send plik", to
    sie wykonywalo na zdalnym komputerze, wypisywalo "uruchom program
    odbiorczy na terminalu", uruchamiales (jesli pecet to zwykle jakis
    klawisz funkcyjny), ten wyslal znaczek mowiacy "jestem gotowy do
    odbioru" i zdalny wysylal.

    Albo pisales np "rz" (receive Zmodem), ten wypisywal "teraz mozesz
    wyslac plik", wiec startowales wysylanie.

    Ciekawy byl Kermit - ale zdazyl sie tak rozbudowac, ze nie wiem czy
    znajdziesz jakas prosta implementacje.

    >Któryś z protokołów standardowo wspiera przesyłanie informacji o
    >strukturze katalogów i transmisję w dwie strony, tak aby możliwe było
    >wykonywanie operacji kopiowania w stylu Windows Commandera?

    O ile pamietam to w Kermicie byly podobne funkcje, ale zdecydowanie
    nie w stylu NC.
    no chyba, ze w tym jakas ladna prezentacje zrobili
    http://www.columbia.edu/kermit/k95.html

    J.



  • 7. Data: 2016-01-14 20:51:28
    Temat: Re: Zgrywanie plików z MCU po UART
    Od: Marek <f...@f...com>

    On Thu, 14 Jan 2016 20:14:57 +0100, "J.F."
    <j...@p...onet.pl> wrote:
    > pisales wiec na swoim terminalu/komputerze np "xmodem send plik", to

    Kolega pytał o recursive całej struktury a nie pojedynczych plików....

    --
    Marek


  • 8. Data: 2016-01-15 00:06:50
    Temat: Re: Zgrywanie plików z MCU po UART
    Od: Atlantis <m...@w...pl>

    W dniu 2016-01-14 o 19:25, Marek pisze:

    > Dokładnie tak jest w Telitach. Teraz spojrzałem jak to się robiło. Tam
    > nawet nie było protokołem zmodem tylko ascii, wysyłało się polecenie:
    > AT#WSCRIPT="nazwa_pliku",rozmiar_w_bajtach\r
    > pojawiał się prompt >>> i można było w terminalu wybrać "send file as
    > ascii" i poszło. Moduł przyjmował strumień danych o zadeklarowanej
    > długości do zadeklarowanej nazwy pliku.

    Coś takiego już kiedyś robiłem. Tyle tylko, że w tamtym projekcie nie
    było systemu plików, a zawartość jednego większego pliku (próbki PCM)
    była ładowana do "surowej" pamięci AT45DBxx. Program po przyjęciu
    odpowiedniej komendy zmieniał tryb pracy UART-a w taki sposób, że
    zamiast oczekiwać na komendy ładował on każdy przychodzący bajt do
    bufora, a gdy uzbierała się z tego pełna strona zapisywał ją we flashu.

    Teraz jednak przydałoby mi się coś, co pozwoli nie tylko wrzucić plik do
    pamięci, ale także go stamtąd wyciągnąć, najlepiej przy pomocy jakiegoś
    standardowego oprogramowania, bez potrzeby pisana własnego softu na PC.
    Już nawet mogę zrezygnować z przeglądania systemu katalogów - niechby i
    był tylko jeden katalog główny, do którego byłyby wrzucane pliki i z
    którego można by wyciągnąć plik o konkretnej nazwie.


    > Moim zdaniem kombinujesz. Jeśli "w mcu" mają znalezc się pliki (dane)
    > albo z niego trzeba je pobrać to eleganckim rozwiązaniem jest udawanie
    > pendrive.
    > Tylko ciężko jest zrobić system fat o rozmiarze rzędu kilobajtów
    > (limituje rozmiar flash mcu), mi używając mkfs.msdos udało się
    > minimalizując opcje zejść do fs size ok 38kB.

    Miałem na myśli pamięć flash podłączaną przez SPI, np. AT45DB, gdzie do
    zagospodarowana mogę mieć nawet kilka MB. Wiem, że można użyć karty SD
    albo USB MSD, ale w tym wypadku zależy mi na tym, żeby usunięcie nośnika
    w trakcie pracy urządzenia było fizycznie niemożliwe.
    A kwestię montowania urządzenia jako PD na PC na razie pominąłem z
    prostej przyczyny - teoretycznie zastanawia mnie implementacja takiego
    rozwiązania w jednym ze starszych projektów na AVR, który nie ma w ogóle
    interfejsu USB.

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: