Nico Calarco
10/25/2022, 7:38 PMNico Calarco
10/25/2022, 8:16 PMNico Calarco
10/27/2022, 5:42 PMMatt Venn
10/27/2022, 5:54 PMMatt Venn
10/27/2022, 5:54 PMNico Calarco
10/27/2022, 5:55 PMTim Edwards
10/27/2022, 6:16 PMsed
syntax issue. The Makefile recipe has
%.hex: %.elf
$(TOOLCHAIN_PATH)$(TOOLCHAIN_PREFIX)-unknown-elf-objcopy -O verilog $< $@
sed -i '.orig' -e 's/@1000/@0000/g' $@
but for my OS (Fedora) version of sed
there is no allowed space after the -i
argument, so it has to be edited to
%.hex: %.elf
$(TOOLCHAIN_PATH)$(TOOLCHAIN_PREFIX)-unknown-elf-objcopy -O verilog $< $@
sed -i'.orig' -e 's/@1000/@0000/g' $@
Other things to note: Always use files in firmware_vex/
for MPW-two, not firmware/
.
For running in simulation in the caravel repository, iverilog
is called without a path, so whereever it is located must be in your PATH
environment variable.
There are various reasons why Caravel returns 0xff
values for all data from the SPI; basically it means that the SPI isn't communicating, which can be for any number of reasons having to do with anything in the chain from the USB driver on the host computer to the FTDI chip on the board to the SPI on caravel itself. For a Caravel chip that has been programmed to run any GPIO configuration that is not compatible with the SPI operation (that is, overwrites the GPIO configuration on pins 1 to 4), the SPI will become unreachable directly after power-up, and the only solution to that is a rather tedious operation of unplugging the board from power, then with the reset button on the board pressed down, plug the power back in. Then run the make flash
while the button is still pressed down (this is harder than it sounds). Once the make flash
is running and indicates that the flash is being erased, you can let go of the button.Tim Edwards
10/27/2022, 6:17 PMMatt Venn
10/27/2022, 6:19 PMNico Calarco
10/27/2022, 6:40 PMTim Edwards
10/27/2022, 8:59 PMNico Calarco
10/27/2022, 9:20 PM