Search
Šablonu aplikace najdete na počítačích v laboratoři v adresáři
/opt/apo/mzapo_template
Další šablony, pro další platformy např. QtMips, naleznete na https://gitlab.fel.cvut.cz/b35apo/stud-support v adresari seminaries/binrep
seminaries/binrep
Výhodnější je však šablonu nahrát z verzovacího systému a založit si poté pro projekt vlastní repozitář (viz stránka z dokumentace)
git clone https://gitlab.fel.cvut.cz/b35apo/mzapo_template.git
Součástí šablony jsou následující soubory
Podrobnější popis registrů návrhu lze nalézt v dokumentaci výukového kitu MZ_APO.
Pravidla Makefile pro sestavovací program je potřeba upravit pro vlastní aplikaci. Aplikace se bude skládat z jednoho nebo více zdrojových souborů v jazyce C (soubory s příponou *.c) a nebo v jazyce C++ (soubory s příponou *.cpp). Příkladem s hlavní funkci main je vzorový soubor change_me.c, který by měl být nahrazen, přejmenován za soubor specifický pro danou aplikaci.
Makefile
*.c
*.cpp
main
change_me.c
Do proměnné SOURCES je nastaven seznam zdrojových souborů, viz následující část souboru Makefile
SOURCES
SOURCES = change_me.c mzapo_phys.c mzapo_parlcd.c #SOURCES += font_prop14x16.c font_rom8x16.c
V první řádce je potřeba upravit jméno hlavního souboru aplikace. Pokud jsou využité fonty, je potřeba druhou řádku odkomentovat. Do seznamu je možné na těchto dvou řádkách nebo opakováním řádku s plus-rovná-se přidat i další potřebné soubory. Hlavičkové soubory (*.h) se do seznamu neuvádí.
*.h
Jméno žádaného binárního spustitelného souboru je nastavené v do proměnné TARGET_EXE.
TARGET_EXE
Překlad je proveden prostým zavoláním sestavovacího programu
make
kdy je vyvoláno první nalezené pravidlo all.
all
Pro smazání generovaných souborů (objektové soubory, binární kód aplikace a automaticky generované závislosti) slouží cíl clean. Cíle lze i kombinovat
clean
make clean all
Případná kompilace při změně a spuštění aplikace na vzdálené jednotce je provedeno při vyvolání cíle run
run
make TARGET_IP=192.168.202.xx run
Automatické přihlášení, přenos dat a spuštění aplikace na cílovém zařízení s danou IP adresou vyžaduje již zavedený privátní klíč v SSH agentovi pro dané sezení
ssh-add /opt/apo/zynq/ssh-connect/mzapo-root-key
Aplikace je nejdříve překopírovaná do podadresáře /tmp vytvořeného podle přihlašovacího jména uživatele a poté je aplikace spuštěné s tím, že standardní vstup i výstup je k dispozici na straně vývojářského počítače přes SSH spojení.
/tmp
Aplikaci je možné na cílové platformě i ladit s využitím grafického ladícího programu Data Display Debugger
make TARGET_IP=192.168.202.xx debug
git@gitlab.fel.cvut.cz:b35apo/mzapo_template.git
Případně přes https:
https://gitlab.fel.cvut.cz/b35apo/mzapo_template.git
Setting manager > Session and startup > Application Autostart
Nastavení > Správce nastavení > Relace a spouštění > Automatický start aplikace
ssh-mz_apo
ssh-add /opt/zynq/ssh-connect/mzapo-root-key