При запуске make install
в папке с прошивкой https://github.com/ArduPilot/SiK/tree/8a690a28647ee6085e7dce456ab3963a350acb2d на OSX я получаю:
% build bootloader for hm_trp
obj/hm_trp/bootloader~hm_trp/bootloader.dep:1: *** missing separator. Stop.
make: *** [build~bootloader~hm_trp] Error 2
Похоже, что это проблема форматирования Makefile, но я не смог заложить, можетруки на него.
При удалении каталога obj, созданного под прошивкой и работающего make install
снова я сталкиваюсь с:
Ошибка в OSX
% build bootloader for hm_trp
CC bootloader/bootloader.c
bootloader/bootloader.c:102: error 158: overflow in implicit constant conversion
make[1]: *** [obj/hm_trp/bootloader~hm_trp/bootloader.rel] Error 1
make: *** [build~bootloader~hm_trp] Error 2
Подробная ошибка в OSX
% build bootloader for hm_trp
AS bootloader/crtstart.asm
cp bootloader/crtstart.asm .//obj/hm_trp/bootloader~hm_trp/crtstart.asm
sdas8051 -jloscp .//obj/hm_trp/bootloader~hm_trp/crtstart.asm
(/bin/echo -n .//obj/hm_trp/bootloader~hm_trp/ && sdcc -mmcs51 -MM -DBL_VERSION=2 --model-small --no-xinit-opt --opt-code-size --Werror -DBOARD_hm_trp -I.//include -V bootloader/bootloader.c) > obj/hm_trp/bootloader~hm_trp/bootloader.dep
CC bootloader/bootloader.c
sdcc -mmcs51 -c -o obj/hm_trp/bootloader~hm_trp/bootloader.rel -DBL_VERSION=2 --model-small --no-xinit-opt --opt-code-size --Werror -DBOARD_hm_trp -I.//include -V bootloader/bootloader.c
+ /usr/local/bin/sdcpp -nostdinc -Wall -std=c11 -DBL_VERSION=2 -Werror -DBOARD_hm_trp -I.//include -obj-ext=.rel -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_SMALL -D__SDCC_FLOAT_REENT -D__SDCC=3_8_0 -D__SDCC_VERSION_MAJOR=3 -D__SDCC_VERSION_MINOR=8 -D__SDCC_VERSION_PATCH=0 -DSDCC=380 -D__SDCC_REVISION=10562 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/local/bin/../share/sdcc/include/mcs51 -isystem /usr/local/share/sdcc/include/mcs51 -isystem /usr/local/bin/../share/sdcc/include -isystem /usr/local/share/sdcc/include bootloader/bootloader.c
bootloader/bootloader.c:102: error 158: overflow in implicit constant conversion
make[1]: *** [obj/hm_trp/bootloader~hm_trp/bootloader.rel] Error 1
make: *** [build~bootloader~hm_trp] Error 2
Я также пытался выполнить установку на linux, и она выдает:
Ошибка в Linux
% build bootloader for rfd900a
make[1]: Entering directory 'SiK/Firmware'
AS bootloader/crtstart.asm
CC bootloader/bootloader.c
bootloader/bootloader.c:102: error 158: overflow in implicit constant conversion
make[1]: *** [include/rules.mk:135: obj/rfd900a/bootloader~rfd900a/bootloader.rel] Error 1
make[1]: Leaving directory 'SiK/Firmware'
make: *** [Makefile:95: build~bootloader~rfd900a] Error 2
Подробная ошибка в Linux
% build bootloader for rfd900a
make[1]: Entering directory 'SiK/Firmware'
AS bootloader/crtstart.asm
cp bootloader/crtstart.asm .//obj/rfd900a/bootloader~rfd900a/crtstart.asm
sdas8051 -jloscp .//obj/rfd900a/bootloader~rfd900a/crtstart.asm
(/bin/echo -n .//obj/rfd900a/bootloader~rfd900a/ && sdcc -mmcs51 -MM -DBL_VERSION=2 --model-small --no-xinit-opt --opt-code-size --Werror -DBOARD_rfd900a -I.//include -V bootloader/bootloader.c) > obj/rfd900a/bootloader~rfd900a/bootloader.dep
CC bootloader/bootloader.c
sdcc -mmcs51 -c -o obj/rfd900a/bootloader~rfd900a/bootloader.rel -DBL_VERSION=2 --model-small --no-xinit-opt --opt-code-size --Werror -DBOARD_rfd900a -I.//include -V bootloader/bootloader.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -DBL_VERSION=2 -Werror -DBOARD_rfd900a -I.//include -obj-ext=.rel -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_SMALL -D__SDCC_FLOAT_REENT -D__SDCC=3_8_0 -D__SDCC_VERSION_MAJOR=3 -D__SDCC_VERSION_MINOR=8 -D__SDCC_VERSION_PATCH=0 -DSDCC=380 -D__SDCC_REVISION=10562 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include bootloader/bootloader.c
bootloader/bootloader.c:102: error 158: overflow in implicit constant conversion
make[1]: *** [include/rules.mk:135: obj/rfd900a/bootloader~rfd900a/bootloader.rel] Error 1
make[1]: Leaving directory 'SiK/Firmware'
make: *** [Makefile:95: build~bootloader~rfd900a] Error 2
https://github.com/ArduPilot/SiK/blob/master/Firmware/bootloader/bootloader.c#L102