Atmega1281, jak programovat, úplné začátky

Ahoj. Snažím se o programování Zigbit ATZB-24-A2 zařízení, které má v sobě MCU ATmega1281. MCU je připojené na převodník FT232RL. Při zapnutí napájení Zigbit zařízení a připojení USB do počítače se nainstalovaly ovladače a viděl jsem jej ve správci zařízení jako USB serial port COM8.

Teď bych se ale potřeboval nějak spojit přímo s MCU, abych jej mohl programovat. Mělo by to jít přes programátor a rozhraní JTAG nebo ISP, ale ten zatím nemám. Něco jsem si našel o bootloaderu, ale nejsem si jistý, zda lze přes něj programovat MCU.

Mám nainstalováno i Atmel Studio 6.

Takže zatím potřebuji pouze zjistit, zda mám spojení s ATmegou1281. Abych věděl, že mám na desce vše v pořádku. Jak na to?

Pomohl by mi někdo v začátcích? Děkuji.

bez programátoru to nepůjde

Pokud není v mcu naprogramovaný bootloader, který by byl schopný programovat IO po sériový lince.

Tipuji, že tam bude obojí :smiley:
Každopádně tam bude ISP nebo Jtag připojení (bez toho prvotní naprogramování těžko zvládli).

P.S. Právě jsem se koukl na datasheet. Je tam JTAG a bootloader.

Novu ATmegu teba najprv naprogramovat tak aby sa dala neskor preprogramovavat napriklad cez UART, alebo cez hociktore ine rozhranie (I2C, SPI-bez pouzitia pinu RESET, 1-wire, …). Bez programatoru to vsak urcite nepojde.

Ano píšou že tam bootloader už je. Takže by to mělo fungovat. Mohl by mě někdo vysvětlit teoretický postup pro přehrání firmwaru do MCU? Dejme tomu, že mám napsaný kód, je přeložitelný pro ATmegu1281, jak jej dostanu přes bootloader do MCU?

V datasheete sa pise, ze procesor ma boot loader support. Na programovanie cez SPI potrebujes ten programator. To tiez znamena, ze nemusis procesor vyberat zo zariadenia a davat ho extra do programatora, ale ze sa da procesor naprogramovat priamo v aplikacii - In system programing. Nikde as nepise, ze by to malo ist priamo od vyroby cez UART bez potreby zariadenia, ktore vie mcu naprogramovat bud cez SPI alebo cez JTAG.

Děkuji. Já se snažím ty datasheety číst co to jde, ale ne vždycky to přeložím/pochopím správně. Zatím si budu zkoušet psát a simulovat něco jednoduchého v Atmel Studiu a až cca ve středu budu mít programátor.

Takže: Pokud jsi úspěšně nainstaloval USB drivery a spojil jsi se s modulem, tak to znamená, že ATmega není prázdný, ale cosi obsahuje. Když bys trošku pohledal co o tom píše Atmel, tak by ses dozvěděl, že všechny tyto moduly obsahují něco z “The Ranging Toolbox (RTB) firmware package”, tzn. **s programátorem či JTAGem na to vůbec nechoď! **Hrozí, že si ten firmware v procesoru poškodíš.

Nastuduj si, jak ten modul komunikuje dle ZigBee specifikace (je to poměrně vysokoúrovňová komunikace, proto USB atd), a komunikuj s ním tak, jak se má. V datasheetu jsou na stránce 1-4 uvedeny nějaké “related documents”, a Atmel na svých stránkách má Application notes (je třeba na ně přepnout, pod obrázkem je “roletka”)

en.wikipedia.org/wiki/ZigBee
tablix.org/~avian/blog/archi … t_modules/
atmel.com/products/microcont … =documents

Závěrem si neodpustím - proč se pouštíš do takové už poměrně pokročilé věci, když ani pořádně netušíš, co přesně procesor je a jak funguje, a za půl roku ses nebyl schopen nikam pořádně posunout (myslím to vážně, není to rýpání, ten důvod by mě opravdu zajímal)? Nebylo by lepší koupit si nejdřív třeba Arduino Mega 2560 s hodně podobným procesorem, a tam si to trochu osahat (a pak přes něj s tím modulem třeba i komunikovat)?

