Kedže pri svojej hobby práci sem-tam zavadím o nejaké AVR-ko, vyvstala potreba ho nejako naprogramovať. Pretože starý programátor na báze aplikačnej poznámky AVR910 (http://www.atmel.com/images/doc0943.pdf) som požičal (a nedostal naspät), jednoduché programátory na paralelný port sa priečia môjmu presvedčeniu (a vôbec, kde mám ten paralelný port?), rozhodol som sa, že si nejaký programátor poskladám sám.
Ako na to? Pozrel som sa sem (http://www.tuxgraphics.org/electronics/200510/article05101.shtml) a vzal som si túto implementáciu STK500. Pôvodné zdrojové kódy neboli podľa môjho gusta. Hardwarovo závislé časti boli rozhádzané kde-kade, takže som to trošku preorganizoval a rozdelil do dvoch súborov – jeden by mal byť súhrnom platformne závislého kódu (hw.c/.h) , druhý skrýva implementáciu STK500 protokolu (main.c/command.h). Ak by som sa jedného dňa rozhodol preportovať STK500 na iný mikrokontrolér, malo by byť potrebné robiť zásahy iba v súbore hw.c/.h I tak som urobil – pretože AVR-ká nemám ani trochu v láske, napísal som si hardwarovú platformu pre PIC16F1xxx, krátko povaril a výsledkom je programátor, ktorý beží na PIC16F1825. Pôvodne som chcel použiť MCU v 8-pinovom puzdre, ale nebolo by kam dať blikajúcu LED-ku (mám rád svetielka), zvolil som 14-pinové púzdro. Keďže som mal nejaké IO piny navyše, použil som externý kryštál na časovanie, hoci interný oscilátor v PIC by zrejme stačil. Chcel som sa vyhnúť použitiu SMD súčiastok, lebo prototyp vznikal na univerzálnom plošnom spoji – aj preto som použil obligátny MAX3232 namiesto FT232, hoci nič nebráni použiť USB rozhranie. Okrem toho, sériových portov – či už v podobe USB/RS232 prevodníkov alebo „klasických“ COM portov, mám na pracovnom stole viacero. Programátor je napájaný z cieľovej aplikácie. Potrebu napájať aplikáciu z programátora nemám.
Prototyp programátora je na univerzálnej doske, ale navrhol a otestoval som aj verziu na obojstrannom plošnom spoji, predloha je v prílohe.
Ako to funguje? Používam to už niekoľko mesiacov a naprogramoval som s tým desiatky kusov AVR MCU, tak by som povedal, že to uspokojivo plní svoj účel. Okrem toho, spokojnosťou ma napĺňa pocit, že low-endové PIC-ko cvičí s AVR-kom.
Otestoval som to pod OS Windows 7 a Ubuntu 13.04, v oboch prípadoch s klasickým COM portom aj USB-RS232 prevodníkom. Používal som prednostne AVRDude, ale PIC500 funguje aj s AVR Studiom.
FAQ: 1, Prečo si nepoužil existujúce riešenia implementujúce STK500 v AVR-ku? - Lebo medveď. AVR-ka nemám rád a o jedno menej je vždy fajn. 2, Prečo tam nie je USB? - Lebo sa mi nechcelo. So sériákom mi to stačí. 3, Môžem tento programátor používať na neuzemnenom stole, zatiaľ čo sedím na umelohmotnom koberci, oblečený mám odev zo syntetických vlákien a práve triem ebonitovú tyč líščím ohonom? - Nie, lebo to nemá nijakú ESD ochranu.
On November 21, 2023, Microsoft announced Azure RTOS will be transitioning to an open source model under the stewardship of the Eclipse Foundation. With Eclipse Foundation as the new home, Azure RTOS becomes Eclipse ThreadX, or "ThreadX" in its short form.
modm is an umbrella project for a handful of stand-alone projects and acts as a curated toolbox for creating custom C++ libraries for embedded targets. [URL adresa]
Stránky generuje redakčný systém e107, a údaje do neho nahadzujú EdizonTN a redaktori. Všetky zverejnené informácie si výhradne po dohode s administrátorom, dajte kam chcete.... Príspevky v diskusnom fóre a komentároch, vyjadrujú názory čitateľov. Redakcia serveru nenesie zodpovednosť za ich obsah. Vyhradzuje si však právo ich odstraňovať. (c) 2009-2022 Sledujte nás cez RSS, BlueSky, X, Facebook, MeWe, Mastodon, Telegram, Discord, reddit, Git-Hub alebo na YouTube . Verzia pre mobily