programování mikroprocesoru ve speciální "programovací krabičce"
Jedná se o různé tzv. vývojové kity, které mají vyvedenu patici pro zasunutí mikroprocesoru nebo je v nich mikroprocesor přímo zapájen. Krabička obsahuje podpůrné obvody mikroprocesoru jako je reset obvod, obvod oscilátoru atd. Na krabičce tak potom bývá vyvedeno RESET tlačítko atd. Součástí kitu je i speciální programovací software. Nevýhodou těchto kitů je to, že je lze použít jen s konkrétními typy mikroprocesorů, pro které byly navrženy. Dále je konstruktér ochuzen obvykle o sériový kanál nebo jeden celý port, přes který se kit připojuje k sériovému portu PC, na kterém se provádí programování. Navíc nemusí být všechny vývody mikroprocesoru externě vyvedeny a nejsou tak konstruktérovi k dispozici. Výhodou je jednoduchost a rychlost programování. | |
programování mikroprocesoru za pomocí různých emulátorů
Emulátor mikroprocesoru 8051 slouží k tvorbě a odlaďování programů pro něj, "ale bez něj". Vlastní emulátor je navržen tak, aby v plné šíři emuloval (t.j. napodobil) vlastnosti mikroprocesoru ve vyvíjeném zařízení. Řada pracovních režimů umožňuje jeho použití nejrůznějšími způsoby a to i tehdy, kdy vyvíjené (zákaznické) zařízení není zcela zkompletováno.Připojení emulátoru k vyvíjenému zařízení se provádí emulačním kabelem, který vychází z emulátoru a bývá zakončen několikapinovou zástrčkou (vidlicí) ve formě pouzdra obvodu, která může být zastrčena přímo do patice místo původního (nebo dosud vůbec nezapojeného) mikroprocesoru ve vyvíjeném zařízení. Místo kabelu může být celý obvod emulátoru navržen jako jednotka, zakončená několikapinovou vidlicí (dle typu mikroprocesoru) k přímému zasunutí do patice, pokud tomu dovolí prostorové podmínky. Emulátor může být pomocí propojovacích míst (nebo softwarově) nakonfigurován tak, že představuje logický ekvivalent původního mikroprocesoru ve všech jeho možných stavech. Obslužný software emulátoru obvykle umožňuje provést kontrolu vyvíjeného programu s ohledem na vzájemnou spolupráci s periferiemi, což by bylo normálně možné provést pouze pomocí osciloskopu (toto platí i pro 1.metodu programování s program."krabičkou"). Dále umožňuje zobrazit a měnit obsahy registrů, obsahy pamětí, simulovat paměti ROM nebo RAM, spouštět a zastavit program na zvolených místech, zobrazit a změnit stavové slovo systému atd. Z výše uvedených faktů vyplývá, že k samotnému přenesení(nahrání) programu do mikroprocesoru je ještě potřeba klasický programátor (ať už univerzální nebo pro konkrétní typ mikroprocesoru). Nevýhodou tohoto způsobu programování jsou určitá omezení (byť minimální), např. pevně daný krystal, výhodou je jednoduchost ladění programů. | |
  programování mikroprocesoru pomocí univerzálního programátoru
Tento způsob využívá k programování "univerzální" programátor, který se připojuje k sériovému nebo méně často k paralelnímu portu PC. Programátor je vybaven pouze samotnou paticí pro zasunutí mikroprocesoru, obvykle je patice univerzální pro několik typů mikroprocesorů (s různým počtem vývodů). Neposkytuje mikroprocesoru žádné podpůrné obvody. V programátoru se tak provádí jen samotné programování. Podpůrné obvody je nutné mikroprocesoru zajistit na jiném místě, nejlépe tedy na desce s nepájivým kontaktním polem, kde lze celé zařízení při vývoji pohodlně odladit. Nevýhodou je náročnější programování - nikde nevídíte, co se v procesoru právě děje (stavy registrů, portů atd.) a jestli už proběhla určitá část programu apod. Obvyklou metodou, jak indikovat dosažení určité části programu nebo požadované funkce, je připojit k portu mikroprocesoru LEDku (LEDky), a v programu je na požadovaném místě ovládat (rozsvěcovat). Při tomto způsobu programování je nepříjemná nutnost přendávat mikroprocesor mezi programátorem a nepájivým kontaktním polem při sebemenší změně v programu. Dále je nutné se při programování přepínat mezi obslužným programem programátoru a textovým editorem, ve kterém píšeme program. Nevýhodou je rovněž obvykle vyšší cena univerzálního programátoru. Výhoda spočívá v tom, že konstruktér není ochuzen o žádnou část mikroprocesoru, může se zvolit takový krystal, jaký potřebuje, díky univerzálnímu programátoru může využít široké spektrum typů mikroprocesorů. K tomuto způsobu programování náleží i další alternativa a to v podobě toho, že místo univerzálního programátoru se používá programátor vyvinutý jen pro určitý typ nebo skupinu mikroprocesorů. V případě skupiny je to obvykle pro mikroprocesory od jednoho výrobce. Využití takovéhoto programátoru je v současnosti stále častější, protože jak bylo zmíněno výše, univerzální programátory jsou poměrně drahé. Naopak programátory pro určitý typ mikroprosorů jsou levné a amatersky poměrně snadno vyvinutelné a vyrobitelné. Množství konstrukcí takovýchto programátorů se neustále zvyšuje, jak je možné vysledovat z odborných časopisů nebo internetu. Já programuji procesory ATMEL programátorem PAtmel verze 1 a 2. Momentálně jsem si konečně dokončil redukci pro PAtmel 2 pro programování 89c2051 ap., abych mohl používat jen jeden programátor pro všechny čipy. |
Některé výše uvedená omezení neplatí, pokud máte možnost využít softwarového systému, který s procesorem na nepájivém kontaktním poli (a nebo i v hotové aplikaci) nějak komunikuje. Osobně používám tuto metodu: Vytvořím vývojový diagram,přepíšu jej do instrukcí JSA, přeložím jej, a pak pro ladění používám sofware NEGATRON research konkrétně MONITOR x51 za pomoci SIMEPROMu 32k. S Monitorem komunikuji buď přes TELIX nebo ve Windows přes Hyperterminál. |
© DH servis 2002 - |