Firmware Web 51

Často kladené dotazy  Obsah  Web 51 - Paměťový model projektu WEB51
Rubrika Software je nejrozsáhlejší částí popisu projektu Web51 a snaží se vysvětlit základní principy funkce naší implementace potřebných protokolů. Zdrojové kódy na které se odkazujeme si můžete stáhnout v sekci DOWNLOAD.

Vývojový systém podrobný popis adresářové struktury projektu.

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.


Archiv CGI skriptů seznam CGI scriptů v základní distribuci.

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 soupis kernelových součástí systému.

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 podpora aritmetických, logických, I/O, ... funkcí.

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.


html2db.pl skript pro konverzi html stránek a jiných souborů.

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.


ip2hex.pl - mac2hex.pl konverze definičních souborů.

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.


Packet Driver RTL8019AS popis základní komunikace s řadičem ethernetu.


P-Code Interpretr před-zpracovaný kód.

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.


Obsluha sériového kanálu popisuje správu paměti a obsluhu sériové linky.

Vzhledem k minimální RAM v systému je obsluha dat se sériového kanálu řešena specifickým způsobem...


Zpracování Ethernet Paketu vysvětluje cyklus hlavní smyčky programu Web51.

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í..


Implementace jednoduchého http serveru

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 Web 51

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).


Některé obecné vlastnosti SW řešení Web51


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:
  1. Jednoduchý WWW server, naslouchající na portu 80, umožňující konfiguraci Web 51
  2. Základní "Telnet" server, naslouchající na portu 23, sloužící k přenosu dat z otevřeného TCP/IP spojení do sériové linky a zpět.
  3. Základní "Telnet" klient umožňující, není-li k dispozici otevřené TCP/IP spojení uvedené v předchozím bodě, navázat TCP/IP spojení.

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í.

JavaScript 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.





Sponzored by LPhard Ltd. Graphics by GIMP Created by EasyPad

(c)Copyright 2000, 2001, HW server & Radek Benedikt
Web51@HW.cz, Web51.HW.cz

Final applications of the Web51 : www.HWgroup.cz
Často kladené dotazy  Obsah  Web 51 - Paměťový model projektu WEB51