@Emuboy you mean pcf file, in particular the uart output? This has varied on different versions of the myStorm boards, also firmware may play a part, you would need to check the relevant schematic for your board version. Alternatively you can put the uart on an pmod pins if you have a usb/serial adaptor..

Over different board versions there have been a number of changes on Uart pins (or sharing of them) and also external SRAM, I haven't looked but has @TomV's port used the external SRAM or just internal BRAM?

Might be easier to get version working with internal BRAM rather than external first (this eliminates SRAM pinout issues), @TomV hasn't documented any changes to use external SRAM yet that I can see..

BTW I just had a quick look at @TomV's PCF file and the Uart pins are the same for BlackIce 1 -as for BlackIce II, so that will not need to be changed. The only issue I can think of is that if the firmware disables the Uart on the STM32 with your version, If it doesn't it could interfere with output on those lines..

external SRAM. It’s almost trivial to integrate my SRAM controller into this design, as long as you’re using a BlackIce-II. For older boards, some changes way be needed due to the PLL conflicting with the SRAM pins.

Somebody should write a little boot ROM for the RISC-V that makes it possible to download the “real” program through the UART, otherwise you’ll always be restricted to programs that are 8KB in size max.

this core does not support compressed instructions, traps or the EBREAK instruction. So it’d be very hard to make it work with GDB. The picorv32 would be better for that.

speaking of which: one issue with riscv cores is correctness. Clifford Wolf has spent a lot of time proving correctness of the picorv32. So I’d trust it much more if you don’t want to spend time chasing obscure HW bugs.

Why do people use an RPi as development machine?

My changes were merged into the main icicle tree. I've deleted my local branch.

As building the RISC-V toolchain was taking so long on my Raspberry Pi, and it filled up a 16Gb SD card and @TomV was making fun of me for using a Raspberry Pi for development, I decided to use my Ubuntu 16.04 desktop to build icicle and the RISC-V toolchain.

(Also the SD card on my Raspberry Pi started getting disk errors and eventually became corrupt, so I had to build a new image on a different card).

It seems a good idea to build the newlib rather than linux version of the RISC-V toolchain as that is sufficient and is smaller and builds more quickly.

I built it all OK and ran make .. dfu-flash, and that is when the fun started.

The program ran for a few second and then stopped and all LED lights went out apart from the end red one.

I tried reinstalling iceboot and erasing flash memory, but similar things were happening on all programs. I was getting "device or resource busy" messages on /dev/ttyACM0 and "rbits failed" messages from iceboot.

I thought that the Blackice device was broken but after I got my Raspberry Pi working again, it worked fine on that.

I eventually tracked the problem down to a package called modemmanager running on Ubuntu. It was writing data to /dev/ttyACM0 which was causing the device to be busy and iceboot to give errors. I uninstalled modemmanager and all is fine now and icicle runs perfectly,

I don't know why modemmanager was installed. I didn't install it, so either it comes by default with Ubuntu or some other package installed it.