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

Programowanie mikrokontrolera AVR32 w zestawie EVK1100 cz. 2

jabu74 - ekspert 24 Wrz 2010 22:38 4577 11
REKLAMA
  • #1 8547316
    jabu74 - ekspert
    Poziom 19  
    Witam

    Wracam do tematu po 2 latach (sic!!!)

    Sprzęt przeleżał swoje ( aklimatyzacja :D ) i teraz wypadałoby w końcu go uruchomić. Tak poważnie to instalacja była dość skomplikowana i dałem sobie spokój.

    Zainstalowałem ponownie na Vista najnowsze AVR32 Toolchain, AVR32 Studio 2.5 oraz Flip 3.4 (w takiej kolejności). Niby wszystko dobrze zainstalowane ale nie działa komunikacja ze sprzętem.

    Chciałem na początek pobrać program zapisany w mikrokontrolerze ale niestety nie mogę. Wyrzuca mi jakiś błąd związany otwarciem USB z którym nie mogę sobie poradzić:

    Device selection....................... PASS
    Hardware selection..................... PASS
    Opening port........................... FAIL Could not open USB device.
    ISP done.
    AtLibUsbDfu: 3EB 2FF8 no device present


    Muszę przyznać, że jeszcze nie spotkałem się z bardziej nieprzyjaznym środowiskiem do programowania (chodzi mi tu głównie o instalację dodatkowych programów i ich konfigurację w dodatku nie działa)

    Czy ktoś może mi pomóc ?

    Dodano po 4 [godziny] 4 [minuty]:

    Częściowo rozgryzłem problem - aby system windows zobaczył to urządzenie należy dość szybko wykonać następujące kroki:

    1) wcisnąć przycisk RESET i przytrzymać
    2) wcisnąć przycisk JOY, a następnie zwolnić RESET
    3) zwolnić przycisk JOY


    Teraz system rozpoznaje urządzenie i na liście w Menadżerze Urządzeń pojawił się wpis Atmel USB Devices -> AT32UC3A

    Jest to najprawdopodobniej przełączenie sprzętu do trybu programowania/odczytu i załadowany program w pamięci mikrokontrolera nie jest wykonywany.

    Przełączenie z powrotem po wciśnięciu i zwolnieniu przycisku RESET. Jeżeli nie pomoże to należy wpisać w wierszu polecenia:

    batchisp -device at32uc3a0512 -hardware usb -operation start reset 0


    Pobranie programu z pamięci mikrokontrolera może wyglądać np. tak:

    batchisp -device at32uc3a0512 -hardware usb -operation onfail abort memory FLASH addrange 0x0 0x1fff read savebuffer D:\programy\program.hex hex386

    gdzie 0x0 to adres początku, a 0x1fff to adres końca wyciąganego programu.

    Proszę nie zamykać tematu bo dalej nie znam odpowiedzi pod jakim adresem znajduje się ów program w pamięci mikrokontrolera i jaki jest jego rozmiar.
  • REKLAMA
  • REKLAMA
  • #3 8554206
    jabu74 - ekspert
    Poziom 19  
    Witaj

    A orientujesz się jak wyciągnąć konkretny program który jest obecnie załadowany do mikrokontrolera ?

    Chodzi mi o to, że chciałbym wgrać inne programy i poćwiczyć a ten orginalny w każdej chwili przywrócic
  • REKLAMA
  • #4 8554571
    REAPER87
    Poziom 12  
    Niby jest opcja "Read..." dla AVR Dragon, czyli czytanie z podpiętego uK ale działa to tak że określasz długość tego co chcesz odczytać i podajesz mu miejsce zapisu jako plik .bin lub .ihex. Więc teoretycznie się da, aczkolwiek nie testowałem tego dokładniej. Też chciałem zgrać oryginalny program z evk1105 ale przez przypadek mi się nacisnęło Debug i pojechał w siną :) A jaki tam jest oryginalnie program (co robi)?
  • #5 8554739
    jabu74 - ekspert
    Poziom 19  
    Upraszczając w moim jest serwer WWW monitorujący temp, oświetlenie i sterujacy LED-ami przez Internet za pomocą przeglądarki oraz coś w rodzaju partycji dyskowej gdzie umieszczone są pliki konfiguracyjne oraz wspomniane pliki stron serwera WWW.

    Jeżeli przez przypadek wykasowałeś orginalny program to teraz nic nie stoi na przeszkodzie byś poeksperymentował :D i spróbował wgrać go od nowa do mikrokontrolera - teraz już nie masz nic do stracenia.

    Na płytce dołączonej do zestawu powinieneś mieć kody źródłowe tego programu jak również skompilowany właśnie ten program gotowy do wgrania (najprawdopodobniej plik z rozszerzeniem elf). Jeżeli nie ma go na płytce to na stronie ATMEL na pewno jest udostepniony w jakimś archiwum zip.

    Dodano po 37 [minuty]:

    Przypuszczam, że to ten program DSP Lib Demo był wgrany standardowo w twoim sprzęcie EVK1105 (u mnie jest Control Panel Demo dla EVK1100)

    Właśnie sprawdziłem czy da się skompilować i poszło bez problemu tylko zainstaluj najnowsze toolchain i studio (patrz na pierwszy post u góry tej strony)
  • REKLAMA
  • #6 8554799
    REAPER87
    Poziom 12  
    Właśnie tak myślałem co do Twojego EVK1100, więc problem masz rozwiązany. Co do mojego zestawu to miałem tam odtwarzacz mp3 na starcie, dokładnie taki jak tutaj http://www.youtube.com/watch?v=esU7lW2ZKZc Nie znalazłem tego ani na DVD ani na stronie ATMEL'a (nie znalazłem - nie znaczy, że nie ma). Cóż, prawdę mówiąc nie potrzeba mi tamtego programu z powrotem. Wykorzystywał pewnie obsługę FAT (do Pendrive) i parę innych które są jakby coś w AVR32 Studio oddzielnie. Co do DSP to owszem bawiłem się tym jako przykład ale już po usunięciu oryginalnego softu. DSP jest na starcie w EVK1104.
    U mnie to chodzi bez problemów od samego początku :) Pisałem, ponieważ chciałem Ci polecić AVR Dragon jako firmowy programator do tego sprzętu którym zaprogramujesz przez JTAG lub ISP wszystkie uK AVR i AVR32.
    Pozdrawiam.
  • #7 8554985
    jabu74 - ekspert
    Poziom 19  
    Tu w archiwum zip są kody źródłowe i plik wykonywalny elf odtwarzacza mp3:

    http://www.atmel.com/dyn/resources/prod_documents/avr32709.zip
  • #8 8562966
    REAPER87
    Poziom 12  
    Faktycznie wygląda że to :) tylko problem żeby to sprawdzić jest taki, że nie wykrywa mi płytki jako pamięć masową żeby tam to wgrać. Może kiedyś to sprawdzę jeszcze. Dzięki za linka, może kiedyś się to przyda :) Co prawda najbardziej mnie zastanawia jak Kolega to znalazł?
  • #9 8563189
    jabu74 - ekspert
    Poziom 19  
    Witaj

    To, że znalazłem wynika z drugiego członu mojego nicka :D

    Wpisałem w google evk1105 mp3 player demo, kliknięcie na pierwszy link i na tej nowo załadowanej stronie jest kolejny link właśnie do tego archiwum.

    Pobierz sobie to archiwum na dysk bo różnie bywa.

    Pozdrawiam
  • #10 8564586
    REAPER87
    Poziom 12  
    Hehe, no tak :D Cóż, znaleźć to poprzez stronę ATMEL'a graniczy z cudem.
  • #11 8591041
    marcwlo
    Poziom 2  
    Jak tu zacząć?
    Dla niewtajemniczonych, aby zacząć zabawę z programowaniem - po opisanej tu wcześniej instalacji AVR32 i innych oraz wczytaniu się w dokumentację, która bardziej przypomina kod enigmy niż prostą instrukcję HOWTO, należy:
    Na początek sprawdzić czy nasze cudo - tj. EVK 1100 zgłasza się jako urządzenie DFU (USB DFU)
    Jeżeli tak - to już duży sukces, bo jeśli nie - trzeba po zainstalowaniu FLIPa wykonać opcję Aktualizuj sterownik (i wybrać ze ścieżki FLIPa, tj.
    program files\atmel\Flip 3.4.2\usb\atmel_usb_dfu.inf
    ). Musi zadziałać - czasami potrzebny jest reset systemu. Pod linuxem (Ubuntu) jest ok.
    Następnie sprawdzamy:
    (otwieramy okno linii komend)
    batchisp -device at32uc3a0512 -hardware usb -operation start reset 0
    (czyli to co w pierwszym)
    jeśli będziemy mieli potwierdzenia pass to jest ok, teraz zabieramy się do czyszczenia pamięci, czyli:
    batchisp -device at32uc3a0512 -hardware usb -operation erase f memory user addrange 0x1FC 0x1FC fillbuffer 0x92 program
    batchisp -device at32uc3a0512 -hardware usb -operation erase f memory user addrange 0x1FD 0x1FD fillbuffer 0x9F program
    batchisp -device at32uc3a0512 -hardware usb -operation erase f memory user addrange 0x1FE 0x1FE fillbuffer 0x58 program
    batchisp -device at32uc3a0512 -hardware usb -operation erase f memory user addrange 0x1FF 0x1FF fillbuffer 0xD2 program


    słowo - komenda program ZAWSZE na końcu (inaczej nie działa)

    Po zresetowaniu - wyświetlacz świeci, ale jest pusty - mamy pewność że nasz DFU działa :) - wyczyścił pamięć.

    Teraz czas na rollback, czyli wgrywamy zawartość z powrotem - z pliku elf, (jest dostarczony, jako
    uc3a0512es-ctrlpanel.elf
    - EVK1100-CONTROL-PANEL
    batchisp -device at32uc3a0512 -hardware usb -operation onfail abort memory FLASH loadbuffer D:\ctrlpanel.elf program

    jest wszystko OK, teraz można zabrać się do pracy - czyli pisać sobie programy :)
    Pozdrawiam

    A i dodaję plik - gdyby ktoś szukał
    Załączniki:
  • #12 8593364
    jabu74 - ekspert
    Poziom 19  
    Panie kolego ale to nie jest czyszczenie pamięci tylko wpisanie 0x929F58D2 począwszy od adresu 0x1FC

    A tak na marginesie co to jest za rozkaz (rozkazy) w tych 4 bajtach ?
REKLAMA