FULL-C: popis jazyka

Verze z 19. 3. 2021, 11:05, kterou vytvořil Adamn (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Tato stránka popisuje programovací jazyk FULL-C, který je dostupný na vybraných zařízeních SDS. 
Některá zařízení používají SDS-C, pro který máme návody jinde na této WiKi.

Návod pro začátek

Nejprve si stáhněte nejnovější verzi programu FULLC.exe (k dispozici zdarma zde na WiKi), a zkontrolujte, zda-li máte nejnovější verzi firmware ve svém SDS zařízení (nejlépe přes webové administrační rozhraní SDS).

Pro úspěšnou tvorbu programů ve FULL-C, je potřeba, aby jste měli znalosti programování v jazyce C (norma C90). Samozřejmě, ne všichni jsou schopní programovat v C, a potom vám tedy může někdo jiný program připravit (zkuste se zeptat na našem [1]).

V tomto návodu si ukážeme, krok za krokem, jak napsat základní jednoduchý program, a pak k němu přidáme několik důležitých rozšíření.


Jak zapsat program a nahrát ho do SDS

Program samotný je lidsky čitelný text, který je potřeba nejprve zpracovat tak, aby ho uměl přečíst a provést i počítač (zařízení SDS).

Proto je potřeba tento vstupní text (.c soubor) tzv. "přeložit" - a k tomu slouží právě náš program FULLC.exe .

  • ve FULLC.exe otevřete okno textového editoru "FULL-C source code"
  • dovnitř vložíte / napíšete váš program
  • stiskněte tlačítko "COMPILE"
  • pokud je vše v pořádku, dostanete hlášení "DONE OK" a neobdržíte chybu
  • pokud je v programu chyba, bude označena červeným řádkem v textovém editoru, a popis chyby bude uveden v okně překladače (včetně hlášení "FAILED").
  • vždy zkontrolujte rozložení obsazení paměti, cílem je aby se vše "vlezlo", byl dostatečně velký "stack" a "heap" (pokud ne, tak program nebude fungovat, i když byl přeložen v pořádku - je potřeba pro jeho provoz mít dost volného místa v paměti)
  • jakmile je tedy program úspěšně přeložen, je možné ho nahrát do zařízení SDS:
  • stiskněte tlačítko "Upload FULL-C" z hlavního okna
  • vyplňte IP adresu vašeho zařízení, pak heslo pro přístup do zařízení (a případně i port, pokud používáte NAT/port-forwarding atd.)
  • stiskněte tlačítko "CONNECT TO SDS DEVICE AND READ INFORMATION*
  • pokud je komunikace v pořádku, vyplní se informační texty v pravé časti okna (zkontrolujte obsah) a současně se odblokují dvě tlačítka dole uprostřed
  • protože do SDS lze nahrát jak uživatelskou webovou stránku, tak FULL-C program, lze obojí provést právě teď (v libovolném pořadí)
  • pro nahrání uživatelské webové stránky (kterou musíte mít celou správně vloženou v příslušném textovém editoru), stiskněte tlačítko "UPLOAD USER HTML PAGE TO SDS"
  • pro nahrání přeloženého FULL-C programu, stiskněte tlačítko "UPLOAD COMPILED PROGRAM TO SDS"
  • vždy sledujte textový výpis v boxu pod tlačítky, kde se dozvíte, zda-li bylo nahrávání do SDS úspěšné, nebo se nepovedlo


Po nahrání je doporučeno otevřít webovou administraci zařízení SDS, kde se na stránce "FULL-C" zkontroluje stav programu (zda-li se skutečně nahrál v pořádku, jestli funguje, a jak pracuje s pamětí).

Program je ze zdrojového kódu (text) zpracován do tzv. "bytecode" (instrukcí, kterým SDS hardware rozumí a umí je provést). Tento bytecode je ale současně komprimován (dočasně zmenšen) z důvodů snížení množství dat, přenášených přes Ethernet při nahrávání do zařízení SDS. Je potřeba hlídat velikost všech částí, jestli se tedy "vlezou" do paměti zařízení SDS.


První ukázkový program

Každý FULL-C program musí mít funkci main(). Toto je první funkce, která je spuštěna po aktivaci programu.

Varovaní: pokud program opustí funcki main(), je program ukončen a není automaticky spuštěn znovu ! Je úkolem programátora nikdy funkci main neopustit.

// hlavni funkce
void main(void)
{

   // napis vzkaz do konzole
   printf("Hello World !\n");

   // a zustan navzdy zde
   for (;;);

}

Po přeložení tohoto úvodního programu ve FULLC.exe a úspěšném nahrání do SDS, je tento program okamžitě spuštěn. To že se vše povedlo zkontrolujete otevřením stránky "echo.html" ze zařízení SDS.


Pokračování

Bude postupně doplněno.