Firmware Web 51 |
Podrobný popis jednotlivých souborů a adresářů vývojového systému Web51.
Od verze 1.12 nevyžaduje Web51 použití jakéhokoliv komerčního software, a to ať již od firmy Microsoft tak od firmy Keil. Pro překlad instrukcí p-kódu nejsou rovněž třeba makra, nativní podpora p-kódu je vestavěna přímo v překladači assembleru mcs51-as.
Distribuce obsahuje knihovnu CGI skriptů, používaných v HTML stránkách. Popis adresáře vysvětluje k čemu jsou jednotlivé scripty určeny.
Knihovna libk obsahuje moduly jádra - kernel lib. Tyto jsou obsaženy pouze v prodávané verzi. Ve FREE verzi jsou tyto součásti vkompilovány do 2 existujících variant knihoven. Viz. Rozdělení do knihoven.
Knihovna libw zahrnuje veškeré běžně potřebné funkce. Popsané zdrojové soubory jsou obsaženy v balíku Web51 GNU development system v sekci DOWNLOAD.
Všechny soubory je před slinkováním uvést o tvaru .asm pro assembler a následně linker. Pro soubory .HTML, .JPEG nebo .GIF to zajiťtuje pomocí perlu z BINUTILS tento perlový script. Zdrojové texty, vzniklé konverzí, jsou doplněny příslušnými hlavičkami, používanými souborovým systémem serveru Web 51.
Skripty mac2hex.pl a ip2hex.pl jsou určen ke konverzi MAC a IP adres do formátu použitelného ve vývojovém systémy Web 51. Skripty byly napsány podle obdobných GNU skriptů jejichž originálním autorem je Bruce Lightner.
Web51 používá v části programu služeb interpretru P-kódu. Interpretr podporuje zmenšení kódu a touto cestou lze obejit nemožnost vykonávání programu odjinud, než z vnitřní paměti programu, tj. umožnit vykonávat program např. i z vnější sériové I2C paměti.
Vzhledem k minimální RAM v systému je obsluha dat se sériového kanálu řešena specifickým způsobem...
Hlavní smyčka serveru Web 51 je složena z několika více-méně povinných částí, shrnutých v knihovním modulu web51.asm a uživatelských částí v ukázkových příkladech shrnutých shrnutých do modulu www8051.asm. Popis jednotlivých částí hlavní smyčky a jejich použití..
Základní charakteristiky jednoduchého www serveru, obsaženého ve vzorových příkladech.
Podrobný popis možností vložení CGI skriptů do html kódu stránky.
Souborový systém může být rozložen na 3 "média" externí I2C EEPROM, flashROM procesoru, EEPROM procesoru (prohledávání souborového systému probíhá v uvedeném pořadí, proto lze přidáním externí I2C EEPROM překrýt soubory v procesoru).
Základní vlastnosti Web 51 lze dopře představit na příkladu vzorového projektu serial. Tento vzorový projekt demonstruje použití Web 51 ve funkci jednoduchého konvertoru komunikace po sériové lince na komunikaci pomocí protokolu TCP/IP přes Ethernet a zpět.
Firmware vzorového projektu serial obsahuje:
WWW server po pasivním navázání spojení počká na zaslání potřebné minimální části http požadavku (požadavek je možno posílat i telnetem, tj. znak po znaku). Po vyhodnocení jména požadované stránky je požadovaná stránka doplněna http hlavičkou a po případném rozdělení na části, odeslatelné přes Ethernet, vyslán klientovi. Poslední odeslaný paket nese příznak ukončení spojení a na straně serveru okamžitě uvolňuje prostředky pro další spojení. To znamená, že server neumožňuje tzv. persistent connection, či KeepAlive. Server rovněž neumožňuje, vzhledem k nemožnosti uložení dynamicky generovaných stránek do paměti (kterou nemá k dispozici), zopakování špatně odeslaného paketu. V případě chyby je nutno zopakovat celý požadavek.
Telnet server umožňuje jak pasivní spojení tak, pokud to má povoleno, sám navázat spojení s jiným serverem. Na rozdíl od WWW serveru, plně podporuje opakování špatně odeslaných paketů. Při vyčerpání paměti protistranou nepotvrzených a tím pádem v paměti držených odeslaných dat však dochází k zpomalení komunikace. Spojení je ukončeno automaticky po vypršení cca 50 sekund od přijetí posledního potvzení.
Některé vzorové příklady používají na klientské straně JavaScript. Pro orientaci jsou všechny příklady a komentáře vztahující se k JavaScriptu označeny ikonkou JavaScript.
Pro překlad příkladů bez "telnetu" je vhodné používat odpovídající verzi knihovny libk.a, tj. libk80.a, která obsahuje podporu pouze jednoho TCP stacku, neumí navazovat aktivní spojení a neobsahuje podporu sériového portu. Ponechává proto výrazně volnou větší část paměti RAM. Podrobnější popis najdete v Pořadí linkování - rozdělení do knihoven.
POPIS Web51 | NOVINKY | FAQ | OBJEDNÁVKA | DOWNLOAD |
(c)Copyright 2000, 2001, HW server & Radek Benedikt
Web51@HW.cz, Web51.HW.cz Final applications of the Web51 : www.HWgroup.cz |