pine64 / bl_iot_sdk

BL602 SDK (Pine64 fork)
https://pine64.github.io/bl602-docs/
Apache License 2.0
133 stars 59 forks source link

Compile errors in Windows #94

Open MkMunich opened 2 years ago

MkMunich commented 2 years ago

Hi, hope that this fork is still watched... I installed all tools by following the steps in ./bl602-docs/Quickstart_Guide/Windows/Quickstart_Windows_msys.html I entered the following commands: export BL602_SDK_PATH=~/bl_iot_sdk export CONFIG_CHIP_NAME=BL602 Next, I tried to compile customer_app/bl602_demo_event as described in chapter 3.3 cd ~/bl_iot_sdk/customer_app/bl602_demo_event ./genromap

and I got: use existing version.mk file CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/external_libs/jsmn/jsmn.o CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_interface.o CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_json.o CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_topics.o AS build_out/bl602/evb/src/boot/gcc/entry.o AS build_out/bl602/evb/src/boot/gcc/start.o CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_types.o CC build_out/bl602/evb/src/debug.o CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_json_utils.o CC build_out/bl602/evb/src/strntoumax.o CC build_out/bl602_demo_event/aws_iot_main.o CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client.o CC build_out/bl602/bfl_main.o CC build_out/bl602_demo_event/ble.o CC build_out/bl602_demo_event/blsync_ble_app.o CC build_out/bl602_demo_event/coex_debug.o make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: evb/src/boot/gcc/entry.o] Error 1 make[1]: Waiting for unfinished jobs.... CC build_out/bl602_os_adapter/bl602_os_adapter/bl602_os_hal.o make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: evb/src/boot/gcc/start.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_interface.o] Error 1 make[1]: Waiting for unfinished jobs.... make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: aws-iot-device-sdk-embedded-C/external_libs/jsmn/jsmn.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_json.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:312: aws_iot_main.o] Error 1 make[1]: Waiting for unfinished jobs.... make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: evb/src/strntoumax.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_topics.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: evb/src/debug.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_types.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: aws-iot-device-sdk-embedded-C/src/aws_iot_json_utils.o] Error 1 CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_uart.o make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bfl_main.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_os_adapter/bl602_os_hal.o] Error 1 CC build_out/bl602_demo_event/main.o make: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/project.mk:562: component-bl602-build] Error 2 make: Waiting for unfinished jobs.... CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_adc.o make: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/project.mk:562: component-bl602_os_adapter-build] Error 2 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client.o] Error 1 CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_sec_eng.o make: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/project.mk:562: component-aws-iot-build] Error 2 CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_dma.o CC build_out/blcrypto_suite/src/blcrypto_suite_bignum.o make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: ble.o] Error 1 CC build_out/blcrypto_suite/src/blcrypto_suite_ecp_curves.o CC build_out/blcrypto_suite/src/blcrypto_suite_platform_util.o CC build_out/blcrypto_suite/src/blcrypto_suite_ecp.o make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: coex_debug.o] Error 1 CC build_out/blcrypto_suite/src/blcrypto_suite_porting.o CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_glb.o CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_common.o make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: blsync_ble_app.o] Error 1 CC build_out/blcrypto_suite/src/blcrypto_suite_hacc.o CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_hbn.o make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_std/StdDriver/Src/bl602_sec_eng.o] Error 1 make[1]: Waiting for unfinished jobs.... make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_std/StdDriver/Src/bl602_adc.o] Error 1 CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_timer.o CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_aon.o make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_std/StdDriver/Src/bl602_uart.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_std/StdDriver/Src/bl602_dma.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: src/blcrypto_suite_bignum.o] Error 1 make[1]: Waiting for unfinished jobs.... make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: main.o] Error 1 make: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/project.mk:562: component-bl602_demo_event-build] Error 2 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: src/blcrypto_suite_ecp.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_std/StdDriver/Src/bl602_glb.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_std/StdDriver/Src/bl602_common.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: src/blcrypto_suite_ecp_curves.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: src/blcrypto_suite_platform_util.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: src/blcrypto_suite_hacc.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: src/blcrypto_suite_porting.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_std/StdDriver/Src/bl602_hbn.o] Error 1 make: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/project.mk:562: component-blcrypto_suite-build] Error 2 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_std/StdDriver/Src/bl602_timer.o] Error 1 make[1]: [/home/Marcel/bl_iot_sdk/make_scripts_riscv/component_wrapper.mk:313: bl602_std/StdDriver/Src/bl602_aon.o] Error 1 make: *** [/home/Marcel/bl_iot_sdk/make_scripts_riscv/project.mk:562: component-bl602_std-build] Error 2

I guess, something is missing. Can someone help and give a hint? Best Regards Marcel

lupyuen commented 2 years ago

Hi: Could you try building with my updated fork of pine64/bl_iot_sdk...

git clone --recursive https://github.com/lupyuen/bl_iot_sdk

bl602_demo_event builds OK with WSL (Ubuntu) on my Windows 10 machine. Here's the build log...

https://gist.github.com/lupyuen/03df2f6b5677a3728d1ba7085cda83f7

I just read your article on Home Assistant for BL602, your work is awesome :-)

https://www.elektroda.pl/rtvforum/topic3889041.html

Note that pine64/bl_iot_sdk and my fork are seriously out of sync with the upstream version: bouffalolab/bl_iot_sdk

The upstream version uses the new hosal HAL which is backward incompatible with pine64/bl_iot_sdk.

So you might want to switch to the upstream version instead. (Which might break your BL602 code)

Or you could switch to Apache NuttX RTOS, which doesn't support BLE yet. Here's what I'm doing with NuttX on BL602: