Přístup přes sériový port
První a základní možností jak přistupovat k modulu SAM9260, je přístup přes sériový port.
Po nabootování do systému Linux se tímto způsobem můžeme do Linuxu přihlásit a ovládat jej přes tzv. sériovou konzoli (rozuměj náš počítač s terminálovým programem) připojenou přes jeden ze sériových portů modulu SAM9260.
Ve výchozí konfiguraci systému Linux dodávaného s modulem se předpokládá, že sériová konzole je k modulu připojena přes sériový port DBGU (obrázek 1.2). Tento port se u mikrokontroléru AT91SAM9260 běžně využívá pro ladící účely. Tato konfigurace není samoúčelná. Přes sériový port DBGU totiž komunikuje vestavěný monitor RomBoot, bootstrap a také zavaděč U-Boot. S ohledem na tuto skutečnost je i tzv. systémová konzoleKonzole, na kterou systém vypisuje všechna hlášení ať už během bootování nebo při svém běhu systému Linux nastavena na port DBGU. Díky tomu můžeme na portu DBGU sledovat všechna hlášení od startu vestavěného monitoru až po systémová hlášení a textový výstup Linuxu.
Zapojení
Referenční zapojení modulu SAM9260, resp. jeho portu DBGU v případě použití základní desky Baseboard je na obrázku 1.3. Modul je zasunutý do pájecího pole základní desky a samotné propojení modulu a jednotlivých komponent základní desky je realizováno drátovými propojkami různých barev.
Nejprve něco málo k signálům portu DBGU. Signály DRXD (signál Rx podle RS232) a DTXD (signál Tx podle RS232) portu DBGU jsou na modulu SAM9260 přístupné na pinheadu J2 (DRXD - pin 12, DTXD - pin 11). Signály jsou popsány z pohledu modulu, který se chová jako koncové zařízení (DTE), např. jako modem. Pro připojení k PC, které vystupuje jako řídící zařízení (DCE), proto postačí libovolný sériový kabel pro připojení modemu, tj. s dutinkami na straně PC a kolíky na straně modulu SAM9260, resp. základní desky Baseboard. Tzv. null-modem kabel (překřížené vodiče Tx a Rx) nelze použít.
Signály DRXD a DTXD portu DBGU mají úroveň TTL. O jejich převedení do/z úrovní dle specifikace rozhraní RS232 se postará integrovaný obvod U11 typu MAX3232 umístěný na základní desce Baseboard. Oba signály vyvedeme z pinheadu J2 (piny 12 a 11) na modulu a přivedeme je na pinhead J2 (piny 3 a 1) na základní desce. Žlutou propojku použijeme na signál DRXD, zelenou pak pro signál DTXD. Tím jsme signály v úrovních TTL přivedli na TTL stranu převodníku MAX3232.
Dále potřebujeme oba signály již v úrovni RS232 přivést na konektor P1 (CAN9F) na základní desce. Spojíme proto piny 3 a 1 pinheadu J4 s piny 3 a 1 pinheadu J2 na základní desce. Tím je zapojení dokončeno.
Pro možnost opticky indikovat probíhající komunikaci je vhodné pomocí jumperů připojit k signálům DRXD a DTXD LED diody. V případě naší základní desky je to úkol veskrze snadný - pomocí dvou jumperů propojíme druhou a čtvrtou dvojici pinů na pinheadu J30 na základní desce počítáno zleva od USB device konektoru J19 (viz obrázek 1.3).
Nesmíme ani zapomenout přivést na modul SAM9260 napájecí napětí +5V. Napájení +5V a zem GND přivedeme ze stejnojmenných pinheadů na boku základní desky na pinhead J3 (piny 1 a 3) na modulu SAM9260.
Terminálový program
Pro komunikaci s modulem SAM9260 přes sériový port budeme na straně našeho počítače potřebovat nějaký terminálový program, tzv. emulátor terminálu. Můžeme použít oblíbený Puttyhttp://the.earth.li/~sgtatham/putty/latest/x86/putty.exe nebo klasický Hyperterminál známý z prostředí Windows XP (ve Windows 7 už není dostupný).
Doporučujeme program Putty, protože je velmi univerzální a umí celou řadu komunikačních protokolů, např. i telnet. Navíc nevyžaduje instalaci, stačí jej zkopírovat do vybraného adresáře a pak rovnou spustit. Níže uvádíme parametry spojení přes sériový port:
- Rychlost: 115200 Bd
- Rámec: 1 start bit, 8 datových bitů a 1 stop bit
- Parita: žádná
- Řízení toku: žádné
Uvedené parametry a číslo sériového portu na straně počítače nastavíme v Putty v kategorii Connection, podkategorie Serial (viz strom kategorií Category vlevo v okně Putty). Pak se přepneme do kategorie Session, kde nastavíme jméno předvolby v poli Saved Sessions, typ spojení na Serial a předvolbu uložíme tlačítkem Save (viz obrázek 1.4). Samotné spojení s modulem SAM9260 otevřeme tlačítkem Open.
Přihlášení
DBGU port máme zapojen, Putty běží na našem počítači. V Putty stiskem tlačítka Open otevřeme spojení s modulem SAM9260, připojíme základní desku přes konektor J5 na zdroj napětí 12V / min. 2A a zapneme vypínač SW1 na základní desce. Rozsvítí se LED diody indikující přítomnost napájecího napětí 3.3V a 5V na základní desce a v okně Putty bychom měli vidět hlášení > RomBOOT a dále hlášení startujícího bootstrapu a zavaděče U-Boot (viz obrázek 1.5).
Pokud tomu tak není, bude chyba nejspíš v propojení počítače a modulu, případně v nastavení parametrů spojení. Opticky můžeme zkontrolovat spojení pomocí LED diod u konektoru P1 (CAN9F). Druhá (modul přijímá) a čtvrtá (modul vysílá) LED dioda zleva od USB device konektoru J19 (viz obrázek 1.3) by měly při komunikaci poblikávat.
Po naběhnutí zavaděče U-Boot se čeká jednu sekundu na stisk jakékoliv klávesy, která přeruší automatické zavedení Linuxu. Je tak možné upravit nastavení U-Boot, parametry pro zavádění Linuxu apod. Po uplynutí prodlevy je rozbaleno jádro a začne bootovat samotný systém Linux. Na konci bootování jádra Linuxu je proveden inicializační skript a pak se konečně zobrazí přihlašovací prompt uvozený názvem počítače (hostname) modulu (viz obrázek 1.6).
Zadáme výchozí přihlašovací údaje. Jelikož jediným povoleným uživatelem je ve výchozí konfiguraci superuživatel root s výchozím heslem toor, přihlásíme se pod jeho účtem. Objeví se informace o verzi Busyboxu a jsme tam!
Odhlášení a vypnutí systému
Z Linuxu se odhlásíme pomocí příkazu exit.
Bezpečné ukončení práce s Linuxem zařídíme příkazem poweroff, pokud chceme odpojit napájení, nebo příkazem reboot, jestliže potřebujeme systém pouze restartovat. Napájecí napětí modulu můžeme bezpečně odpojit, až když Linux na příkaz poweroff zareaguje hlášením Power down. Teprve tehdy je činnost systému skutečně ukončena a nemůže dojít např. k poškození souborového systému v paměti NandFlash.