Skip to content

Can't program new TinyFPGA BX ~ 2023-08-22, possibly no metadata? #37

@eyz

Description

@eyz

I just received a new TinyFPGA BX which was ordered through Crowd Supply and shipped by Mouser. I cannot program this new one, but I have an older TinyFPGA BX that programs fine with the same tools.

The power LED is solid red, and the boot LED is pulsing red (during all commands captured below)

Any tips on how to proceed? The messages seem to imply there's a bootloader, but maybe no metadata. Do I need to manually write metadata to the board somehow?

I have many micro-controller boards on hand and in theory could send some SPI commands or similar if needed to resolve this. I believe I have a TinyFPGA programmer as well, if applicable.

$ pip3 list | grep tinyprog
tinyprog                           1.0.21
$ lsusb | grep 1d50
Bus 003 Device 021: ID 1d50:6130 OpenMoko, Inc. 
$ python3 --version
Python 3.10.12
$ tinyprog -p hardware.bin

    TinyProg CLI
    ------------
    Using device id 1d50:6130
    Only one board with active bootloader, using it.
    Programming /dev/ttyACM0 with hardware.bin
Traceback (most recent call last):
  File "/home/isaac/.local/bin/tinyprog", line 8, in <module>
    sys.exit(main())
  File "/home/isaac/.local/lib/python3.10/site-packages/tinyprog/__main__.py", line 334, in main
    addr = fpga.meta.userimage_addr_range()[0]
  File "/home/isaac/.local/lib/python3.10/site-packages/tinyprog/__init__.py", line 182, in userimage_addr_range
    return self._get_addr_range(u"userimage")
  File "/home/isaac/.local/lib/python3.10/site-packages/tinyprog/__init__.py", line 188, in _get_addr_range
    addr_str = self.root[u"bootmeta"][u"addrmap"][name]
TypeError: 'NoneType' object is not subscriptable
make: *** [Makefile:2: upload] Error 1
$ tinyprog -l

    TinyProg CLI
    ------------
    Using device id 1d50:6130
    Only one board with active bootloader, using it.
    Boards with active bootloaders:

        /dev/ttyACM0: No metadata
$ tinyprog -m
Traceback (most recent call last):
  File "/home/isaac/.local/bin/tinyprog", line 8, in <module>
    sys.exit(main())
  File "/home/isaac/.local/lib/python3.10/site-packages/tinyprog/__main__.py", line 257, in main
    m["port"] = str(port)
TypeError: 'NoneType' object does not support item assignment
$ tinyprog --update-bootloader

    TinyProg CLI
    ------------
    Using device id 1d50:6130
    Only one board with active bootloader, using it.
    All connected and active boards are up to date!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions