I have just written a post on how to run the minimal configuration with SaxonSoc. It is complex and there may be problems with my instructions. Let me know if they don't work.
Another thing you can do is to run the writeflash utility in https://github.com/lawrie/blackicemx_examples/writeflash. That contains a generated bitstream produced by the SaxonSoc minimal configuration. You will need that to run zephyr.
Running the Zephyr system needs the BlackiceMxZephyr SaxonSoc configuration built. It uses SDRAM and execute-in-place (XIP) from the flash memory.
With that, instead of running the software by using hexInit to load it into BRAM, you need to write zephyr.bin to address 0x40000 in flash memory. zephyr.bin is the software not the bitstream.
You can do that with the writeflash utility as I described in posts on the NES and Acorn Atom systems.
zephyr.bin is Dijkstra's eating philosophers demo. If you build the zephyr and run the zephyr configuration of SaxonSoc, it should run it and show the output on /dev/ttyACM0.
To build the zephyr example you need the SaxonSoc zephyr repository - https://github.com/SpinalHDL/zephyr
There may be some changes that I have not commited that are needed to build that for the Blackice Mx board.
SaxonSoc is currently complex to set up and run. Zephyr adds another level of complexity.