SofCon s.r.o.
   Hlavní Zpravodaj   10/2005

Možnosti programování nových procesorových desek


Úvod

S nástupem řídících systémů KIT resp. KITBOX s procesorovými deskami KIT188ER, KITMSM586 a KITPC (která je použita i v TOUCH51, TOUCH51/IO) bylo třeba řešit i inovaci programové podpory.

V současné době nabízí SofCon pro tyto procesory následující programové vybavení:

·        Osvědčené 16-bitové prostředí BP-ReTOS, postavené na programovacím jazyku Borland Pascal 7.0, operačním systému reálného času ReTOS a systémových knihovnách LIB, LIBV, spouštěné nad o.s.DOS, využívající DPM (DOS protected mode)(pouze KITMSM586, KITPC (TOUCH51))

·        Modifikace BP-ReTOS pro KI188ER (BIOS mód nebo FreeDOS mód)

·        32-bitový operační systém reálného času, např. PharLap ETS firmy Ardence (pouze KITMSM586, KITPC (TOUCH51))

·        Programové prostředí MS Windows. (pouze KITPC (TOUCH51))

Tento článek shrnuje základní vlastnosti a rozdíly výše uvedených programovacích prostředí.


BP-RETOS pro o.s. DOS

16-bitové prostředí BP-ReTOS používá překladač a ladící prostředky Borland Pascal 7.0 (dále jen BP7), operační systém reálného času ReTOS a vizualizační knihovny LIBV..

ReTOS je systém reálného času, který umožňuje vytvářet jednoprocesní, více vláknové realtimové aplikace v programovacím jazyce BP7 a spouštět je na všech řídících jednotkách KIT firmy SofCon. Z jazyka Pascal se použitím jádra ReTOS stává prostředek kvalitativně vyšší úrovně, který poskytuje možnosti specializovaných realtimových jazyků.

Pro vizualizaci všech terminálů a touch panelů firmy SofCon je možno použít firemní objektové knihovny LIBV, strukturou podobné Turbo Vision.

Při linkování knihoven použijeme systémové knihovny z adresáře TPP7, abychom mohli využít DPM (DOS protect mód) při práci s pamětí. Ten nám umožní psát aplikace s velikostí nad 1MB adresového prostoru a využít tak kapacitu paměti RAM na desce. Též je možné použít knihovny DOS7 pro reálný DOS mód, v tomto případě je však aplikace limitována velikostí, spustitelnou pod o.s. DOS.

Pro úschovu parametrů aplikace při vypnutí systému můžeme použít buď zálohovanou paměť RAM 128k nebo v případě menší četnosti změny hodnot i CompactFlash kartu.

Výslednou aplikaci nahrajeme do CompactFlash karty, která musí být bootovatelná a obsahovat o.s. MS DOS nebo kompatibilní systém, např. FreeDOS. V případě procesoru KITMCS586 je nejsnazší CompactFlash kartu s tímto obsahem vytvořit na jiném PC, v případě procesoru KITPC (tj. též TOUCH51), ke které je možno připojit standardní klávesnici a VGA obrazovku, je možno obsah CompactFlash karty modifikovat přímo lokálně. Soubor AUTOEXEC.BAT musí obsahovat start aplikace, aby se aplikace spouštěla automaticky po resetu.

Základní vlastnosti firemního o.s.reálného času ReTOS

·        Procesy – Paralelní program je tvořen procesy, které běží pseudoparalelně. Každý proces je naprogramován jako procedura, je možné spustit libovolně mnoho instancí procesů z jedné procedury.

·        Komunikace mezi procesy – Procesy spolu komunikují pomocí schránek, na které se posílají zprávy nebo pomocí globálních datových struktur, ovládaných pomocí chráněných sekcí.

·        Přerušení – ošetřující procedura přerušení může zaslat data na schránku a tak předat zpracování přerušení procesu, který čeká na zprávu.

·        Výjimky – jádro umožňuje definici výjimek a instalaci handlerů pro jejich ošetření.