Ještě takové doplnění: Ten modul má sloužit hlavně k měřícím, monitorovacím a řídícím účelům, a byl vytvořen tak, aby byl součástí většího celku. Není to nějaký obyčejný modul typu “z jedný strany do toho něco nasypu a z druhý strany z toho něco trochu jinýho vypadne”, je to modul schopný spolu s dalšími moduly vytvořit i rozsáhlé bezdrátové sítě (jeden modul “Coordinator”, tedy master, několik opakovačů, ostatní “obyčejní členové”). Dokážu si tedy představit např. nějakou výrobní halu nacpanou mnoha stroji spojenými ve výrobních linkách, osazenými těmito moduly tvořícími bezdrátovou síť, sloužícími pro účely servisní, statistické aj. (hlídání mezních stavů jako poruchy, nedostatek materiálu, počítání kusů apod).

Zapomeň tedy na to, že v tom je nějaký procesor, který by ses pokusil nějak programovat, dívej se na to jako na jeden kus hardware. Ten procesor obsahuje poměrně složitý software (jehož některé části jsou dokonce proprietární), který slouží hlavně k řízení komunikace v té bezdrátové síti, a pak až k tomu ostatnímu (sběr dat atd). Funkcí je to nejblíž asi k wi-fi routeru, až na to, že nepracuje podle wi-fi normy, ale podle jiné. Moduly mají (či mohou mít) mnoho rozhraní jako LAN, USB, SPI, RS232, 1-wire, nějaké I/O piny atd, ale vše slouží pouze ke komunikaci a sběru dat, ne proto, abys přes to cpal procesoru nějaké vlastní programy. O bootloaderu platí téměř to samé, prostě nějaký má, ale ten též “není pro tebe”. Firmware toho procesoru umožňuje zpracovávat i nějaké vlastní programové moduly, ty se ale tvoří pomocí BitCloud SDK, který též Atmel dodává (a je to též proprietární software), ne tak, že tam budeš rvát nějaké kdovíjaké vlastní HEXy.

Takže pokud jsi měl před půlrokem problém zapojit správně LED na IO pin, tak ne že sis ukousl velké sousto, ty se tu pokoušíš sežrat sám celou velrybu - pokud k tomu teď pořádně zasedneš, tak za pár let se ti to možná podaří, pokud se mezitím něco někde ne(z)pokazí. Proč jsi se pustil sám do takové věci? Určitě by se našly jednodušší cesty, pokud bychom tedy věděli, co je vlastně cílem…(?)

Zle som pochopil prvy prispevok. Ak je ten procesor v niecom a je v nom uz nieco predprogramovane niekym inym ako vyrobcom mcu, treba sa drzat jeho datasheetu. Takze informator bude mat s vysokou pravdepodobnostou pravdu.

Zigbee stara technologia na ustupe do ktorej firmy napchali prachy. Mali sme to v skole furt bol dajaky problem aby to chodilo a nemrzlo. Nastupcom je DASH7, mensia spotreba vecsi dosah

Mám mezi ZigBitem a konektorem USB převodník FT232RL, takže počítám, že jsem se spojil s ním.

Je součásti většího celku.

No, ale potřebuji i zapínat a vypínat log.0/1 na tyto piny. Takže nějak ho řídit musím. Takže ho tam nahraji přes BitCloud SDK.

Protože to je moje bakalářka, jde o bezdrátovou senzorovou síť. Sedím nad tím celé dny, tak snad se mi to podaří. Dostal jsem pouze ZigBit moduly.
Myslel jsem že ten BitCloud je pouze k development kitu.

Za půl roku jsem se posunul(navrhnutí, výroba PCB, osazení), ale měl jsem více projektů než tento. Vím jak funguje procesor. V mém případě je spíš problém angličtiny, proto tak tápám.

Dík za informace.

Spojení PC s převodníkem FT232RL se projeví tak, že se v systému objeví jeho driver (USB driver a příp. i virtuální COM port, pokud je povolená jeho simulace). To je nezávislé na tom, zda je převodník spojení s jednočipem. Zda jednočip komunikuje lze poznat komunikací přes COM port, např. přes hyperterminál (pokud je známé nastavení COM portu a komunikační protokol).

Už s tím začínám pomalu pracovat. Děkuji všem.
ZigBit komunikuje pomocí COM portu :slight_smile: