Skocz do zawartości

BootLoader


Pomocna odpowiedź

Ponieważ mikrokontrolery avr słabo radzą sobie z komunikacją przez usb, dlatego jest konwerter - czyli ten "chip" z usb na uart. Botloader jest programem zaszytym w mikrokontrolerze który potrafi zmienić, zaktualizować oprogramowanie główne. AVRy można też programować bez bootloadera poprzez zewnętrzny programator np: popularny USB ASP. 

  • Lubię! 1
  • Pomogłeś! 1
(edytowany)

OK. Dzięki. Tylko, nie rozumiem dlaczego ten chip nie mógłby też pełnić tej funkcji bootloadera ? Nie byłoby wtedy problemów z wgrywaniem bootloadera do mikrokontrolera.

Edytowano przez zom
6 minut temu, zom napisał:

OK. Dzięki. Tylko, nie rozumiem dlaczego ten chip nie mógłby pełnić tej funkcji bootloadera ?

Bo on nie do tego sluzy...on sie kominikuje z pc, a dzieki bootloaderowi procek rozumie co sie do niego wysyla...

  • Lubię! 1
13 minut temu, zom napisał:

Tylko, nie rozumiem dlaczego ten chip nie mógłby też pełnić tej funkcji bootloadera ? Nie byłoby wtedy problemów z wgrywaniem bootloadera do mikrokontrolera.

Zależy co rozumiesz jako "funkcję bootloadera". 

W ogóle na ten temat narosło mnóstwo mitów. Już samo stwierdzenie czesto widywane "wypalanie bootloadera"... Co to w ogóle oznacza? Przecież to "wypalanie" to jest normalny proces wgrywania oprogramowania, bo w istocie botloader jest takim dodatkowym programem który "umie" zmodyfikować program główny. To oznacza ciekawą właściwość AVR: mikrokontroler potrafi sam siebie przeprogramować 🙂

To możesz zapytać po co ten botloader? 

Więc odpowiadam: służy on do aktualizowania aplikacji wtedy kiedy nie ma dostępu do pinów ISP np: masz urządzenie gdzieś w trudno dostępnym miejscu. Ale zbudowałeś łącze radiowe np:bluetooth. No i przychodzi czas na aktualizacje to zamiast wyjmować urządzenie z obudowy, możesz przesłać program ot choćby przez tego bluetooth-a. Zamiast BT możesz użyć wielu innych interfejsów w tym również karty pamięci i w taki sposób podmienić kod swojej aplikacji. 

OK. Dzięki. Ale sformułuję pytanie inaczej. Dlaczego Bootloadera nie umieszczono w osobnym chipie, który przecież mógłby się komunikować z mikrokontrolerem. W ten sposób uniknięto by kłopotliwego problemu z wgrywaniem Bootloadera. Byłby wgrany raz na zawsze i po kłopocie. Wystarczyłoby tylko wybierać w IDE, czy na płytce opcję z Bootloaderem czy bez.

Pozatym pamietaj ze dla roznego procka jest rozny boot, a dla duzej grupy prockow jeden chip do komunikacji...wiec juz z automatu bylo by to zle rozwiazanie (o ile by to dzialalo wogole) 

  • Lubię! 1

Kolego @zom botloader jest zawarty w mikrokontrolerze, natomiast kod bootloadera musi być wgrany odrębnie. Skoro miałby być przechowywany w odrębnym ukladzie to wtedy jego użycie mijałoby się z celem i łatwiej byłoby wgrywać program przez isp. A dlaczego jest jak jest to trudno mi powiedzieć, najpewniej chodziło o uproszczenie tak aby początkujący nie musieli kombiniwać z zewnętrznymi programatorami. 

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...