Bootloader pro ATmega328
Moderátor: Moderátoři
Bootloader pro ATmega328
Ahoj, potřeboval bych radu. Hledám bootloader pro ATmega328. Potřebuji pouze základní funkci. to znamená, při normální práci bude uživatelský program komunikovat po sériové lince s připojeným zařízením a přenášet data. Když se na linku připojím s prohramovacím SW, používám Atmel studio, tak bootloader provede upgrade SW v MCU.
Na internetu jsem našel pouze bootloadery pro Arduino a nejsem si jistý, jestli je to obecně použitelné.
Díky za radu.
Na internetu jsem našel pouze bootloadery pro Arduino a nejsem si jistý, jestli je to obecně použitelné.
Díky za radu.
Jirka
Já to chápu tak, že bootloader potřebuje:
1/ software pro MCU
2/ software pro uživatele (pro PC)
Obojí už dodává Atmel (zdarma) . http://www.atmel.com/
1/ software pro MCU
2/ software pro uživatele (pro PC)
Obojí už dodává Atmel (zdarma) . http://www.atmel.com/
Pro komunikaci při běhu firmware se nepoužívá bootloader. Firmware obsahuje sám kód pro ovládání např. sériové komunikace. To si můžete naprogramovat sám, nebo použít nějaké knihovny.
Při použití AS si opatřete levný programátor přes ISP, z Číny se dá sehnat pod 2 dolary. U nás asi za 150 Kč:
http://pest.cz/programator-usbasp-usb-i ... rogramator
Je to lepší než všechny bootloadery.
Pro bootloader přes sériovou linku byste stejně musel mít převodník USB <-> serial.
Při použití AS si opatřete levný programátor přes ISP, z Číny se dá sehnat pod 2 dolary. U nás asi za 150 Kč:
http://pest.cz/programator-usbasp-usb-i ... rogramator
Je to lepší než všechny bootloadery.
Pro bootloader přes sériovou linku byste stejně musel mít převodník USB <-> serial.
Mnohokrát děkuji za rady. Bootloader jsem hledal všude možně, jen na stránky Atmelu mě nenapadlo zajít. Asi už stárnu. Hi. Už jsem si stáhnul informaci ale bude chvíli trvat, než se tím prokoušu.
ISP programátor už mám. Čidlo o kterém je řeč bude umístěné dost nepřístupně. Obávám se, že se to přece jen na poprvé nepovede bez chyb a rád bych měl možnost pohodlně udělat upgrade. Kdybych se spoléhal pouze na ISP programátor, tak bych musel čidlo demontovat, na stole přeprogramovat a opět vrátit na místo. Takže v tuto chvíli bych dal přednost řešení, které umožní download programu po sériové lince.
ISP programátor už mám. Čidlo o kterém je řeč bude umístěné dost nepřístupně. Obávám se, že se to přece jen na poprvé nepovede bez chyb a rád bych měl možnost pohodlně udělat upgrade. Kdybych se spoléhal pouze na ISP programátor, tak bych musel čidlo demontovat, na stole přeprogramovat a opět vrátit na místo. Takže v tuto chvíli bych dal přednost řešení, které umožní download programu po sériové lince.
Jirka
- pavoucisit
- Příspěvky: 176
- Registrován: 02 lis 2008, 01:00
- Bydliště: Havířov
http://www.arduino8.cz/hrajeme-si-wemos ... -wifi-ota/ za mě je toto řešení docela pěkné, řeší se pouze napájení.
Kdyby jsi chtěl natahovat program po sériové lince, tak nedovedu posoudit, jak max dlouhé vedení (např.UTP) může být. Pokud by jsi chtěl použít Arduino bootloader, tak stejně potřebuješ další drát pro reset čipu. Protože Arduino po resetu krátce čeká na příjem dat nového programu a pokud nic nepřichází, spustí se zavedený program.
Kdyby jsi chtěl natahovat program po sériové lince, tak nedovedu posoudit, jak max dlouhé vedení (např.UTP) může být. Pokud by jsi chtěl použít Arduino bootloader, tak stejně potřebuješ další drát pro reset čipu. Protože Arduino po resetu krátce čeká na příjem dat nového programu a pokud nic nepřichází, spustí se zavedený program.
muzu potvrdit tvrzeni pana dobrman RS485 da opravdu hodne ja osobne mam vyzkouseno 532m
tady na foru nekdo zkusil pres 4km![Very Happy :D](./images/smilies/icon_biggrin.gif)
a horsi RS232 taky neni uplne spatne tech 10m da spolehlive osobne sem zkousel zatim max jen 2m
tady nekdo pise ze ma vyzkouseno 60m
hodne zalezi jak zarusene to prostredi bude ... ale rozhodne bych se toho nebal ![Wink ;)](./images/smilies/icon_wink.gif)
tady na foru nekdo zkusil pres 4km
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Kód: Vybrat vše
http://forums.parallax.com/discussion/114581/rs-485-and-max-cable-length
tady nekdo pise ze ma vyzkouseno 60m
Kód: Vybrat vše
http://www.edaboard.com/thread47096.html
![Wink ;)](./images/smilies/icon_wink.gif)
Tomáš
Nejsem si s tím jist, alespoň co se týče bootloaderu pro Arduino. Po resetu se skočí do bootloaderu a tam se čeká jistou dobu. Pokud se v této době započne s uploadem firmware je v činnosti bootloader. Pokud se tato doba překročí, startuje se normální běh. Tipuji, že i jiné bootloadery to dělají podobně. Musel byste mít speciální spínač ovládaný z PC, který bude zapínání napětí synchronizovat s uploadem firmware.Jirka525 píše:Což o to, vypadá to pěkně. Jenže wifi tam nemám, zatímco RS485 ano. Reset bych vyřešil odepnutím napájení.
Reset MCU a skok do bootloaderu se dá udělat i softwarově něco jako:
Kód: Vybrat vše
if (SEQ_RECEIVED_IS_RESET)
{
goto BOOTLOADER_RESET_VECT;
}
Děkuji za náměty. Zatím jsem nestačil prostudovat manuál na bootloader od Atmelu http://www.microchip.com/wwwproducts/en/ATMEGA328. Ale tak rychle, jak jsem to prolétl očima mě připadá, že by to mohlo jít. Zdrojáky tam jsou, tak snad najdu, kde to čeká a prodloužím čas. Jestli se octnu ve slepé uličce, tak mě tu máte za 14 dní s prosíkem zase.
Jirka