logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

atxmega jako pamięć zewnętrzna - jak skonfigurować AVR do wykrywania przez PC?

st4chuu 08 Lut 2016 07:48 936 8
REKLAMA
  • #1 15414938
    st4chuu
    Poziom 15  
    Witam,
    Chciałbym sprawić by atxmega była odczytywana przez komputer jako pamięć zewnętrzna. Dotychczas korzystałem z USB jednak po przez dodanie portu, następnie pisałem własny toporny protokół aby móc konfigurować jakoś parametry programu.
    Później zrealizowałem to za pomocą pamięci SD. Jednak jest to mało wygodne wyciąganie i wkładanie jej.
    Chciałbym pójść krok dalej. Aby AVR'a mógł wykryć każdy komputer jako pamięć zewnętrzną na którą wgrywało by się plik generowany przez aplikację. Po czym procesora konfigurował by swoje parametry zgodnie ze znalezionym plikiem.
    Wykorzystanie karty nie było podyktowane potrzebą zwiększenia pamięci a brakiem pomysłu na realizacje w inny sposób tego zagadnienia. Potrzeba około 10-20kB więc nie za wiele.
    Czy realizował ktoś z was takie zagadnienie? Szukałem przykładowych projektów jednak nie znalazłem i nie bardzo mam pomysł jak się za to zabrać. Będę wdzięczny za wszelkie wskazówki
    Pozdrawiam
  • REKLAMA
  • #2 15414985
    BlueDraco
    Specjalista - Mikrokontrolery
    Są dostępne źródła oprogramowania o takiej funkcjonalności na LPC1xxx - USB bootloader. Czy są też dostępne gotowce na XMEGA, to wie kol. TMF. Jak się obudzi, to odpowie.
  • Pomocny post
    #3 15415029
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #4 15415047
    st4chuu
    Poziom 15  
    dzięki wielkie ;) rzeczywiście jest co czytać ;)
  • REKLAMA
  • #5 15415076
    tmf
    VIP Zasłużony dla elektroda
    No to się obudziłem :)
    @st4chuu - przede wszystkim doprecyzuj - czy XMEGA ma być widoczna jako mass storage w systemie Windows? Jeśli tak to nie ma problemu - takie przykłady (USB mass storage) znajdziesz w przykładach do ASF (są w każdym Atmel Studio). Wystarczy tylko dostosować je do swoich potrzeb. Wtedy XMEGA będzie wydoczna jako dodatkowy drive, na który możesz przerzucić plik konfiguracyjny, czy co tam potrzebujesz.
    Natomiast jeśli XMEGA ma sobie pobrać sama konfigurację z PC to sprawa jest trudna. Przede wszystkim PC nie może być urządzeniem USB, standardowo porty mogą być tylko hostami. Drugi problem to USB w XMEGA - które z kolei może pracować tylko jako USB device. Więc trzebaby zrobić taki myk, że po rozpoznaniu urządzenia, XMEGA przesyła do PC driver urządzenia, który po stronie PC realizuje m.in. przesłanie pliku konfiguracyjnego do XMEGA. IMHO karkołomne zadanie.
  • #6 15415165
    st4chuu
    Poziom 15  
    @tmf
    Wystarczy, że procesor będzie jako mass storage, a po odłączeniu procesor odczyta sobie wartości zapisane w pliku. Dzięki odpalę Atmel Studio zobaczę co tam znajdę ;)
  • REKLAMA
  • #7 15415180
    BlueDraco
    Specjalista - Mikrokontrolery
    niveasoft: Piszesz rzeczy nieprawdziwe i wprowadzasz człowieka w błąd.

    Bez jawnej instalacji sterowników mogą być obsługiwane co najmniej urządzenia klas HID, MSC i CDC (te ostatnie w Linux i Windows 10, prawdopodobnie również w Win 8 po odpowiedniej konfiguracji systemu). Autor wątku pytał o MSC, która jest obsługiwana przez każdy system bez dodatkowych driverów.

    Problem Autora polega na zrobieniu MSC służącego jako bootloader - nie jest to całkiem trywialne, ale NXP ma taki przykład na LPC1xxx. Są tu pewne pułapki, zwłaszcza, że Win 8+ lubi po kryjomu pisać po urządzeniach pamięci masowej.
  • #8 15415198
    tmf
    VIP Zasłużony dla elektroda
    Dlatego można zaimplementować MSC, co jest relatywnie skomplikowane, ale są w AS gotowce. Można też wziąć gotowy bootloader USB z Atmela, który działa m.in. z programem FLIP na PC. Ale jak rozumiem, autorowi chodzi tylko o przesłanie danych konfiguracyjnych. Tu MSC sprawdzi się dobrze.
  • #9 15415968
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA