Konzole RTT přes J-Link
Konzole RTT nabízí shell Zephyr a průběžný výpis logů firmwaru, proto je doporučenou konzolí pro vývoj a ladění. Pro běžnou konfiguraci použijte raději konzoli AT přes USB-C, která nepotřebuje žádný speciální hardware.
Tato stránka popisuje, jak se k zařízení GLIDER připojit ladicí sondou Segger J-Link přes protokol RTT (Real-Time Transfer). RTT zpřístupní plný shell Zephyr i průběžné logy firmwaru, a proto je to doporučená konzole pro vývoj a ladění.
Kdy tuto konzoli použít
RTT (rttt) | AT přes USB-C (west serial-console) | |
|---|---|---|
| Cesta | J-Link → SWD → RTT | USB-C → FT234XD → UART0 |
| Co uvidíte | Shell Zephyr + logy | Příkazy AT + zprávy @LOG: |
| Potřebný hardware | Sonda J-Link + vodiče SWD | Jen kabel USB-C |
| Vhodná pro | Vývoj, ladění, nahrání firmwaru, reset | Běžné zprovoznění |
Pokud nepotřebujete plný vývojářský přístup, použijte raději konzoli AT přes USB-C, která nepotřebuje žádný speciální hardware.
Předpoklady
Na počítači potřebujete tři věci:
- Systémové balíčky (Python, venv, Git):
sudo apt update
sudo apt install python3 python3-venv git
- Nainstalovaný softwarový balík Segger J-Link. Ověříte ho příkazem:
which JLinkExe
# /usr/bin/JLinkExe
Pokud JLinkExe chybí, stáhněte software J-Link ze stránek společnosti Segger a nainstalujte jej.
- Nástroj
rtttpro příkazovou řádku v aktivním virtuálním prostředí Pythonu:
source .venv/bin/activate
which rttt
rttt --version
Pokud rttt ve venv chybí, nainstalujte jej:
pip install rttt
Hardware
- Sonda J-Link (externí sonda Segger nebo integrovaný J-Link na vývojovém kitu Nordic).
- Kabel USB ze sondy J-Link do počítače.
- Vodiče SWD připojené k ladicímu konektoru zařízení GLIDER:
SWDIO,SWCLK,GND,VTref. - Napájené zařízení GLIDER (z vlastního napájení nebo přes
VTrefze sondy).
Spuštění konzole
V aktivním venv spusťte:
rttt --device nRF9151_xxCA
Identifikátor zařízení musí být nRF9151_xxCA, tedy xx malými a CA velkými písmeny. Výchozí identifikátor xxAA koliduje s verzemi J-Link DLL ≥ V9.42 a připojení tiše selže.
Pokud máte připojeno více sond J-Link, vyberte tu správnou podle sériového čísla:
rttt --device nRF9151_xxCA --serial 123456789
Zařízení můžete při připojení resetovat (hodí se, když firmware spadl):
rttt --device nRF9151_xxCA --reset
Co získáte
Interaktivní shell Zephyr s výzvou uart:~$:
- Logy se vypisují průběžně, jak vznikají.
- Příkazy shellu můžete psát a rovnou spouštět.
Několik užitečných příkazů na začátek:
help # list all commands
device list # list Zephyr devices
kernel uptime # time since last boot
kernel reboot cold # cold restart
log disable # silence logs for a clean shell
log enable wrn # show only warnings and above
info show # device info: serial number, claim token, version
Mezi příkazy specifické pro GLIDER patří app, inputs, therm, alarm, modbus a led. Úplný seznam najdete v referenci Příkazy shellu.
Ukončení
Stiskněte Ctrl+C nebo prostě zavřete okno terminálu.
Řešení problémů
Failed to open J-Link
Sondu drží jiný proces (nrfjprog, jiná relace rttt, Segger Ozone, debugger ve VS Code apod.). Najděte jej a ukončete:
ps aux | grep -i jlink
Could not find requested device
- Zkontrolujte identifikátor zařízení: musí být
nRF9151_xxCA(malými písmenyxx, velkýmiCA). - Ověřte, že je zařízení GLIDER napájené.
- Ověřte, že jsou vodiče SWD (
SWDIO,SWCLK,GND,VTref) správně připojené. - Spusťte
JLinkExeinteraktivně a příkazemconnectověřte, že sonda vidí cílové zařízení.
Konzole se připojí, ale výzva uart:~$ se neobjeví
Firmware neběží nebo spadl. Resetujte zařízení při připojení:
rttt --device nRF9151_xxCA --reset
pylink-square hlásí problém s libjlinkarm.so.X
Nainstalovaná verze softwarového balíku J-Link neodpovídá verzi knihovny, kterou pylink-square očekává. Přeinstalujte nejnovější balík J-Link nebo na něj nasměrujte LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/opt/SEGGER/JLink:$LD_LIBRARY_PATH