Очень странно. В версиях 3.1.4 и 3.2.1 SAM-BA с сайта Microchip мне так и не удалось найти GUI. Скачал 2.17. Запускается и работает в Windows. Линуксовая SAM-BA 2.17 висла на этапе загрузки своего "апплета" в ОЗУ чипа. Версии 3.1.4 и 3.2.1 SAM-BA не содержат GUI в принципе. Ни Windows, ни Linux. Или я настолько туп, что не нашёл как GUI запускать. Запуск приложения SAM-BA 3.x.x проходит без ошибок, но интерфейс - только командная строка.
-=-
Как оказалось после проверки с SAM-BA 2.17 под Windows, OpenOCD нормально работает GPNVM. А неадекватный результат установки бита был следствием ошибки в подключении Reset от отладчика. Нужно было подключить RESET->NRST, nTRST->TST (отладчик SWD/JTAG). А я подключил nTSRST->NRST. Сигнал RESET отладчика остался не подключённым. Без него не работало: "Error: Could not find MEM-AP to control the core". Когда распаял сигналы правильно, заработало. И OpenOCD "научился" обновлять статус GPNVM, правда, со второго раза:
Open On-Chip Debugger > halt > at91sam4 gpnvm sam4-gpnvm0: 0 sam4-gpnvm1: 1 > at91sam4 gpnvm clear 1 > at91sam4 gpnvm sam4-gpnvm0: 0 sam4-gpnvm1: 0 > at91sam4 gpnvm set 1 > at91sam4 gpnvm sam4-gpnvm0: 0 sam4-gpnvm1: 0 > at91sam4 gpnvm sam4-gpnvm0: 0 sam4-gpnvm1: 0 > at91sam4 gpnvm set 1 > at91sam4 gpnvm sam4-gpnvm0: 0 sam4-gpnvm1: 1С RESET подключение к чипу с GPNVM1=1 проходит успешно. Всем спасибо! P.S. не знаю, что даст, но вот вывод ldd:
:~/opt/sam-ba_3.2.1$ ldd sam-ba linux-vdso.so.1 => (0x00007ffc2cbf0000) libQt5Quick.so.5 => /home/nikolaypo/opt/sam-ba_3.2.1/./lib/libQt5Quick.so.5 (0x00007f09b9677000) libQt5Gui.so.5 => /home/nikolaypo/opt/sam-ba_3.2.1/./lib/libQt5Gui.so.5 (0x00007f09b8ec9000) libQt5Qml.so.5 => /home/nikolaypo/opt/sam-ba_3.2.1/./lib/libQt5Qml.so.5 (0x00007f09b88d3000) libQt5Network.so.5 => /home/nikolaypo/opt/sam-ba_3.2.1/./lib/libQt5Network.so.5 (0x00007f09b8542000) libQt5Core.so.5 => /home/nikolaypo/opt/sam-ba_3.2.1/./lib/libQt5Core.so.5 (0x00007f09b7e08000) libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f09b7b96000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f09b7979000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f09b75f7000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f09b72ee000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f09b70d8000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f09b6d0e000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f09b6af4000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f09b68ec000) libicui18n.so.56 => /home/nikolaypo/opt/sam-ba_3.2.1/./lib/libicui18n.so.56 (0x00007f09b6453000) libicuuc.so.56 => /home/nikolaypo/opt/sam-ba_3.2.1/./lib/libicuuc.so.56 (0x00007f09b609b000) libicudata.so.56 => /home/nikolaypo/opt/sam-ba_3.2.1/./lib/libicudata.so.56 (0x00007f09b46b8000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f09b44b4000) libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f09b42b2000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f09b3fa1000) /lib64/ld-linux-x86-64.so.2 (0x00007f09b9ec0000) libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f09b3d78000) libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f09b3b75000) libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f09b3972000) libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f09b376b000) libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f09b3568000) libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f09b3339000) libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f09b3127000) libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f09b2f24000) libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f09b2d1e000) libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f09b2b1c000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f09b27e2000) libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f09b25c9000) libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f09b23c4000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f09b21a2000) libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f09b1f9c000) libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f09b1d8b000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f09b1b1b000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f09b1917000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f09b1711000)P.S. Так: nTRST->TST не нужно подключать, Это разные сигналы.