Hi, All
I am trying to run the demo example Onboard_demo with AWS on my QCA4020 dev kit, I am following the "80-YA121-140_REV_E_QCA402X__CDB2X__Development_Kit_User_Guide.pdf" section 5 Onboard demo with cloud mode. I successfully downloaded the AWS SDK and followed the steps as it is intsructed by the guide.
When I try to build the application I got some errors while linking
D:\HUBV02\SDK\qca4020-or-3-6\target\quartz\demo\Onboard_demo\build\gcc>build.bar prepare 4020 cdb
'build.bar' is not recognized as an internal or external command,
operable program or batch file.
D:\HUBV02\SDK\qca4020-or-3-6\target\quartz\demo\Onboard_demo\build\gcc>ecosystem.bat 1
ecosystem set to awsiot
D:\HUBV02\SDK\qca4020-or-3-6\target\quartz\demo\Onboard_demo\build\gcc>build.bat t 4020 2 1 1 cdb
Python version:Python 3.8.0
awsiot
Selected Radio Is ZIGBEE
Selected Zigbee mode is COORDINATOR
SECBOOT: false
SECBOOT_XML: false
CDB
****************************************************************************
Building Onboard AWS demo for v2 Chipset
RTOS threadx
CHIPSET VARIANT qca4020
Onboard Via WIFI
Battery Operated 0
Ecosystem awsiot
*****************************************************************************
"CFG_FEATURE_SEPARATED_M4_SBL=true"
"CFG_FEATURE_SBL_IMAGE_TYPE=sbl_merged"
"Building for AWS"
Exporting Device config files....
GENERATING DEVCFG....
Building sbrk.c
Building onboard.c
Building utils\util.c
Building utils\led_utils.c
Building utils\wifi_util.c
Building utils\net_util.c
Building utils\ble_util.c
Building ble\ble_zigbee_service.c
Building ble\ble_thread_service.c
Building onboard_via_wifi.c
Building qcli\qcli.c
Building qcli\qcli_util.c
Building qcli\pal.c
Building lp\lp_demo.c
Building lp\fom_lp_test.c
Building lp\som_lp_test.c
Building lp\mom_lp_test.c
Building thread\thread_joiner.c
Building thread\thread_util.c
Building thread\thread_udp_joiner.c
Building thread\thread_border_router.c
Building thread\thread_udp_border_router.c
Building thread\thread_router.c
Building zigbee\zigbee_util.c
Building zigbee\zigbee_coordinator.c
Building zigbee\zigbee_router.c
Building zigbee\zigbee_enddevice.c
Building zigbee\zcl_util.c
Building zigbee\clusters\zcl_alarms_demo.c
Building zigbee\clusters\zcl_basic_demo.c
Building zigbee\clusters\zcl_colorcontrol_demo.c
Building zigbee\clusters\zcl_custom_demo.c
Building zigbee\clusters\zcl_groups_demo.c
Building zigbee\clusters\zcl_identify_demo.c
Building zigbee\clusters\zcl_levelcontrol_demo.c
Building zigbee\clusters\zcl_onoff_demo.c
Building zigbee\clusters\zcl_ota_demo.c
Building zigbee\clusters\zcl_scenes_demo.c
Building zigbee\clusters\zcl_time_demo.c
Building zigbee\clusters\zcl_touchlink_demo.c
Building zigbee\clusters\zcl_powerconfig_demo.c
Building zigbee\clusters\zcl_devicetemp_demo.c
Building sensors\sensors.c
Building sensors\pir_int.c
Building export\platform_oem.c
Building export\platform_oem_som.c
Building export\platform_oem_mom.c
Building export\DALConfig_devcfg.c
Building export\DALConfig_fom.c
Building export\devcfg_devcfg_data.c
Building export\devcfg_fom_data.c
Building export\UsrEDL.c
Building ecosystem\aws\aws_run.c
Building sensors\sensor_json.c
Building ..\..\..\..\quartz\ecosystem\aws\port\aws_timer.c
Building ..\..\..\..\quartz\ecosystem\\aws\port\network_qca4020_wrapper.c
Building ..\..\..\..\thirdparty\aws\awsiot\external_libs\jsmn\jsmn.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_json_utils.c
..\..\src\..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_json_utils.c: In function 'parseUnsignedInteger32Value':
..\..\src\..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_json_utils.c:54:93: warning: format '%u' expects argument of type 'unsigned int *', but argument 3 has type 'uint32_t * {aka long unsigned int *}' [-Wformat=]
if(('-' == (char) (jsonString[token->start])) || (1 != sscanf(jsonString + token->start, "%u", i))) {
^
..\..\src\..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_json_utils.c: In function 'parseInteger32Value':
..\..\src\..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_json_utils.c:96:46: warning: format '%i' expects argument of type 'int *', but argument 3 has type 'int32_t * {aka long int *}' [-Wformat=]
if(1 != sscanf(jsonString + token->start, "%i", i)) {
^
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_mqtt_client.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_mqtt_client_common_internal.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_mqtt_client_connect.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_mqtt_client_publish.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_mqtt_client_subscribe.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_mqtt_client_unsubscribe.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_mqtt_client_yield.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_shadow.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_shadow_actions.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_shadow_records.c
Building ..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_shadow_json.c
..\..\src\..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_shadow_json.c: In function 'convertDataToString':
..\..\src\..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_shadow_json.c:347:67: warning: format '%i' expects argument of type 'int', but argument 4 has type 'int32_t {aka long int}' [-Wformat=]
snPrintfReturn = snprintf(pStringBuffer, maxSizoStringBuffer, "%i,", *(int32_t *) (pData));
^
..\..\src\..\..\..\..\thirdparty\aws\awsiot\src\aws_iot_shadow_json.c:353:67: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t {aka long unsigned int}' [-Wformat=]
snPrintfReturn = snprintf(pStringBuffer, maxSizoStringBuffer, "%u,", *(uint32_t *) (pData));
^
Attempting to convert windows paths: output\LinkerLibs.txt
Generating Linker Scripts...
Linking...
arm-none-eabi-ld: cannot find -lc_nano
arm-none-eabi-ld: cannot find -lnosys
arm-none-eabi-ld: cannot find -lgcc
Usage: python diagMsgCompact.py <Output ELF> <Output string database File> <Input ELF> <input pickle file> <CompactType: Intermediate or Final>
diagMsgCompact.py: error: Specified ELF file does not exist.
Hashing...
Traceback (most recent call last):
File "D:\HUBV02\SDK\qca4020-or-3-6\target\build\scripts\mbn_tools.py", line 2180, in OPEN
fp = open(file_name, mode)
FileNotFoundError: [Errno 2] No such file or directory: 'output\\Quartz.elf'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "..\..\..\..\..\build\scripts\createxbl.py", line 696, in <module>
main()
File "..\..\..\..\..\build\scripts\createxbl.py", line 210, in main
merge_elfs([],
File "..\..\..\..\..\build\scripts\createxbl.py", line 281, in merge_elfs
mbn_tools.preprocess_elf_file(elf_in_file_name1)
File "D:\HUBV02\SDK\qca4020-or-3-6\target\build\scripts\mbn_tools.py", line 1980, in preprocess_elf_file
elf_fp = OPEN(elf_file_name, 'rb')
File "D:\HUBV02\SDK\qca4020-or-3-6\target\build\scripts\mbn_tools.py", line 2182, in OPEN
raise RuntimeError("The file could not be opened: " + file_name)
RuntimeError: The file could not be opened: output\Quartz.elf
Merging...
The system cannot find the file specified.
mergeAppSbl.py Failed, output\Quartz_HASHED.elf.org does not exist
Please suggest me if I am missing any steps ?
Any help is appreciated.
Thanks