It doesn't work for me either, but it appears to be a problem with the uart.
I think when I ran it before I was using an external usb to uart device, because the firmware support for the uart was not there.
I attached an oscilloscope to the TX pin on the female header and I could see data being sent. The Tx pin is the 4th along from the left at the top. (It is confusing sometimes named RX as @folknology named it relative to the STM32). The third along is a GND. I could see data being sent but it did not appear on /dev/ttyACM0.
So I attached an external usb to uart on those pins, and I could then see the correct output on /dev/ttyUSB0.
One thing I discovered when I looked at that there were changes to blackicemx_examples/writeflash which I had not pushed.
Philosopher 0 [P: 0] EATING [ 250 ms ]
Philosopher 1 [P: 2] THINKING [ 475 ms ]
Philosopher 2 [P: 1] HOLDING ONE FORK
Philosopher 3 [P: 0] EATING [ 725 ms ]
Philosopher 4 [C:-1] STARVING
Philosopher 5 [C:-2] STARVING
An implementation of a solution to the Dining Philosophers
problem (a classic multi-thread synchronization problem).
This particular implementation demonstrates the usage of multiple
preemptible and cooperative threads of differing priorities, as
well as dynamic mutexes and thread sleeping.