·        Chráněné sekce – Pro zprávu prostředků, které nemohou být sdíleny jsou k dispozici procedury, jejichž použití vytváří chráněnou sekci.

·        Priority – dynamická (klesá s dobou, po kterou byl procesu přidělen procesor) a statická (nezávisý na čase) priorita procesu.

·        Správa času – správa procesu se provádí pomocí absolutního času, který se měří od startu systému (zpravidla resetu).

Základní vlastnosti firemních vizualizačních knihoven LIBV

Knihovny lze rozdělit do tří skupin. První skupinu tvoří podpůrné abstraktní knihovny pro práci se vstupními a výstupními zařízeními (klávesnice, touch, display…).

Druhou skupinu tvoří knihovny určené pro konkrétní typ terminálu, v podstatě ovladače. Tato skupina obsahuje ovladače pro TERM10, TOUCH11, TOUCH51 i TOUCH55 i standardní PC-VGA.

Třetí skupinou knihoven jsou knihovny jednotlivých grafických komponent, které jsou zcela nezávislé na použitém typu zobrazovače. Návrh grafického vzhledu je intuitivní a pro celou sadu terminálů a touch panelů jednotný.


BP-RETOS pro KIT188

Totéž programové prostředí (jazyk Borland Pascal, o.s. ReTOS, vizualizace LIBV) lze použít i pro procesor KIT188ER.

Verze KIT188ER s BIOS

Pro linkování programu použijeme systémové knihovny z adresáře Am188. Výsledný soubor .exe pomocí programu KIT-Loader umístíme na absolutní adresy v dostupném adresovém prostoru KIT188ER. Dále jej buď nahrajeme po seriovém kanálu přímo do FLASH paměti nebo zálohované RAM procesoru nebo jej nahrajeme jako binární soubor na CompactFlash kartu se speciálním boot sektorem. Tuto kartu lze naformátovat pomocí programu Fdisk188. Velikost aplikace je limitována na cca 750 kB. Data z běžící aplikace můžeme uchovávat též na CompactFlash kartě ve specielních binárních souborech. Tyto soubory lze standardně číst a specielně zapisovat na PC se čtečkou CompactFlash.

Verze KIT188ER s FreeDOS

Pro linkování programu použijeme systémové knihovny z adresáře DOS188. Výsledný soubor .exe nahrajeme přímo v PC se čtečkou CompactFlash na kartu, která musí mít nahrán specielní boot sektor a systémové soubory s o.s. SofCon FreeDOS.. Velikost aplikace je limitována velikostí cca 750 kB. Data z běžící aplikace můžeme uchovávat na CompactFlash kartě v běžných DOS souborech (s krátkými názvy). Tyto soubory lze standardně číst a zapisovat na PC se čtečkou CompactFlash.


PharLap ETS

PharLap ETS je 32-bitový více úlohový jedno procesní systém reálného času, kompatibilní s procesory Intel, postavený na bázi Win 32 API. Nároky na cílový hardware jsou minimální, sestavené mnohavláknové jádro má cca 100kB. PharLap ETS má deterministický plánovač procesů, tzn. že běží vždy jen povolené programové vlákno s nejvyšší prioritou. Toto vlákno je aktivní do doby, než je zablokováno jiným právě povoleným vláknem s vyšší prioritou, anebo - je-li povoleno časové sdílení - vypršel sdílený čas a je zde jiné povolené vlákno se stejnou prioritou. Součástí jádra je i algoritmus pro předcházení stavu známého jako inverze priorit. PharLap nabízí mnoho funkcí definovaných ve Win 32 API, díky tomu je vytváření aplikace snadné a rychlé. V aplikaci lze i využívat dynamicky linkované knihovny (DLL) a tím docílit např. pozdějšího snažšího upgradu aplikace.

PharLap obsahuje podporu pro širokou škálu hardware jako jsou Ethernet karty (uplné TCP/IP), USB zařízení, souborový systém pro diskové a FLASH jednotky, PCMCIA karty, CAN driver a další. Pro své spuštění PharLap ETS nevyžaduje BIOS, lze napsat vlastní spouštěcí kód.

Součástí PharLap ETS je také MicroWeb server, který dovoluje prezentovat data řízené technologie na internetu nebo v podnikové síti. Vzdálená výměna dat je umožněna pomocí FTP serveru, který může běžet paralelně s řídící aplikací.

Grafický výstup lze provádět pomocí knihovny PEG (Portable Embedded GUI), což je malá, rychlá, snadno konfigurovatelná knihovna pro vytváření grafických obrazovek. V knihovně je předefinováno množství standardních komponent a další lze snadno vytvořit. Pro návrh designu aplikace lze použít Windows Builder – návrhový nástroj typu drag&drop. ETS obsahuje podporu VESA kompatibilních grafických karet, případné další ovladače lze snadno dopsat (drivery jsou dodávány ve zdrojovém kódu).

            Konfiguraci vlastního jádra systému PharLap ETS, nad kterým je aplikace spuštěna, se provádí pomocí interaktivního nástroje Visual Builder. Výsledkem je zkompilované jádro PharLap, jehož velikost odpovídá počtu přidaných ovladačů.

Přesto že se nejedná o produkt firmy Microsoft, pro vývoj aplikací se používá prostředí MS Visual C++ (MS Visual Studio .net). Ladění aplikace probíhá interaktivně přímo ve vývojovém nástroji na PC, které s procesorovou jednotkou se SW PharLap komunikuje po seriové, paralelní nebo Ethernetové datové lince. Po přeložení nové verze aplikace je kód po této lince též přenášen do procesorové jednotky..

Z řídících jednotek firmy SofCon lze PharLap ETS provozovat na jednotkách KitMSM586 a Touch51/IO. Firma SofCon připravuje knihovní sadu ovladačů pro své IO karty připojitelné přes rozhraní IOBUS včetně ovladačů pro Touch panely.


Srovnání PharLap ETS a ReTOS firmy SofCon

PharLap ETS nabízí moderní vývojové prostředí s perfektním propojením mezi vývojářskou stanicí (host) a průmyslovým řídícím systémem (target). Tím je umožněno využití všech ladících nástrojů vývojového prostředí MS Visual C++, jako je krokování, zjišťování hodnot proměnných, čtení/zápis paměti nebo IO portu a další. Jedná se o zaručený hard real time operační systém. Spuštění aplikace trvá jen několik vteřin. PharLap má přímý přístup k hardwaru, umožňuje použití i assembleru.

BP-ReTOS je možno spustit již na nejjednodušších procesorech firmy Intel ale přitom nabízí výkonný multithreading, umožňuje výměnu dat mezi jednotlivými vlákny, nastavitelné priority. ReTOS má podporu ve formě knihoven pro veškeré IO desky firmy SofCon. Ve spojení s vizualizačními knihovnami SofCon (jako jeden z procesů ReTOSu) a po provedení překladu do chráněného režimu DPM lze vytvářet rozsáhlé vizualizační a řídící aplikace pro řídící jednotky KitMSM586 a KITPC (TOUCH51). Pro KITPC je ladění aplikace výhodné provádět přímo na cílovém zařízení a využít tak všech možností Debuggeru pro Borland Pascal.


Operační systém WINDOWS

Pro procesorové jednotky KITPC (TOUCH51), vybavené dostatečnou diskovou kapacitou, lze použít i standardní o.s. Windows 2000 nebo Windows XP.

Při psaní aplikací můžeme použít libovolné programovací prostředí, přímý přístup na IO porty desek SofCon je zabezpečen driverem PCKITISA, který musí být předem nainstalován.

o.s.Widows lze použít pouze v aplikacích bez specielních nároků na rychlou odezvu systému, která zde není zaručena.

Pro ulehčení psaní vlastních aplikací dodává firma SofCon základní obslužné procedury pro obsluhu IO desek SofCon ve zdrojovém tvaru v jazyce Pascal a C.


Závěr

Firma SofCon připravila komplexní sadu systémové podpory pro nové procesory KIT188ER, KITMSM586 a KITPC (TOUCH51), z které si každý vývojář jistě najde tu alternativu, která mu nejvíce vyhoví.