nanovna-v2 / NanoVNA2-firmware

Firmware for NanoVNA V2
https://nanorfe.com/nanovna-v2.html
215 stars 85 forks source link

compiled binary.bin cannot work #35

Open antboy1979 opened 4 years ago

antboy1979 commented 4 years ago

I followed with the guide in https://github.com/nanovna/NanoVNA-V2-firmware and compiled the binary.bin , but I found its size (94,716 bytes) different with binary-ili9341.bin(94,780 bytes) ,witch can be download from https://github.com/nanovna/NanoVNA-V2-firmware/releases. When I use NanoVNA-QT flash the binary.bin, NanoVNA-V2 cannot work.

gabriel-tenma-white commented 4 years ago

Check that your linker script gd32f303cc_with_bootloader.ld wasn't overwritten, and try git --reset hard gd32f303cc_with_bootloader.ld

antboy1979 commented 4 years ago

gabriel-tenma-white, thanks for your reply. Can you tell me more detailly what I should do for this problem, I am a newer for ARM toolchains.

gabriel-tenma-white commented 4 years ago

git reset --hard gd32f303cc_with_bootloader.ld

antboy1979 commented 4 years ago

thans much. The problem has been solved. I just used command 'git reset --hard' , 'sudo make clean', 'sudo make' step by step. There are some erros in main2.cpp:219:25 , 'assignment of read-only variable', I deleted line 218 and 219, then the command ' sudo make' can work correctly. the I get the new binary.bin( size is 98420 bytes), it can work after flash into NanoNVA-V2. thanks a lot again, best regards!

douardda commented 4 years ago

You should not have to use sudo to build the firmware (no need to have root privileges for that). This read-only variable assignment should be investigated however.

Also the linker script stuff should be made a bit more reliable.

lzqgdt commented 4 years ago

i got same problem , and tried git reset to reset gd32f303cc_with_bootloader.ld . my build option after make is : --start-group -lgcc -lnosys -Wl,--end-group -lm -lopencm3_gd32f3_nofpu -static -nostartfiles -Wl,--exclude-libs,libssp -Wl,--print-memory-usage -Wl,--gc-sections -Llibopencm3/lib -T./gd32f303cc_with_bootloader.ld -mcpu=cortex-m4 -mthumb -msoft-float

lzqgdt commented 4 years ago

i got same problem , and tried git reset to reset gd32f303cc_with_bootloader.ld . my build option after make is : --start-group -lgcc -lnosys -Wl,--end-group -lm -lopencm3_gd32f3_nofpu -static -nostartfiles -Wl,--exclude-libs,libssp -Wl,--print-memory-usage -Wl,--gc-sections -Llibopencm3/lib -T./gd32f303cc_with_bootloader.ld -mcpu=cortex-m4 -mthumb -msoft-float

Oh, it is working after full reset the project . just do the git reset --hard

nieldk commented 4 years ago

You should not have to use sudo to build the firmware (no need to have root privileges for that). This read-only variable assignment should be investigated however.

Also the linker script stuff should be made a bit more reliable.

for that error, see issue #32, it seems to be mculib

douardda commented 4 years ago

FTR I've just rebuilt a working version of the firmware (ili9341 version) that seems to work ok, but had to apply https://github.com/gabriel-tenma-white/mculib/pull/3 to make it compile fine (which is the generalisation of @nieldk proposition to all "config" member variables).

Jampag commented 1 year ago

Hi, I solved it like this: 1-Clone the correct repository for NanoVNA V2 support only 20201013

git clone --branch 20201013 https://github.com/nanovna/NanoVNA-V2-firmware.git

2-Check if it has downloaded these directories as well 'libopencm3' e 'mculib'

3-Check this file 'NanoVNA-V2-firmware/libopencm3/Makefile' on line 27 there must be SRCLIBDIR:= $(subst $(space),$(space),$(realpath lib))

4-Try this make comand

cd NanoVNA-V2-firmware
make BOARDNAME=board_v2_2 EXTRA_CFLAGS="-DSWEEP_POINTS_MAX=201 -DSAVEAREA_MAX=7"

or

make -j4 BOARDNAME=board_v2_plus EXTRA_CFLAGS="-DSWEEP_POINTS_MAX=201 -DSAVEAREA_MAX=7" LDSCRIPT=./gd32f303cc_with_bootloader.ld