MarkR42 / malenki-nano

Speed controller and receiver for small robots
Other
36 stars 9 forks source link

Firmware compilation for the HV version #13

Open Nitewimp opened 3 months ago

Nitewimp commented 3 months ago

Hi, I am having quite a trouble figuring out how to compile the HV firmware from source. I tried following your custom toolchain, which finishes succesfully, however when I try to use: make -f Makefile.plus1616 I get: avr-gcc: No such file or directory.

I tried following the steps described by vladbelous / tinyAVR_gcc_setup (the one you linked in the custom toolchain), which seems to work but I get an error saying:

avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/main.o main.c
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/diag.o diag.c
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/a7105_spi.o a7105_spi.c
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -Xassembler -a=obj_attiny1616plus/spi_asm.S.lst -o obj_attiny1616plus/spi_asm.o spi_asm.S
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/radio.o radio.c
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/motors.o motors.c
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/nvconfig.o nvconfig.c
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/mixing.o mixing.c
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/weapons.o weapons.c
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/vsense.o vsense.c
avr-gcc -c -DENABLE_DIAG=1 -DPRODUCT_IS_PLUS=1 -mmcu=attiny1616 -Os -Wall -g  -flto -o obj_attiny1616plus/sticks.o sticks.c
avr-gcc -mmcu=attiny1616 -o obj_attiny1616plus/main.elf obj_attiny1616plus/main.o obj_attiny1616plus/diag.o obj_attiny1616plus/a7105_spi.o obj_attiny1616plus/spi_asm.o obj_attiny1616plus/radio.o obj_attiny1616plus/motors.o obj_attiny1616plus/nvconfig.o obj_attiny1616plus/mixing.o obj_attiny1616plus/weapons.o obj_attiny1616plus/vsense.o obj_attiny1616plus/sticks.o -g -Os -flto
/usr/local/avr/lib/gcc/avr/9.2.0/../../../../avr/bin/ld: address 0x803800 of obj_attiny1616plus/main.elf section .data' is not within region data'
/usr/local/avr/lib/gcc/avr/9.2.0/../../../../avr/bin/ld: address 0x80392c of obj_attiny1616plus/main.elf section .bss' is not within region data'
/usr/local/avr/lib/gcc/avr/9.2.0/../../../../avr/bin/ld: address 0x803800 of obj_attiny1616plus/main.elf section .data' is not within region data'
/usr/local/avr/lib/gcc/avr/9.2.0/../../../../avr/bin/ld: address 0x80392c of obj_attiny1616plus/main.elf section .bss' is not within region data'
collect2: error: ld returned 1 exit status
make: *** [common.mk:22: link] Error 1

I would be extremely thankful if you could either provide some instructions on how to fully compile from scratch, or if you could provide the binary for the HV version (like you did with the standard one). I have been trying to get this to work for the better part of 2 weeks now so any help would be greatly appreciated!

MarkR42 commented 3 months ago

I committed the binary. I don't know what's wrong with your toolchain,

https://github.com/MarkR42/malenki-nano/tree/master/hv_flash

Nitewimp commented 3 months ago

Thank you so much!