As the development version doesn’t work, I tried checking out the 4.7.0 version (the latest stable as I understand), doing a make cleanin both the main repo and the mpu-cross compiler directory, and then rebuilding as above, I get the same very similar errors as when building the latest version.
Running $ make -j1 TARGET=OPENMV4 again, I’m getting new errors (final part shown)
[...]
/home/felix/bin/arm-none-eabi-toolchain/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (i2c_slave_irq_handler): Unknown destination type (ARM/Thumb) in /home/felix/src/openmv/build/lib/micropython/i2c.o
/home/felix/src/openmv/lib/micropython/ports/stm32/i2c.c:656:(.text.I2C2_ER_IRQHandler+0xa): dangerous relocation: unsupported relocation
/home/felix/bin/arm-none-eabi-toolchain/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/felix/src/openmv/build/lib/micropython/i2c.o: in function `I2C4_EV_IRQHandler':
/home/felix/src/openmv/lib/micropython/ports/stm32/i2c.c:708:(.text.I2C4_EV_IRQHandler+0xa): undefined reference to `i2c_slave_irq_handler'
/home/felix/bin/arm-none-eabi-toolchain/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (i2c_slave_irq_handler): Unknown destination type (ARM/Thumb) in /home/felix/src/openmv/build/lib/micropython/i2c.o
/home/felix/src/openmv/lib/micropython/ports/stm32/i2c.c:708:(.text.I2C4_EV_IRQHandler+0xa): dangerous relocation: unsupported relocation
/home/felix/bin/arm-none-eabi-toolchain/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/felix/src/openmv/build/lib/micropython/i2c.o: in function `I2C4_ER_IRQHandler':
/home/felix/src/openmv/lib/micropython/ports/stm32/i2c.c:724:(.text.I2C4_ER_IRQHandler+0xa): undefined reference to `i2c_slave_irq_handler'
/home/felix/bin/arm-none-eabi-toolchain/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (i2c_slave_irq_handler): Unknown destination type (ARM/Thumb) in /home/felix/src/openmv/build/lib/micropython/i2c.o
/home/felix/src/openmv/lib/micropython/ports/stm32/i2c.c:724:(.text.I2C4_ER_IRQHandler+0xa): dangerous relocation: unsupported relocation
Memory region Used Size Region Size %age Used
DTCM: 0 B 128 KB 0.00%
ITCM: 64 KB 64 KB 100.00%
SRAM0: 512 KB 512 KB 100.00%
SRAM1: 284996 B 280 KB 99.40%
SRAM2: 8 KB 8 KB 100.00%
SRAM4: 64 KB 64 KB 100.00%
FLASH_FFS: 0 B 128 KB 0.00%
FLASH_TEXT: 1655164 B 1664 KB 97.14%
collect2: error: ld returned 1 exit status
make: *** [/home/felix/src/openmv/ports/stm32/omv_portconfig.mk:228: firmware] Error 1
This time, no build artifacts are generated at all.
I don’t have any idea what’s wrong here. Any ideas on how to further debug or solve this?
Thank you
Felix