Překladač Překladač slouží pro překlad zdrojového programu do strojového jazyka daného mikroprocesoru. Je tedy na typu procesoru, pro který překládá,



Podobné dokumenty
MPASM a IDE pro vývoj aplikací MCU (Microchip)

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

1 Strukturované programování

OPS Paralelní systémy, seznam pojmů, klasifikace

ČEMU ROZUMÍ MIKROPROCESOR?

ALGORITMIZACE A PROGRAMOVÁNÍ

Algoritmy a algoritmizace

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Výukový materiál zpracován v rámci projektu EU peníze školám

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Úvod. Programovací paradigmata

Témata profilové maturitní zkoušky

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

3. Počítačové systémy

09. Memory management. ZOS 2006, L.Pešička

Algoritmizace. 1. Úvod. Algoritmus

Jazyk symbolických adres

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Profilová část maturitní zkoušky 2017/2018

5. STRUKTURA PLC PROGRAMU

Principy komunikace s adaptéry periferních zařízení (PZ)

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Programovací jazyk Pascal

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Maturitní otázky z předmětu PROGRAMOVÁNÍ

VISUAL BASIC. Přehled témat

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Technické vývojové prostředky

Školní vzdělávací program Obor: 7941K/81, Gymnázium všeobecné ( osmileté ) Učební osnovy pro nižší stupeň osmiletého gymnázia

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Firmware řídící jednotky stejnosměrného generátoru

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

PERTINAX6 NÁSTROJ PRO PROGRAMOVÁNÍ ŘÍDICÍCH STANIC ZAT

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

16. Číslicový měřicí systém se sběrnicí IEEE 488 (základní seznámení)

26-41-M/01 Elektrotechnika

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Přidělování CPU Mgr. Josef Horálek

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Sada 1 - Základy programování

Martin Lísal. Úvod do MPI

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Počítač jako prostředek řízení. Struktura a organizace počítače

ČÁST 1. Základy 32bitového programování ve Windows

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

Integrovaná střední škola, Sokolnice 496

Přerušovací systém s prioritním řetězem

Profilová část maturitní zkoušky 2013/2014

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

Architektura procesoru ARM

AUTOMATIZACE Úvod do programování PLC

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

První kroky s METEL IEC IDE

Virtuální instrumentace I. Měřicí technika jako součást automatizační techniky. Virtuální instrumentace. LabVIEW. měření je zdrojem informací:

8. Laboratoř: Aritmetika a řídicí struktury programu

Software pro vzdálenou laboratoř

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

ROBOTIKA M3A 2018/2019 ING. VLADIMÍR VYHŇÁK

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Pohled do nitra mikroprocesoru Josef Horálek

Algoritmizace. Obrázek 1: Přeložení programu překladačem

Hodnoticí standard. Programátor (kód: M) Odborná způsobilost. Platnost standardu. Skupina oborů: Informatické obory (kód: 18)

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

ANOTACE vytvořených/inovovaných materiálů

Architektura počítačů

ALGORITMIZACE Příklady ze života, větvení, cykly

Změna pro Školní vzdělávací program oboru vzdělání L/51 Podnikání - ŠVP platné od

Matematika v programovacích

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Překladač a jeho struktura

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

1. Programování PLC. Programovatelné automaty II - 1 -

SEMESTRÁLNÍ PROJEKT Y38PRO

Název DUM: VY_32_INOVACE_2B_9_Software_-_základní_programové_vybavení_počítače

Práce v textovém editoru

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

Databáze pro evidenci výrobků

Program a životní cyklus programu

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Architektury počítačů a procesorů

Psaní programu pro PLC SIMATIC S7-300 pomocí STEP 7

Vzdělávací obsah předmětu

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Osobní počítač. Zpracoval: ict Aktualizace:

P r e z e n t a c e p r o j e k t u. Přílohy k prezentaci

Informatika a výpočetní technika

Transkript:

