Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

sobota, 26 lutego 2011

XMEGA: Bootloader - ponowne ładowanie programu


Autor: tmf
Redakcja: Dondu

Wstęp do XMEGA: Spis treści


Zapewne po napisaniu pierwszej aplikacji na XMEGA przyjdzie ci ochota na kolejną. A tu przykre rozczarowanie – jak ponownie wejść w bootloader i uploadować nowy kod?

Problem w tym, że po RESET MCU wchodzi w bootloader, który stwierdza, że w pamięci FLASH znajduje się kod aplikacji i go automatycznie uruchamia, w efekcie nie da się ponownie połączyć z MCU przy pomocy FLIP.

Ale nie martw się – jest rozwiązanie tego problemu.

Każdy mikrokontroler rodziny XMEGA (części ATMega zresztą też), ma specjalny pin, którego stan informuje, czy ma być uruchomiony bootloader, czy aplikacja.

Tak naprawdę w tym pinie nie ma nic specjalnego, ot prawie zwykły pin I/O. Jeśli podczas RESET-u MCU będzie on znajdował się w stanie niskim, to bootloader nie uruchomi aplikacji, lecz będzie oczekiwał na polecenia np. z programu FLIP.

Który to pin? Odpowiedź na to pytanie zależy od użytego MCU, a znajdziemy ją w dokumencie Atmela: Atmel AVR1916: USB DFU Boot Loader for XMEGA

Ale uważaj, w wersji tego dokumentu z dnia pisania tego artykuły był błąd:


XMEGA: Piny odpowiedzialne za zmianę funkcjonalności Bootloader-a.


Wystarczy więc, że podczas włączenia zasilania zewrzemy pin PE5 do masy, a uruchomi się bootloader i będziemy mogli przeprogramować mikrokontroler.

Sprytne, prawda? W praktyce wystarczy na chwilę wyciągnąć wtyczkę USB i włożyć ją ponownie (o ile zasilamy MCU z USB), lub też na chwilę aktywować RESET, zwierając go do masy, co oszczędzi nam nadwyrężania gniazda USB, które i bez tego wygląda licho.

I to tyle. Mamy pierwszy program za sobą, a XMEGA radośnie miga diodami.

Wstęp do XMEGA: Spis treści

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

10 komentarzy:

  1. No tak, a co z wersją bez "U" w nazwie? :) tam nie ma USB i Flip już nic nie pomoże.

    OdpowiedzUsuń
  2. Dlaczego miałby nie pomóc? Nie mają USB, ale mają inne interfejsy przez które można je zaprogramować przez FLIP. Tyle, że sens niewielki bo: z U są tańsze (pomimo, że dają więcej), są wygodniejsze, bo wystarczy połączyć kabelek USB i mamy komunikację + zasilanie.

    OdpowiedzUsuń
  3. Mam takie pytanie. Czy jeśli posiadam ATxmega128A3U, z wgranym bootloaderem USB, i zaprogramuję ją poprzez standardowy programator PDI, to bootloader zostanie wykasowany przy czyszczeniu chipu? Czy znajduje się on w innej części pamięci i nic mu nie grozi?

    OdpowiedzUsuń
  4. Zależy, ale zasadniczo bootloader zostaie skasowany i trzeba będzie go wczytać ponownie.

    OdpowiedzUsuń
  5. czyli każde zaprogramowanie zmusza do wgrywania bootloadera !
    gorzej nie można ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Można to ominąć, ale po co? Jeśli programujesz przy pomocy programatora, to po co ci bootloader? Nawet jeśli z jakiegoś powodu jest niezbędny, to można za jednym programowanie programować i aplikację i bootloader, nawet tego nie zauważysz. Więc to w niczym nie przeszkadza.

      Usuń
    2. dzięki za odpowiedź, przydałby się tutek, lub instrukcja jak to zrobić, z góry dzięki

      Usuń
  6. Panowie, skąd wziąć ten bootloader dla Xmegi? szukam na stronie Atmela i nigdzie nie mogę znaleźć :/

    OdpowiedzUsuń
  7. Panowie, skąd wziąć ten bootloader dla Xmegi? szukam na stronie Atmela i nigdzie nie mogę znaleźć :/

    OdpowiedzUsuń
  8. Podana fraza - http://www.atmel.com/search.aspx?filter=0&output=xml_no_dtd&ie=UTF-8&oe=UTF-8 ... - nie została odnaleziona.
    USB - mocno zniechęca na razie bez bootloadera :) jednorazówka

    OdpowiedzUsuń

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.