I am uploading picosoc programs a lot as part of the developmemt of my Pacman game for tiny-fpga-game-soc.
So I am doing:
tinyprog -p hardware.bin -u firmware.bin
After what looks like a sucessful upload, after getting:
there is a long wait until tinyprog returns, and when it does, all the USB devices on my Linux machine have stopped working and I have to reboot it with the power button. (This is not a modemmanager problem as I removed that a long time ago). I am running on a small Gigabyte box, which is a bit like an Intel NUC, and I am running Ubuntu 16.04. This problem does not seem to be related to the the files I am uploading as I can successfully upload hardware.bin and firmware.bin, then press the reset button on the TinyFPGA BX and do it again and the machine freezes.
Another problem that I get is tinyprog is:
Traceback (most recent call last):
File “/home/lawrie/.local/bin/tinyprog”, line 11, in
File “/home/lawrie/.local/lib/python2.7/site-packages/tinyprog/main.py”, line 334, in main fpga.boot()
File “/home/lawrie/.local/lib/python2.7/site-packages/tinyprog/init.py”, line 389, in boot self.ser.flush()
File “/home/lawrie/.local/lib/python2.7/site-packages/tinyprog/init.py”, line 69, in flush self.ser.flush()
File “/usr/lib/python2.7/dist-packages/serial/serialposix.py”, line 560, in flush termios.tcdrain(self.fd)
termios.error: (5, ‘Input/output error’)
However, despite the track trace the upload os OK in that case.
The third problem is that I get a similar track trace but with a “Failure!” message, and the upload of the firmware (picosoc C program) fails. I will post the stack trace when I next get it. When this problem occurs, it is repeatable: every attempt to upload the same firmware.bin fails the same way. However, when I make a minor change to the C program, the upload works. So it seems to be related to the size (or possibly contents) of firmware.bin.
These errors slow down my development a bit, particularly the one that freezes the machine, although the Linux box reboots very quickly from its SSD.