2022-04-08 12:24 PM
I've found that Nucleo-L4R5ZI and Nucleo-L476RG sometimes stop receiving UART data through the STLINK USB interface is Mass Storage type is enabled.
I created a program that echos random data sizes (send to board, board echos back). This will crash after a while on macOS if "Mass Storage" is enabled (it is fine on Windows and Linux regardless of Mass Storage option). Here is a simple MBED project and both a Python and Node application to cause the failure.
https://github.com/petertorelli/serialbreaker
The crash takes a while to happen, it is quite intermittent, and requires a full uplug/replug of the device (macOS will sometimes complain that the mass device was not removed properly).
I have another where I found the ST board can still transmit, it just cannot receive. I know this because I can reset the board with the reset button, see a boot test message, but it still won't respond to commands sent over the UART. I think the bug is in the RX path from the host to the STM board.
I've seen this on every MacOS version since Mavericks (when I first started developing). I've never seen it on Windows or Linux. I recommend anyone using the dev board in this mode to disable Mass Storage.
--Peter
Solved! Go to Solution.
2022-05-31 04:11 AM
Great news! Thank you for sharing the solution :smiling_face_with_smiling_eyes: