Stránka 1 z 1

Co je bootloader?

Napsal: 15 led 2013, 14:57
od mbrazdil
Zdravim Vas,

mohl by mi prosim nekdo vysvetlit k cemu je dobry "bootloader" u MCU?

Napsal: 15 led 2013, 15:38
od Habesan
Klidně pokračuj v minulém vlákně, také očekávám, že se pochlubíš dalším vývojem pracovního poměru.

UTFG
Nejčastěji se bootloader používá k tomu, aby bylo možné aktualizovat software v procesoru přes sériový kabel.

Je to malý prográmek nahraný v MCU, který po resetu zběžně zkontroluje vstupy a výstupy, a buď nechá hlavní program ať pokračuje, nebo očekává přísun nového SW.
K dalšímu studiu se podívej, jak si lze doma postavit Arduino.

Napsal: 17 úno 2013, 22:40
od alvr
Taky jsem ted v datasheetu Atmega644 cetl o bootloaderu a nevim na co bych ho mohl pouzit. Z toho popisu jsem nepochopil ani jak ho aplikovat ani k cemu :-( Budu si to muset precist nekolikrat :-) Muze nekdo dat jeste vice moznych prikladu pro lepsi predstavu?

Napsal: 18 úno 2013, 07:02
od AB1
Ve stručnosti asi takto:

Paměť programu (FLASH) má u větších typů Avr dvě části:
Application section a Bootloader section.
Application section začíná na adrese 0. Je to ta část paměti, kam zapisujeme náš uživatelský program.
Bootloader sekce je naopak umístěná na konci paměti (např. u mega8 jsou to poslední dva kilobajty).

Bootloader je malý program, umístěný v sekci bootloader.
Tento program umí
1. Komunikovat s okolím (nejčastěji přes uart).
2. Zapisovat do aplikační sekce, to jest do paměti ve které sám sídlí.

Bootloader používáme k zapsání programu do mproc.
Prostě mproc připojíme seriovou linkou k PC a posíláme příkazy:
na adresu 0 zapiš 0xa111
na adresu 1 zapiš 0xb212
na adresu 2 zapiš 0xc313
atd.

Tím pádem nepotřebujeme žádný programátor (HW).

Praktický postup při programování přes bootloader je stejný jako přes programátor.
Např v Avrdude jenom změníme typ programátoru na bootloader. Ostatní příkazy se nemění.
(Pokud pošleme příkaz Chip Erase, vymaže se jenom aplikační sekce. Sám sebe bootloader nevymaže.)

Napsal: 18 úno 2013, 07:47
od alvr
OK, chapu. A ma to nejake dobre vyuziti i co se tyce behu samotneho programu?

Napsal: 18 úno 2013, 08:15
od Panda38
Při běhu programu bývá bootloader odstavený a neuplatní se. Používá se v zařízeních umožňujících updatovat firmware (protože jinak program sám sebe nahradit nemůže).

Napsal: 18 úno 2013, 08:30
od p32
Např. z těch zařízení to je DVD přehrávač, kde jde tímto způsobem nahrát vlastní program, tzn. jeho aktualizaci. Většinou jsem to používal v případech, kdy si uživatel špatně nahrál aktualizaci přes DVD médium a přehrávač se zaseknul a nefungoval. To samé se používá u satelitních přijímačů, praček, televizí, ale tam se to dělá přes sériový port a až když je nejhůř, tak se vleze opět dovnitř na piny pro to tam dané.

Napsal: 26 úno 2013, 19:08
od mbrazdil
Takze pokud jsem to vsechno dobre pochopil, tak bootloader je jen a pouze k nahravani noveho SW do mcu, je to tak? Bootloader nema vubec nic spolecneho napr. s real-time posilani informaci ze snimace do PC.

Napsal: 28 úno 2013, 08:47
od Habesan
Ano, všeobecně.
Tedy dovedu si představit, že v tom bootloaderu bys mohl mít podprogram pro sériový port, který bys mohl volat i při běžném provozu, kdybys potřeboval.