Tato stránka obsahuje návody k práci s přípravkem. Popis hardware a periferií naleznete na stránce Přípravek MicroZed APO.
Přístup přes sériový port, parametry:
Použít lze například program gtkterm
.
Po zjištění adresy připojené desky je výhodnější použít přístup přes SSH
ssh -i /opt/zynq/ssh-connect/mzapo-root-key root@192.168.202.xxx
Pro přenos souborů mezi cílovým systémem a hostitelským PC
lze použít program SCP nebo si lze připojit kompletní souborový
systém cílové desky do podadresáře /tmp
příkazem
/opt/zynq/sshfs-mount-target 192.168.202.xxx
ssh-add /opt/zynq/ssh-connect/mzapo-root-key
Připravený příkaz pro rychlé zavedení klíče
ssh-add-mzapo-key
A potom se k systému připojit přes ssh s uživatelem root již bez zadávání klíče nebo hesla:
ssh root@192.168.202.xxx
Šablonu aplikace najdete na počítačích v laboratoři v adresáři
/opt/apo/mzapo_template
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 desky 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.
Do proměnné SOURCES
je nastaven seznam zdrojových souborů, viz následující
část souboru Makefile
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í.
Jméno žádaného binárního spustitelného souboru je nastavené
v do proměnné TARGET_EXE
.
Překlad je proveden prostým zavoláním sestavovacího programu
make
kdy je vyvoláno první nalezené pravidlo 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
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
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í.
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
Stránka s návodem jak nastavit vývojové prostředí Eclipse pro práci s přípravkem.
Síť laboratoře K2 je za NATem. Proto není možné přímé spojení z vlastního počítače na desku. Pokud nám však na počítači běží SSH server, tak je možné vytvořit reverzní tunel.
Nejdříve zjistíme adresu našeho počítače v síti EDUROAM
ip addr show
Ideálně si na svém počítači vytvoříme pomocný uživatelský účet s nízkou úrovní oprávnění a přístupů k souborům.
adduser restricted_usera zvolíme heslo. Z přípravku se připojíme k svému počítači přes SSH a vytvoříme reverzní tunel.
ssh -R 2222:localhost:22 restricted_user@147.32.xxx.xxxVytvořený tunel naslouchá na portu 2222 na našem počítači a každý pokus o připojení na port 2222 přenese na přípravek a zde provede pokus o otevření portu localhost:22, kde naslouchá SSH server na přípravku.
K přípravku se pak připojujeme přes tunel tak, že se připojíme k lokálnímu teleportovanému portu 2222.
ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -p 2222 root@localhostK úspěšnému přihlášení budeme ještě potřebovat privátní klíč, který otvírá vstup k přípravku. Ten si lze stáhnout ze serveru postel a poté zavést například následujícími příkazy
scp login@postel.felk.cvut.cz:/opt/apo/zynq/ssh-connect/mzapo-root-key . chmod 600 mzapo-root-key ssh-add mzapo-root-key
Při volání make
z adresáře se šablonou aplikace pak bude nutné přidat parametr SSH_OPTIONS
make SSH_OPTIONS="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o Port=2222" TARGET_IP=localhost runPro opakované použití lze provést nastavení parametrů přímo v souboru
Makefile
.