Dostęp do portów przez interfejs JTAG

Do płytek MSP430 Launchpad, Stellaris Launchpad i STM32F4 Discovery możemy się podłączyć debugerem poprzez interfejs JTAG. Debuger pozwala na zapis i odczyt z dowolnych adresów. Porty wejścia/wyjścia są częscią przestrzeni adresowej tych procesorów więc zapisując pod odpowiednie adresy możemy czytać lub pisać dane z/do portu. Potrzebne adresy można znaleźć w dokumentacji procesora, np. dla procesora MSP430G2553 (ten w MSP430 Launchpad) tabela adresów jest na stronach 19 i 20 dokumentacji procesora, a bardziej obszerny opis portów wejścia/wyjścia jest w opisie architektury MSP430G2. Wypróbować z wybranym urządzeniem.

GPIO dla Raspberry Pi

Linie wejscia/wyjścia Raspberry Pi są dostępne z poziomu użytkownika poprzez virtualny filesystem. Zanim użyjemy linię musimy ją najpierw zarezerwować dla użytkownika (to może sie nie udać jeśli jądro już używa tą linię). Robimy to wpisując numer lini do '/sys/class/gpio/export', np. dla linii 18:
echo 18 > /sys/class/gpio/export
Teraz pojawi się katalog '/sys/class/gpio/gpio18' zawierający pliki dla tej linii. Np.
cat /sys/class/gpio/gpio18/value
daje bieżącą wartość na linii. Domyślnie linie są wejściami. Aby zmienić je na wyjście musimy wpisać 'out' do pliku 'direction':
echo out  > /sys/class/gpio/gpio18/direction

Teraz możemy zmienić wartość pisząc do "value"
echo 1 > /sys/class/gpio/gpio18/value
Wypróbować to z wybranym urządzeniem.