# brintOS nRF9151 SOM station This machine reads an Emcraft SOM-NRF9151 through a SEGGER J-Link (SWD) and the Starter Kit's console bridge, both attached to this machine over WebUSB. It needs **Developer mode** on: it runs the HardwareJS runtime in its own `/boot`. openocd -f board/emcraft-som-nrf9151.cfg -c init -c "flash probe 0" -c shutdown openocd -f board/emcraft-som-nrf9151.cfg -c init -c "dump_image /tmp/flash.bin 0 0x100000" -c shutdown som-console # the board's shell in picocom, 115200 8N1; C-a C-x leaves som-console --list # every USB-serial port this machine has minicom -b 115200 -D $(som-console --find) To install Emcraft's release 2.0-122 on the board (§7 of the guide): som-program-nrf91 --app asset_tracker_v2 --check # writes nothing som-program-nrf91 --app asset_tracker_v2 Both need the console bridge granted: the Starter Kit's FT230X (`0403:6015`) or a TTL-232R cable (`0403:6001`), found by `som-console --find --id "0403:6015 0403:6001"`. Finding none, or two, they refuse and touch nothing. `--no-console` runs without it, with no watchdog step and no boot check. The station's window does the same search and starts no action but Recover until it finds exactly one console. `SOM_CONSOLE_ID` replaces the list of ids, for the window and both commands alike. The station's window works from the keyboard alone: | Key | What it does | |---|---| | Tab, Shift-Tab, the arrow keys | move the focus between the release, the actions and Stop | | Space | presses the button that has the focus | | Enter | does not erase: Recover's confirmation has no default button | | Esc | cancels Recover's confirmation; it never closes the window | Recover's confirmation opens with the focus on Erase and recover, so Space there erases, as a click does; Tab moves the focus to Cancel. When an action ends, the focus is back on its button, so Space runs it again. The banner shows PASS or FAIL and, under it, the command's own result line, a test's counts among them. The QA suite runs 3.6, which writes two files to the board's LittleFS and removes them (§8 of the guide). Before anything that halts, erases or writes the nRF9151, read §6 of the guide: the application's watchdog, the debug lock after a reset of an erased chip, and the write-once UICR. /usr/share/brintos-nrf-station/nrf9151-som-station.md What the station carries: | Path | What it is | |---|---| | `/usr/share/openocd/scripts/board/emcraft-som-nrf9151.cfg` | the SOM's openocd board config: J-Link, SWD, nRF91 | | `/usr/share/openocd/scripts/mfg-jtag.cfg` | the one place the debug adapter is named | | `/usr/share/openocd/scripts/target/nordic/` | the Nordic target configs | | `/usr/share/brintos-som/nrf9151/` | release 2.0-122: `asset_tracker_v2` and `hello_mcuboot`, each with its PROVENANCE | | `som-program-nrf91`, `som-test-nrf91` | install a release; test the board over its shell, read-only by default | | `/boot/hardwarejs.html`, `/boot/hardwarejs.js` | the HardwareJS runtime this machine launches with in Developer mode | | `/usr/share/brintos-hardwarejs-runtime/PROVENANCE` | the HardwareJS commit that runtime was built from, and its sha256 sums | To check the station itself, with no board attached: brintos-selftest 99-nrf-station.test 99-som-nrf91.test 99-openocd.test 99-som-console.test