I deleted while(!Serial);
No change in the behaviour, the led is not blinking, pin is not changing state and nothing appears in the monitor.
One more perhaps important piece of information. I have been addressing the board a Generic STM32F7, because addressing the Nucleo-144 it does not load.
I am thinking there is a missing udev rules file. Does that sound right?
Nucleo-144 does show a /dev/tty/ACM0 Here is the error message from the loader with Nucleo-144 selected.
Sketch uses 15072 bytes (1%) of program storage space. Maximum is 1048576 bytes.
Global variables use 1216 bytes (0%) of dynamic memory, leaving 129856 bytes for local variables. Maximum is 131072 bytes.
NODE_F207ZG,NOD_F207ZG not found.
Please ensure the device is correctly connected and mounted.
Failed uploading: uploading error: exit status 3
Here is lsusb,
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 001 Device 004: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 001 Device 006: ID 12c9:1021 Newmen Tech.,LTD 2.4G Wireless Mouse
Bus 001 Device 021: ID 0483:374b STMicroelectronics ST-LINK/V2.1
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 003: ID 058f:9410 Alcor Micro Corp. Keyboard
Bus 002 Device 004: ID 046d:c408 Logitech, Inc. Marble Mouse (4-button)
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. Hub
Bus 003 Device 003: ID 0bda:0411 Realtek Semiconductor Corp. Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
And here are the all of the rules files that have vendor 0483
$ for f in /etc/udev/rules.d/*rules ; do if grep 0483 $f > /dev/null ; then echo $f ; fi ; done
/etc/udev/rules.d/40-dfuse.rules
/etc/udev/rules.d/49-stlinkv1.rules
/etc/udev/rules.d/49-stlinkv2-1.rules
/etc/udev/rules.d/49-stlinkv2.rules
/etc/udev/rules.d/49-stlinkv3.rules
$
And here are the contents of each of the above:
$ clear ; for f in /etc/udev/rules.d/*rules ; do if grep 0483 $f > /dev/null ; then echo -e "\n************************\n$f\n*****************************" ; cat $f ; fi ; done
************************
/etc/udev/rules.d/40-dfuse.rules
*****************************
# Adding STM32 bootloader mode UDEV rules
# Example udev rules (usually placed in /etc/udev/rules.d)
# Makes STM32 DfuSe device writeable for the "plugdev" group
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="664", GROUP="plugdev", TAG+="uaccess"
************************
/etc/udev/rules.d/49-stlinkv1.rules
*****************************
# stm32 discovery boards, with onboard st/linkv1
# ie, STM32VL.
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv1_%n"
************************
/etc/udev/rules.d/49-stlinkv2-1.rules
*****************************
# stm32 nucleo boards, with onboard st/linkv2-1
# ie, STM32F0, STM32F4.
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv2-1_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3752", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv2-1_%n"
************************
/etc/udev/rules.d/49-stlinkv2.rules
*****************************
# stm32 discovery boards, with onboard st/linkv2
# ie, STM32L, STM32F4.
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv2_%n"
************************
/etc/udev/rules.d/49-stlinkv3.rules
*****************************
# stlink-v3 boards (standalone and embedded) in usbloader mode and standard (debug) mode
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374d", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv3loader_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374e", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv3_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374f", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv3_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3753", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv3_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3754", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv3_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3755", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv3loader_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3757", \
MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
SYMLINK+="stlinkv3_%n"