I am trying to setup caravel_board on 5 platforms:...
# caravel-board
y
I am trying to setup caravel_board on 5 platforms: ubuntu, lubuntu, simply-linux/altlinux, macOS and Windows/WSL-Ubuntu. So far I was able to do everything under Ubuntu just fine, but I have an issue under under MacOS: 1. First it did not find pyftdi. 2. Then it did not let me to install pyftdi because of "managed environment" so I created a virtual environment: python3 -m venv my-venv source my-venv/bin/activate python3 -m pip install pyftdi make clean flash 3. It gave me the following errors at the end: yuri_panchul@Mac blink % make clean flash rm -f *.elf *.hex *.bin *.vvp *.vcd #riscv32-unknown-elf-gcc -O0 -march=rv32i -Wl,-Bstatic,-T,../sections.lds,--strip-debug -ffreestanding -nostdlib -o blink.elf ../start.s ../print_io.c blink.c riscv64-unknown-elf-gcc -I../ -I../generated/ -O0 -mabi=ilp32 -march=rv32i_zicsr -D__vexriscv__ -Wl,-Bstatic,-T,../sections.lds,--strip-debug -ffreestanding -nostdlib -o blink.elf ../crt0_vex.S ../isr.c ../stub.c blink.c riscv64-unknown-elf-objdump -D blink.elf > blink.lst riscv64-unknown-elf-objcopy -O verilog blink.elf blink.hex sed -ie 's/@1000/@0000/g' blink.hex python3 ../util/caravel_hkflash.py blink.hex Traceback (most recent call last): File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/blink/../util/caravel_hkflash.py", line 7, in <module> from caravel.hk import HKSpi File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/util/caravel/hk.py", line 1, in <module> from .find_ftdi import find_ftdi File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/util/caravel/find_ftdi.py", line 2, in <module> from pyftdi.ftdi import Ftdi ModuleNotFoundError: No module named 'pyftdi' make: * [flash] Error 1 rm blink.elf yuri_panchul@Mac blink % python3 -m venv my-venv yuri_panchul@Mac blink % source my-venv/bin/activate (my-venv) yuri_panchul@Mac blink % python3 -m pip install pyftdi Collecting pyftdi Using cached pyftdi-0.56.0-py3-none-any.whl.metadata (3.2 kB) Collecting pyusb!=1.2.0,>=1.0.0 (from pyftdi) Using cached pyusb-1.3.0-py3-none-any.whl.metadata (2.5 kB) Collecting pyserial>=3.0 (from pyftdi) Using cached pyserial-3.5-py2.py3-none-any.whl.metadata (1.6 kB) Using cached pyftdi-0.56.0-py3-none-any.whl (145 kB) Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB) Using cached pyusb-1.3.0-py3-none-any.whl (58 kB) Installing collected packages: pyserial, pyusb, pyftdi Successfully installed pyftdi-0.56.0 pyserial-3.5 pyusb-1.3.0 (my-venv) yuri_panchul@Mac blink % make clean flash rm -f *.elf *.hex *.bin *.vvp *.vcd #riscv32-unknown-elf-gcc -O0 -march=rv32i -Wl,-Bstatic,-T,../sections.lds,--strip-debug -ffreestanding -nostdlib -o blink.elf ../start.s ../print_io.c blink.c riscv64-unknown-elf-gcc -I../ -I../generated/ -O0 -mabi=ilp32 -march=rv32i_zicsr -D__vexriscv__ -Wl,-Bstatic,-T,../sections.lds,--strip-debug -ffreestanding -nostdlib -o blink.elf ../crt0_vex.S ../isr.c ../stub.c blink.c riscv64-unknown-elf-objdump -D blink.elf > blink.lst riscv64-unknown-elf-objcopy -O verilog blink.elf blink.hex sed -ie 's/@1000/@0000/g' blink.hex python3 ../util/caravel_hkflash.py blink.hex Traceback (most recent call last): File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/blink/../util/caravel_hkflash.py", line 22, in <module> with HKSpi(uart_enable_mode=HKSpi.UART_DISABLE) as hk: ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/util/caravel/hk.py", line 18, in init ftdi_device = find_ftdi() File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/util/caravel/find_ftdi.py", line 10, in find_ftdi return find_only_ftdi() File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/util/caravel/find_ftdi.py", line 20, in find_only_ftdi Ftdi.show_devices(out=s) ~~~~~~~~~~~~~~~~~^^^^^^^ File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/blink/my-venv/lib/python3.13/site-packages/pyftdi/ftdi.py", line 377, in show_devices devdescs = UsbTools.list_devices(url or 'ftdi:///?', cls.VENDOR_IDS, cls.PRODUCT_IDS, cls.DEFAULT_VENDOR) File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/blink/my-venv/lib/python3.13/site-packages/pyftdi/usbtools.py", line 261, in list_devices candidates, _ = cls.enumerate_candidates(urlparts, vdict, pdict, ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ default_vendor) ^^^^^^^^^^^^^^^ File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/blink/my-venv/lib/python3.13/site-packages/pyftdi/usbtools.py", line 405, in enumerate_candidates devices = cls.find_all(vps) File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/blink/my-venv/lib/python3.13/site-packages/pyftdi/usbtools.py", line 93, in find_all devs.update(UsbTools._find_devices(vid, pid, nocache)) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/blink/my-venv/lib/python3.13/site-packages/pyftdi/usbtools.py", line 582, in _find_devices backend = cls._load_backend() File "/Users/yuri_panchul/projects/caravel_board/firmware/chipignite/blink/my-venv/lib/python3.13/site-packages/pyftdi/usbtools.py", line 649, in _load_backend raise ValueError('No backend available') ValueError: No backend available make: * [flash] Error 1 rm blink.elf (my-venv) yuri_panchul@Mac blink %
t
@Anton Maurovic: Do you know anyone who has successfully used the pyftdi interface scripts in caravel_board under Mac OS?