7. Vývojové prostředky pro tvorbu aplikačního software Čas ke studiu: 1,5 hodiny Cíl Po prostudování tohoto odstavce budete umět definovat základní požadavky na vývojové programové vybavení pro tvorbu aplikačního software popsat rozdělení strojového času mikropočítače pro různé úlohy řešené řídicím mikropočítačem sestavit základní strukturu a vazby mezi jednotlivými programovými bloky aplikačního softwaru Výklad Programové vybavení vlastně definuje činnost technických prostředků a je minimálně stejně důležité. Kvalitní programové vybavení také cenou může snadno převýšit cenu vybavení technického. V následujícím přehledu je popsáno programovému vybavení mikropočítačů se zřetelem zejména na mikropočítače řídicí, jejichž problematika je poněkud méně známá než problematika mikropočítačů osobních. 7.1. Vývojové programové vybavení Postup při vývoji programu pro mikropočítač ilustruje vývojový diagram na obr. 7.1. Poněvadž obvykle nevolíme cestu psaní programů přímo ve strojovém kódu mikropočítače, potřebujeme pro vývoj aplikačního programu také další podpůrné prostředky. Ty označujeme jako vývojové. Editor Na počátku je představa, o jejíž realizaci po případné formalizaci se pokusíme v nějakém programovém jazyce. Program, který nazýváme zdrojový, je však třeba přenést do paměti počítače, na kterém bude vývoj probíhat. K tomuto zápisu slouží takzvaný editor. Základní požadavky na editor jsou: úplné zobrazení obsahu souboru a to pokud možno včetně řídicích znaků, obrazovkový charakter editace, s možností plynulého i zrychleného pohybu v souboru, možnost vkládání a přepisování do textu, možnost vyhledávání skupin znaků a jejich případné automatické nahrazování jinými, možnost práce s bloky, např. označení, kopie, přesouvání, možnost vytvářet makropříkazy, tj. sdružovat příkazy do dávek. 96

Překladač Překladač slouží pro překlad zdrojového programu do strojového jazyka daného mikroprocesoru. Je tedy na typu procesoru, pro který překládá, závislý a pro jiný procesor musíme volit jiný překladač. Výjimkou jsou mikroprocesory, které mají stejný strojový jazyk, což je málokdy. Pokud překladač pracuje na počítači vybaveném jiným mikroprocesorem, než pro který překládá, říkáme, že je křížový, což platí i o dalších vývojových programech. Máme-li si vybrat mezi několika překladači různých firem, zjistíme, že se od sebe liší komfortem obsluhy a podobně. Překladače výrobce mikroprocesoru jsou obvykle nejpreciznější, ovšem někdy mají nižší komfort obsluhy. Překladač vytváří program ve strojovém kódu a to většinou v takzvaných relativních adresách. Takový program ještě má dosazeny adresy u skokových instrukcí, je přemístitelný, což umožňuje jeho kombinaci s dalšími moduly. Návrh zdrojového programu EDITOR Zdrojový program KNIHOVNÍ PROGRAM Knihovna PŘEKLADAČ Program v relativ. adresách Další programový modul SPOJOVACÍ A UMÍSŤOVACÍ PROGRAM Cílový program neodladěný LADICÍ PROGRAM Cílový program odladěný Obr. 7.1. Softwarové prostředky a postup při vývoji aplikačního software Základní otázkou při volbě překladače je ovšem v jakém programovacím jazyce je program napsán. K dispozici jsou následující možnosti. Strojově orientované jazyky jsou jazyky nejblíže mikroprocesoru, ve kterých jsme schopni přímo využít vlastnosti mikroprocesoru, a proto psát nejkratší a nejrychlejší programy. Jsou to ovšem také programy méně přehledné, u kterých bez dostatečného komentáře není s časovým odstupem zřejmé, co vlastně vykonávají. Proto je možno jejich výhody uplatnit pouze pro kratší programy (nanejvýš několik KBytů). Díky vyšší pracnosti je užíváme tam, kde je to účelné nebo nezbytné. 97

Typickým představitelem je jazyk symbolických instrukcí (též jazyk symbolických adres), jehož syntaxe je postavena na symbolických názvech instrukcí. Jazyk umožňuje definovat symbolická jména, návěští, tabulky, definovat programové moduly a spolupráci mezi nimi, definovat makroinstrukce a podobně. Překladač z jazyka symbolických instrukcí bývá uváděn pod názvem asembler, méně přesně se tento název přenáší na jazyk samotný. Mikropočítačově orientované vyšší programovací jazyky již odstraňují alespoň částečně nepřehlednost předchozích jazyků tím, že jejich programovací jazyk se skládá z instrukcí blízkých vyšším programovacím jazykům. Dovolují však snadno sestoupit na úroveň strojově orientovaných jazyků. Díky tomu jsou velmi efektivní, a proto je v nich často vytvářeno systémové programové vybavení. Jsou závislé na typu mikroprocesoru. Příkladem jsou jazyky PL/M (Intel), MPL (Motorola), PLZ-SYS (Zilog). Význam těchto jazyků v poslední době ustupuje do pozadí a stále více se prosazují univerzální programovací jazyky, jejichž nové verze jsou schopna nabídnout uživateli možnost proniknout až k mikroprocesoru (např. určovat uložení proměnných v paměti, přecházet do jazyka symbolických instrukcí a podobně). Typickým představitelem je jazyk C, který měl tyto možnosti od počátku. Nyní jsou překladače tohoto jazyka k dispozici pro většinu mikroprocesorů. Novými možnostmi jsou vybavovány i poslední verze Pascalu atd. Knihovní program Je užitečné archivovat univerzální části již vytvořených programů pro další použití. Tyto programové moduly se ukládají ve formě souborů do takzvané knihovny, což je vlastně programový balík obvykle zaměřený na určitou problematiku. Správou knihovny se zabývá knihovní program, který umožňuje přidávání programů do knihovny, jejich správu a pozdější vyzvednutí. Typickým příkladem knihovny je aritmetická knihovna sdružující programy pro aritmetické výpočty. Spojovací a umisťovací program Spojovací program (linker) umožní sestavit podle požadavků cílový program spojením jednotlivých modulů. Přitom obvykle respektuje části, ve kterých je program a části určené pro data, tabulky a podobně. Umisťovací program (locator) nahradí relativní adresy adresami absolutními (skutečnými). Tak vznikne program v absolutních adresách, který je již možno zavést do paměti mikropočítače a spustit. Hovoříme o cílovém programu. Zde problémy nekončí, ale většinou teprve začínají, protože program je neodladěný. Během překladu se odstraní pouze syntaktické chyby. Simulační a ladicí programy Slouží pro zjištění, zda program je schopen funkce. Umožňují například nahrávat program do paměti, krokovat ho, měnit obsahy registrů, zobrazovat si jejich obsah, zobrazovat a měnit obsah paměti. Komfortnější programy pak respektují zavedené symbolické názvy a umožňují i přímo upravovat program. Takto lze některé programy odladit mnohem efektivněji, než jen jejich spuštěním. Simulace však těžko může postihnout všechny problémy, pokud mikropočítač spolupracuje se systémem v reálném čase, který nelze zpomalit. Moderní vývojové prostředky Sdružují dříve uvedené prostředky do prostředí, ze kterého uživatel jednotlivé činnosti vyvolává, aniž se musí zatěžovat přesnou a komplikovanou syntaxí volání dílčích vývojových prostředků. Takovými typickými prostředky jsou turbo-překladače, kdy si uživatel ani nemusí uvědomovat, jaké všechny činnosti za něj takový program vykonává. 98

7.2. Systémové programové vybavení Systémové programové vybavení potřebuje mikropočítač ke své činnosti stále, poněvadž zajišťuje jeho systémové funkce. Je zřejmé, že jednoúčelové mikropočítače sloužící k řízení, např. automatické pračky, takové vybavení nemají, nebo že je v jejich případě součástí vybavení aplikačního. Prakticky nezbytné je u osobních počítačů, vývojových systémů a podobně. Do systémového programového vybavení zařadíme také programy zajišťující provoz počítačové sítě a jiné. Operační systém Také jednoduché mikropočítače, které komunikují s uživatelem a umožňují spouštět programy, jsou vybaveny více či méně zjednodušeným operačním systémem. Jeho nejjednodušší formou je takzvaný MONITOR, což je program uložený většinou v pevné paměti mikropočítače a zajišťující podle jednoduchých jednopísmenných příkazů základní funkce. Vyskytuje se výukových mikropočítačů a u některých řídicích mikropočítačů. Umí zobrazovat a měnit obsah paměti a registrů mikroprocesoru, spouštět a krokovat program, případně komunikovat buď s externí pamětí nebo s dalším mikropočítačem. Takový systémový program slouží pro ladění úloh na úrovni strojového jazyka. U řídicích systémů může být dodáván jako základní programové vybavení (aby mikropočítač nebyl mrtvý) a po odladění může být činnost monitoru zcela zablokována. Protože monitor v sobě obsahuje podprogramy se standardními vstupy a výstupy mikropočítače, jsou někdy tyto procedury využívány i aplikačními programy jako takzvané monitorové služby. V žádném případě však monitor není prostředek pro komunikaci s obsluhou neškolenou v oblasti mikropočítačů. Diagnostické programy Také diagnostické programy mohou být v mikropočítači trvale přítomny, aby včas zjistily chybu systému a pokusily se o nápravnou akci. Mikropočítače často provádějí diagnostiku při své inicializaci, kdy kontrolují základní funkce jednotlivých bloků. Další diagnostika při běhu kontroluje obsah určitých registrů nebo paměťových buněk v určitém stavu procesu, počet průchodů cyklem, zda program vykonává pravidelně určitou činnost. Dále se zjišťují kontrolní součty paměti porovnávají se s správnou hodnotou. S tím souvisí ovšem i preventivní akce zvyšující spolehlivost, například pravidelným zálohováním dat nebo dokonce paralelním vícenásobným zpracováním téhož procesu. Kromě diagnostických programů pracujících při běhu pracovního programu existují ještě programy zaměřené na určité bloky technického vybavení a spouštěné pro detailní ověření správné funkce při podezření na chybu. Mezi diagnostické programy můžeme zařadit i programy pro ochranu před viry u osobních počítačů. 7.3. Aplikační programové vybavení Teprve tyto programy plní úkoly, které jsou předepsány pro mikropočítač v dané aplikaci. Někdy k tomu potřebují podporu systémových programů, někdy pracují sami. Existují programy, které mají obrovské pole působnosti a které běží v tisících aplikací (databázové, textové a jiné pro osobní počítače) a pak jsou programy unikátní (například řízení válcovací stolice), které jsou dodány pouze jednomu uživateli. To pochopitelně podstatně ovlivňuje cenu aplikačních programů. 99

7.4. Vzájemné vazby programových modulů Řídicí mikropočítač musí řešit různé úlohy, např. šířkově-pulsní modulaci, regulaci proudů, mechanické úhlové rychlosti a magnetického toku. Navíc musí zajistit komunikaci s uživatelem a případnou změnu žádaných veličin. Mikropočítač nemůže zpracovávat úlohy paralelně, proto je jednotlivým úlohám přidělena určitá priorita, podle které je určováno pořadí, v jakém budou obslouženy. Obr. 7.2. Rozdělení strojového času mikroprocesoru INTEL 80 186 Rozdělení strojového času mezi jednotlivé úkoly je znázorněno na obr. 7.2. Nejvyšší prioritu (úroveň I) má program šířkově-pulsní modulace PWM využívající princip komparační metody. Nižší prioritu (úroveň II) má program regulace složek vektoru statorového proudu v systému orientovaných souřadnic, regulace rychlosti, regulace magnetického toku a výpočtu žádané hodnoty magnetického toku. Činnost tohoto programu může být přerušena programem šířkově-pulsní modulace. Nejnižší prioritu (úroveň III) má zadní program, který zajišťuje komunikaci s uživatelem a umožňuje změnu žádané rychlosti, parametrů regulátorů, záznam vnitřních a vnějších veličin během přechodných dějů, jejich zobrazení na čtyřkanálovém osciloskopu a vyslání do počítače PC pro další zpracování. Přesné spouštění regulačních programů zajišťují dva časovače T0 (proud, rychlost, magnetický tok) a T2 (šířkově-pulsní modulace). Časovače generují pro CPU přerušení (T0 interval 1ms, T2 interval 80 µs), při jejichž obsloužení jsou provedeny regulační algoritmy. Z hlediska časové náročnosti je rozhodující doba realizace šířkově-pulsní modulace. V případě, že bude trvat velmi dlouho, nezbude čas na provedení programů s nižší prioritou. Dílčí úlohy jsou řešeny jako samostatné podprogramy. Obr. 7.3. ukazuje vzájemné vazby mezi jednotlivými programovými moduly. 100

Start Inicializace Rozběh Zadní program Stop Přerušení od T 0 Regulace proudu Přerušení od T 2 Přerušení od T 2 Program PWM Obr. 7.3. Vzájemné vazby mezi programovými moduly Shrnutí pojmů 7 Klíčová slova: Editor, překladač, linker, locator, aplikační software. Otázky 7 1. Definujte vývojové prostředky pro tvorbu aplikačního software. 2. Vysvětlete vzájemné vazby mezi jednotlivými částmi aplikačního software pro řízení elektrického pohonu. 101