Zhrnutie na Architektúra ARM Cortex-M3 a základy programovania
Architektúra ARM Cortex-M3 a základy programovania | Komplexný sprievodca
Úvod
Programovanie je tvorba inštrukcií, ktoré počítač vykonáva za účelom riešenia úloh. Tento materiál pokrýva základné koncepty: úrovne programovacích jazykov, typy programového vybavenia, polia, cykly, vetvenie a základné programové príklady vhodné pre samoukov (Not attending student).
Strojový kód, jazyk symbolických inštrukcií a vyššie jazyky
Definícia: Strojový kód je binárny kód priamo vykonávaný procesorom.
Strojový kód
- Najnižšia úroveň abstrakcie; zložený z bitov (0 a 1).
- Priamo vykonávaný hardware-om, rýchly, ale ťažko čitateľný pre človeka.
- Špecifický pre konkrétnu procesorovú architektúru.
Príklad (ilustračné bity):
- 01001000 10000011 11000000 00000001
Jazyk symbolických inštrukcií (assembly)
Definícia: Assembly je nízkoúrovňový jazyk, kde každá inštrukcia zodpovedá jednej strojovej inštrukcii.
- Používa skratky ako MOV, ADD, JUMP pre ľahšie čítanie.
- Vyžaduje znalosť architektúry počítača.
- Prekladá sa pomocou assemblera do strojového kódu.
Príklad (assembly):
- MOV AX, 1
- ADD AX, 2
Vyššie programovacie jazyky
Definícia: Vyššie jazyky (napr. Python, Java, C++) poskytujú abstrakcie ako funkcie, triedy a cykly, čo zjednodušuje vývoj.
- Čitateľné pre ľudí, nezávislé od architektúry.
- Vyžadujú kompiláciu alebo interpretáciu do strojového kódu.
Príklad (C):
- int sucet = 1 + 2;
Porovnanie úrovní
| Vlastnosť | Strojový kód | JSI (assembly) | Vyšší jazyk |
|---|---|---|---|
| Čitateľnosť | žiadna | nízka | vysoká |
| Náročnosť písania | veľmi vysoká | vysoká | nízka |
| Rýchlosť vykonania | najrýchlejší | rýchly | pomalší |
| Prenositeľnosť | žiadna | žiadna | vysoká |
| Príklad | 01001000 | MOV AX, 1 | int a = 1 |
Preklad do strojového kódu
- Assembler: prekladá JSI do strojového kódu.
- Kompilátor: prekladá celý zdroj vyššieho jazyka pred spustením (napr. C).
- Interpret: prekladá a vykonáva kód riadok po riadku (napr. Python, PHP).
Zhrnutie jednou vetou: Strojový kód je binárny jazyk procesora, JSI používa symbolické skratky a vyššie jazyky poskytujú abstrakcie pre ľudí; všetky sa nakoniec preložia do strojového kódu.
Programové prostriedky počítača (softvér)
Definícia: Programové prostriedky sú softvérové komponenty, ktoré umožňujú fungovanie počítača a aplikácií.
Hlavné typy
- Operačný systém: riadi hardvér a poskytuje rozhranie pre aplikácie (napr. Linux, Windows, macOS).
- Aplikačný softvér: programy pre konkrétne úlohy (spracovanie textu, tabuľky, úprava obrázkov).
- Programovací jazyk: nástroj pre tvorbu softvéru (Python, Java).
- Vývojové prostredie (IDE): nástroje na písanie, ladenie a správu kódu (Visual Studio, Eclipse).
- Databázový systém: správa veľkých množín dát (MySQL, MS SQL Server).
Polia (jedno- a viacrozmerné)
Definícia: Jednorozmerné pole je zoznam hodnôt rovnakého typu uložených za sebou; viacrozmerné pole je pole polí (najčastejšie dvojrozmerné tabuľky).
Jednorozmerné pole
- Pristupujeme cez jeden index, ktorý začína od nuly.
- Na prechádzanie používame jeden cyklus.
Dvojrozmerné pole
- Predstavíme si ho ako tabuľku s $r$ riadkami a $c$ stĺpcami; počet prvkov je $r \cdot c$.
- Prístup cez dva indexy: prvý pre riadok, druhý pre stĺpec.
- Na prechádzanie potrebujeme dva vnorené cykly: vonkajší pre riadky, vnútorný pre stĺpce.
Príklad: Pole s 5 riadkami a 6 stĺpcami má $5 \cdot 6 = 30$ prvkov.
Zhrnutie jednou vetou: Jednorozmerné pole je zoznam prechádzaný jedným cyklom, dvojrozmerné pole je tabuľka prechádzaná dvoma vnorenými cyklami.
Cykly: FOR, WHILE, DO WHILE
Definícia: Cykly sú riadiace štruktúry, ktoré opakujú blok kódu podľa podmienky.
FOR
- Používame, keď vieme presný počet opakovaní.
- Zvyčajn
Už máš účet? Prihlásiť sa
Programovanie - základy
Klíčová slova: Architektúra počítačov, Programovanie
Klíčové pojmy: Strojový kód je binárny a špecifický pre architektúru, Assembly používa symbolické inštrukcie pre každú strojovú inštrukciu, Vyššie jazyky poskytujú abstrakcie a sú prenosné, Assembler, kompilátor a interpret prekladajú kód rôznymi spôsobmi, Operačný systém riadi hardvér a poskytuje rozhranie pre aplikácie, Jednorozmerné pole používa jeden index; dvojrozmerné dva indexy, FOR pre známy počet opakovaní, WHILE pre neznámy, DO WHILE vykoná aspoň raz, If/else vetvenie rozhoduje podľa podmienok, switch porovnáva s konkrétnymi hodnotami, Používať float na výpočet priemeru, ak očakávame desatinné hodnoty, Break v switch zabraňuje prepadnutiu do ďalších case blokov, Polia prechádzame vnorenými cyklami podľa počtu rozmerov