记一次使用CMake加载AiPi-Open-Kits中Project_basic项目时出现的问题

[复制链接]
查看690 | 回复2 | 2023-11-20 20:37:11 | 显示全部楼层 |阅读模式

本帖最后由 SmileYik 于 2023-11-20 21:51 编辑

记一次使用CMake加载AiPi-Open-Kits中Project_basic项目时出现的问题

基础信息

  • 系统: Archlinux
  • 编辑工具:VSCode
  • CMake版本:3.27.8
  • aithinker_Ai-M6X_SDK: d444b4c
  • Project_basic: 7b2347b
  • 是否可复现:是,下面CMake组流程应该是100%复现

环境准备

仓库内下载SDK和Project_basic

aithinker_Ai-M6X_SDK: d444b4c Project_basic: 7b2347b

SDK使用git补全子模块后即可,目录我是随意放置。

Project_basic 项目结构

❯ tree ../Project_basic
../Project_basic
├── CMakeLists.txt
├── components
│   └── wifi
│       ├── wifi_event.c
│       └── wifi_event.h
├── config
│   ├── FreeRTOSConfig.h
│   ├── lwipopts_user.h
│   └── mbedtls_sample_config.h
├── flash_prog_cfg.ini
├── main
│   └── main.c
├── Makefile
└── proj.conf

5 directories, 10 files
项目文件信息

<details> <summary>默认Makefile内容</summary>

# ********************************#
# 编译配置
# Compile Configuration
# ********************************#

# 当前工程文件路径(Current project file path)
SDK_DEMO_PATH ?= .
# 配置SDK路径(Configure SDK path)
BL_SDK_BASE ?= $(SDK_DEMO_PATH)/../aithinker_Ai-M6X_SDK
# 设置SDK路径(Set SDK path)
export BL_SDK_BASE

#配置芯片型号,M61/M62都配置成bl616(Configure chip models, with both M61 and M62 configured as bl616)
CHIP ?= bl616
#配置板子类型,M61/M62 保持 “bl616dk”(Configuration board subtype, M61/M62 maintains' bl616dk ')
BOARD ?= bl616dk
#配置编译工具链(Configure Compilation Toolchain)
CROSS_COMPILE ?= riscv64-unknown-elf-

# add custom cmake definition
#cmake_definition+=-Dxxx=sss

#引用实际的编译配置(Reference the actual compilation configuration)
include $(BL_SDK_BASE)/project.build

</details>

<details> <summary>默认CMakeLists.txt内容</summary>

# *************************************************************#
# 工程源文件配置
# Engineering Source File Configuration
# *************************************************************#

# ############################ 保持默认 #######################
# #########################  Keep default ####################
cmake_minimum_required(VERSION 3.15)

include(proj.conf)

find_package(bouffalo_sdk REQUIRED HINTS $ENV{BL_SDK_BASE})

# #############################################################

# 搜集所有的C文件( Collect source files)
file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/components/*.c")

# 添加头文件的引用路径(Add .h include directories)
sdk_add_include_directories(main config components/wifi)

# 把C文件添加到工程里(Add .c file to the project)
target_sources(app PRIVATE ${sources})

# 设置main.c 的文件(Set the document source for main. c)
# 注意:不能和file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/components/*.c") 冲突(Note: Cannot conflict with “file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/components/*.c")”)
sdk_set_main_file(main/main.c)

# 设置工程名称,这个配置决定了编译出来的文件名。(Set the project name, which determines the compiled file name)
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
project(${PROJECT_NAME})

</details>

<details> <summary>默认proj.conf内容</summary>

#**********************************************************#
#                           组件使能                        #
#                   Component Enable                       #
#**********************************************************#
# 这个文件决定了当前工程中用到的组件,并且把它们添加到编译列表
# 如果发现引用的某个组件的文件夹找不到路径,大概率是该组件没在这个文件中设置为启用
# This file determines the components used in the current project and adds them to the compilation list. 
# If the folder of a referenced component cannot find a path, it is likely that the component is not set to enabled in this file


# Components
set(CONFIG_BFLOG 1)
set(CONFIG_FREERTOS 1)
set(CONFIG_POSIX 1)
set(CONFIG_TLSF 1)
set(CONFIG_SHELL 0)
set(CONFIG_LWIP 1)
set(CONFIG_WIFI6 1)
set(CONFIG_RF 1)
set(CONFIG_MBEDTLS 1)
set(CONFIG_DHCPD 1)
set(CONFIG_PING 1)

#LVGL
set(CONFIG_PSRAM 0)
set(CONFIG_BSP_LCD 0)
set(CONFIG_BSP_TOUCH 0)
set(CONFIG_LVGL 0)

# easy flash
set(CONFIG_PARTITION 0)
set(CONFIG_BFLB_MTD 0)
set(CONFIG_EASYFLASH4 0)

# Config
## mbedtls
set(CONFIG_MBEDTLS_AES_USE_HW 0)
set(CONFIG_MBEDTLS_BIGNUM_USE_HW 0)
set(CONFIG_MBEDTLS_ECC_USE_HW 0)
set(CONFIG_MBEDTLS_SHA1_USE_HW 0)
set(CONFIG_MBEDTLS_SHA256_USE_HW 0)
set(CONFIG_MBEDTLS_SHA512_USE_HW 0)

# wifi
set(CONFIG_VIF_MAX 2)
set(CONFIG_STA_MAX 4)

set(CONFIG_MAC_TXQ_DEPTH 32)
set(CONFIG_MAC_RXQ_DEPTH 12)

#MQTT 
set(CONFIG_MQTT 0)

set(CONFIG_VSNPRINTF_FLOAT      0)
set(CONFIG_VSNPRINTF_FLOAT_EX   0)
set(CONFIG_VSNPRINTF_LONG_LONG  0)
# BLE
set(CONFIG_BLUETOOTH 0)
set(CONFIG_BTBLECONTROLLER_LIB ble1m10s1bredr0)
set(CONFIG_BLE_USE_MAC2 0)
set(CONFIG_BT_BAS_SERVER 0)
set(CONFIG_BT_DIS_SERVER 0)
#set(CONFIG_BT_DEVICE_APPEARANCE 0x03c1)
set(CONFIG_BT_SETTINGS 0)

</details>

对照组(make)

项目环境配置

这是使用make进行编译,因为系统没有设置环境变量,故手动在项目根目录内的 Makefile中补全环境,其中有两行需要修改,分别是:

# 配置SDK路径(Configure SDK path)
BL_SDK_BASE ?= $(SDK_DEMO_PATH)/../aithinker_Ai-M6X_SDK

#配置编译工具链(Configure Compilation Toolchain)
CROSS_COMPILE ?= riscv64-unknown-elf-

BL_SDK_BASE设置为 aithinker_Ai-M6X_SDK所在位置;CROSS_COMPILE设置为工具链所在位置,CROSS_COMPILE的默认位置是在系统环境变量中寻找,因为我没有设置系统环境变量,则我自己是采用了绝对路径,修改完后对应值如下

# 配置SDK路径(Configure SDK path)
BL_SDK_BASE ?= /path/to/aithinker_Ai-M6X_SDK

#配置编译工具链(Configure Compilation Toolchain)
CROSS_COMPILE ?= $(BL_SDK_BASE)/toolchain/bin/riscv64-unknown-elf-
项目编译

配置完后,直接使用 make指令进行编译,可以编译日志

<details> <summary>编译日志</summary>

❯ make
./../aithinker_Ai-M6X_SDK/tools/cmake/bin/cmake -S . -B build -G "Unix Makefiles" -DCROSS_COMPILE=riscv64-unknown-elf- -DCHIP=bl616 -DCPU_ID= -DBOARD=bl616dk -DBOARD_DIR= -DCONFIG_DEBUG=y -DCONFIG_ROMAPI=y -DCONFIG_USB_HS=y -DCONFIG_COMX=COM5 -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF -DCONFIG_TLSF=y
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /path/to/aithinker_Ai-M6X_SDK/toolchain/bin/riscv64-unknown-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /path/to/aithinker_Ai-M6X_SDK/toolchain/bin/riscv64-unknown-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /path/to/aithinker_Ai-M6X_SDK/toolchain/bin/riscv64-unknown-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- [register library : mbedtls], path:/path/to/aithinker_Ai-M6X_SDK/components/crypto/mbedtls
-- [register library : libc], path:/path/to/aithinker_Ai-M6X_SDK/components/libc
-- [register library : mm], path:/path/to/aithinker_Ai-M6X_SDK/components/mm
-- [register library : lwip], path:/path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip
-- [register library : dhcpd], path:/path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip_apps/dhcpd
-- [register library : ping], path:/path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip_apps/ping
-- [register library : freertos], path:/path/to/aithinker_Ai-M6X_SDK/components/os/freertos
-- [register library : utils], path:/path/to/aithinker_Ai-M6X_SDK/components/utils
-- [register extern library : libwifi6], path:/path/to/aithinker_Ai-M6X_SDK/components/wireless/wifi6
-- [register library : bl6_os_adapter], path:/path/to/aithinker_Ai-M6X_SDK/components/wireless/wifi6/bl6_os_adapter
-- [register library : lhal], path:/path/to/aithinker_Ai-M6X_SDK/drivers/lhal
-- [register extern library : libpka], path:/path/to/aithinker_Ai-M6X_SDK/drivers/lhal
-- [register library : std], path:/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std
-- [register extern library : librf], path:/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/rf
-- [register library : rfparam], path:/path/to/aithinker_Ai-M6X_SDK/drivers/rfparam
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CONFIG_COMX
    CONFIG_USB_HS


-- Build files have been written to: /path/to/Project_basic/build
cd build && make -j16 && make combine
[  0%] Building C object build_out/components/utils/CMakeFiles/utils.dir/log/log.c.o
[  0%] Building C object build_out/components/mm/CMakeFiles/mm.dir/mem.c.o
[  0%] Building C object build_out/components/net/lwip/lwip_apps/ping/CMakeFiles/ping.dir/ping.c.o
[  0%] Building C object build_out/components/net/lwip/lwip_apps/dhcpd/CMakeFiles/dhcpd.dir/dhcp_server_raw.c.o
[  0%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/apps/lwiperf/lwiperf.c.o
[ 99%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/port/hw_entropy_poll.c.o
[ 99%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/port/bignum_ext.c.o
[ 99%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/bignum.c.o
[100%] Linking C static library ../../../lib/libmbedtls.a
[100%] Built target mbedtls
[100%] Building C object CMakeFiles/Project_basic_bl616.elf.dir/main/main.c.o
/path/to/Project_basic/main/main.c:21: warning: "DBG_TAG" redefined
   21 | #define DBG_TAG "MAIN"
      | 
In file included from /path/to/Project_basic/main/main.c:18:
/path/to/aithinker_Ai-M6X_SDK/components/utils/log/log.h:31: note: this is the location of the previous definition
   31 | #define DBG_TAG ""
      | 
[100%] Linking C executable build_out/Project_basic_bl616.elf
Generate /path/to/Project_basic/build/build_out/Project_basic_bl616.bin
[100%] Built target Project_basic_bl616.elf
[20:01:33.493] - bflb firmware post process : V1.2.0
[20:01:33.493] - Chipname: bl616
[20:01:33.493] - Board config dir: /path/to/aithinker_Ai-M6X_SDK/bsp/board/bl616dk/config
[20:01:33.493] - Create partition using partition_cfg_4M.toml
[20:01:33.495] - Create dts for /path/to/Project_basic/build/build_out/Project_basic_bl616.bin
[20:01:33.495] - Create dts using bl_factory_params_IoTKitA_auto.dts
[20:01:33.499] - 4K header found,append dts file
[20:01:33.499] - Copy boot2_bl616_release_v8.0.7.bin
[20:01:33.500] - Copy mfg_bl616_gu_af8b0946f_v2.26.bin
[20:01:33.501] - Create dts for /path/to/Project_basic/build/build_out/mfg_bl616_gu_af8b0946f_v2.26.bin
[20:01:33.501] - Create dts using bl_factory_params_IoTKitA_auto.dts
[20:01:33.506] - 4K header found,append dts file
[20:01:33.506] - 
Process /path/to/Project_basic/build/build_out/Project_basic_bl616.bin
[20:01:33.506] - ========= sp image create =========
[20:01:33.507] - Flash config crc: b'b5fec518'
[20:01:33.507] - Clock config crc: b'4a05f490'
[20:01:33.507] - Image Offset:0x1000
[20:01:33.507] - Image hash is b'5dfe6349278c5c4f1aeb3ab6f417431490e817051490d6c5734d403822d63605'
[20:01:33.507] - Encrypt efuse data
[20:01:33.508] - Image Offset:0x1000
[20:01:33.508] - Image hash ignore,not calculate
[20:01:33.508] - Bootheader config crc: b'333df1fc'
[20:01:33.508] - 
Process /path/to/Project_basic/build/build_out/boot2_bl616_release_v8.0.7.bin
[20:01:33.508] - ========= sp image create =========
[20:01:33.508] - Flash config crc: b'b5fec518'
[20:01:33.508] - Clock config crc: b'4a05f490'
[20:01:33.508] - Image Offset:0x2000
[20:01:33.509] - Image hash is b'05637acdebff0815cd04e881d0e17dfa4ffa2a2b8592ce73d8271b7da2f0289f'
[20:01:33.509] - Encrypt efuse data
[20:01:33.509] - Image Offset:0x2000
[20:01:33.509] - Image hash ignore,not calculate
[20:01:33.509] - Bootheader config crc: b'974894b6'
[20:01:33.509] - 
Process /path/to/Project_basic/build/build_out/mfg_bl616_gu_af8b0946f_v2.26.bin
[20:01:33.509] - ========= sp image create =========
[20:01:33.510] - Flash config crc: b'4fb1fe70'
[20:01:33.510] - Clock config crc: b'0b34ef89'
[20:01:33.510] - Image Offset:0x1000
[20:01:33.511] - Image hash is b'69de5b7af45fea2e456fb6864612126bbdad58e69294d1466a2f892e010d1f3d'
[20:01:33.511] - Encrypt efuse data
[20:01:33.512] - Image Offset:0x1000
[20:01:33.512] - Bootheader config crc: b'f9cf01e0'
[20:01:33.512] - create OTA file:/path/to/Project_basic/build/build_out/Project_basic_bl616.bin.ota
[20:01:33.562] - create XZ file:/path/to/Project_basic/build/build_out/Project_basic_bl616.xz
[20:01:33.607] - create XZ OTA file:/path/to/Project_basic/build/build_out/Project_basic_bl616.xz.ota
Built target combine

</details>

CMake组

CMakeLists.txt有一行配置SDK的命令, 其中 ENV{BL_SDK_BASE}是在系统环境变量里读取SDK路径,也就是 aithinker_Ai-M6X_SDK的路径

find_package(bouffalo_sdk REQUIRED HINTS $ENV{BL_SDK_BASE})

那就在这一句上面设定环境变量,因为这一句上面是加载 proj.conf文件内的配置,所以我就在 proj.conf内设置环境变量,也就是在 proj.conf内末尾添加如下行:

# env
set(ENV{BL_SDK_BASE} "/path/to/aithinker_Ai-M6X_SDK")

编辑完后使用cmake指令 cmake -S . -B build去配置项目,并且提示配置失败,原因是未找到目录:add_subdirectory given source "drivers/soc//std" which is not an existing directory., 我去 aithinker_Ai-M6X_SDK内看了一下 drivers/soc/目录,结构大致为:

❯ tree ../aithinker_Ai-M6X_SDK/drivers/soc
../aithinker_Ai-M6X_SDK/drivers/soc
├── bl602
├── bl616
├── bl702
└── bl808
35 directories, 240 files

查阅SDK内的CMakeLists.txt文件了解到需要设定 CHIPBOARD 两个变量,在项目内的Makefile里有定义这两个变量,定义如下

#配置芯片型号,M61/M62都配置成bl616(Configure chip models, with both M61 and M62 configured as bl616)
CHIP ?= bl616
#配置板子类型,M61/M62 保持 “bl616dk”(Configuration board subtype, M61/M62 maintains' bl616dk ')
BOARD ?= bl616dk

同时也顺带配置一下工具链,同样在项目内的 proj.conf末尾加入如下行

set(ENV{BL_SDK_TOOLCHAIN} "$ENV{BL_SDK_BASE}/toolchain")

#config
set(CHIP    bl616) 
set(BOARD   bl616dk)
set(CROSS_COMPILE "$ENV{BL_SDK_TOOLCHAIN}/bin/riscv64-unknown-elf-")

保存后载入项目并配置项目,指令依旧是 cmake -S . -B build, 配置完后没有报错,使用指令 make -C build -j开始编译, 也会进行报错,运行信如下:

<details> <summary>正常信息</summary>

make: 进入目录“/path/to/Project_basic/build”
[  0%] Building C object build_out/components/net/lwip/lwip_apps/dhcpd/CMakeFiles/dhcpd.dir/dhcp_server_raw.c.o
[  1%] Building C object CMakeFiles/app.dir/path/to/aithinker_Ai-M6X_SDK/bsp/board/bl616dk/board.c.o
[  1%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/apps/lwiperf/lwiperf.c.o
[  2%] Building C object build_out/components/mm/CMakeFiles/mm.dir/mem.c.o
[  3%] Building C object build_out/drivers/rfparam/CMakeFiles/rfparam.dir/Src/rfparam_adapter.c.o
[  3%] Building C object build_out/components/net/lwip/lwip_apps/ping/CMakeFiles/ping.dir/ping.c.o
[  3%] Building C object build_out/components/libc/CMakeFiles/libc.dir/newlib/syscalls_nosys.c.o
[  4%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/xtea.c.o
[  4%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/aes.c.o
[  4%] Building C object build_out/components/mm/CMakeFiles/mm.dir/tlsf/tlsf.c.o
[  4%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_abs.c.o
[  4%] Linking C static library ../../../../../lib/libping.a
[  4%] Built target ping
[  5%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_atof.c.o
[  5%] Building C object build_out/components/mm/CMakeFiles/mm.dir/tlsf/bflb_tlsf.c.o
[  5%] Linking C static library ../../../../../lib/libdhcpd.a
[  6%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/apps/http/fs.c.o
[  6%] Building C object CMakeFiles/app.dir/path/to/aithinker_Ai-M6X_SDK/bsp/board/bl616dk/fw_header.c.o
[  6%] Built target dhcpd
[  6%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/api/api_lib.c.o
[  6%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_atoi.c.o
[  6%] Building C object CMakeFiles/app.dir/components/wifi/wifi_event.c.o
[  6%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/api/api_msg.c.o
[  6%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/aesni.c.o
[  6%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_atol.c.o
[  6%] Building C object build_out/drivers/rfparam/CMakeFiles/rfparam.dir/Src/rfparam_rftlv.c.o
[  7%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/croutine.c.o
[  8%] Linking C static library ../../lib/libmm.a
[  9%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/arc4.c.o
[  9%] Built target mm
[ 10%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_atoll.c.o
[ 10%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_bsearch.c.o
[ 10%] Linking C static library ../../lib/librfparam.a
[ 10%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/event_groups.c.o
[ 10%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/aria.c.o
[ 10%] Built target rfparam
[ 10%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_checkbase.c.o
[ 10%] Building C object build_out/components/utils/CMakeFiles/utils.dir/log/log.c.o
[ 10%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/list.c.o
[ 11%] Linking C static library build_out/lib/libapp.a
[ 11%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/asn1parse.c.o
[ 12%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/asn1write.c.o
[ 12%] Built target app
[ 13%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/api/err.c.o
[ 14%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_itoa.c.o
[ 14%] Building C object build_out/components/utils/CMakeFiles/utils.dir/log/bflog/bflog.c.o
[ 14%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/api/netbuf.c.o
[ 15%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/queue.c.o
[ 15%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/tasks.c.o
[ 15%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_llabs.c.o
[ 15%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/base64.c.o
[ 15%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/blowfish.c.o
[ 16%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/camellia.c.o
[ 16%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_lldiv.c.o
[ 16%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/api/netdb.c.o
[ 16%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/timers.c.o
[ 17%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/freertos_port.c.o
[ 17%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ccm.c.o
[ 18%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_qsort.c.o
[ 19%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/api/netifapi.c.o
[ 20%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/certs.c.o
[ 20%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/api/sockets.c.o
[ 21%] Building C object build_out/components/utils/CMakeFiles/utils.dir/log/log_freertos.c.o
[ 21%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/chacha20.c.o
[ 21%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/stdlib/lib_strtod.c.o
[ 21%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/chachapoly.c.o
[ 22%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_ffs.c.o
[ 22%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_ffsl.c.o
[ 22%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/portable/MemMang/heap_3.c.o
[ 22%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_ffsll.c.o
[ 23%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/cipher.c.o
[ 23%] Building C object build_out/components/utils/CMakeFiles/utils.dir/ring_buffer/ring_buffer.c.o
[ 23%] Building C object build_out/components/utils/CMakeFiles/utils.dir/bflb_block_pool/bflb_block_pool.c.o
[ 24%] Building C object build_out/components/utils/CMakeFiles/utils.dir/bflb_timestamp/bflb_timestamp.c.o
[ 25%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_fls.c.o
[ 25%] Building C object build_out/components/wireless/wifi6/bl6_os_adapter/CMakeFiles/bl6_os_adapter.dir/src/rtos_al.c.o
[ 25%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_flsl.c.o
[ 25%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_common.c.o
[ 26%] Building ASM object build_out/components/os/freertos/CMakeFiles/freertos.dir/portable/GCC/RISC-V/common/portASM.S.o
[ 26%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/portable/GCC/RISC-V/common/port.c.o
[ 26%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/cipher_wrap.c.o
[ 26%] Building C object build_out/components/utils/CMakeFiles/utils.dir/getopt/utils_getopt.c.o
[ 26%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_flsll.c.o
[ 26%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/cmac.c.o
[ 26%] Building C object build_out/components/wireless/wifi6/bl6_os_adapter/CMakeFiles/bl6_os_adapter.dir/src/platform_bouffalo_sdk.c.o
[ 26%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_clock.c.o
[ 27%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_adc.c.o
[ 27%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_acomp.c.o
[ 28%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_index.c.o
[ 29%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/constant_time.c.o
[ 30%] Linking C static library ../../lib/libutils.a
[ 31%] Linking C static library ../../../../lib/libbl6_os_adapter.a
[ 31%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_mqueue.c.o
[ 31%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_memccpy.c.o
[ 31%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/api/tcpip.c.o
[ 31%] Built target utils
[ 31%] Built target bl6_os_adapter
[ 32%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_pthread_cond.c.o
[ 32%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_pthread_barrier.c.o
[ 32%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ctr_drbg.c.o
[ 32%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_cks.c.o
[ 32%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_memchr.c.o
[ 33%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_memcmp.c.o
[ 33%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_pthread_mutex.c.o
[ 34%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/ipv4/autoip.c.o
[ 34%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/ipv4/dhcp.c.o
[ 35%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_pthread.c.o
[ 35%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/debug.c.o
[ 36%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_ef_ctrl.c.o
[ 36%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_memmove.c.o
[ 36%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_gpio.c.o
[ 36%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_sched.c.o
[ 37%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_semaphore.c.o
[ 37%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_memrchr.c.o
[ 37%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/ipv4/etharp.c.o
[ 38%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_memset.c.o
[ 39%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/des.c.o
[ 39%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_i2c.c.o
[ 39%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_stpcpy.c.o
[ 39%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_timer.c.o
[ 39%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_stpncpy.c.o
[ 39%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/dhm.c.o
[ 39%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_unistd.c.o
[ 40%] Building C object build_out/components/os/freertos/CMakeFiles/freertos.dir/posix/source/FreeRTOS_POSIX_utils.c.o
[ 41%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strcasecmp.c.o
[ 41%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strcasestr.c.o
[ 42%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_dma.c.o
[ 42%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_rtc.c.o
[ 42%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_sec_aes.c.o
[ 43%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_sec_sha.c.o
[ 43%] Linking C static library ../../../lib/libfreertos.a
[ 44%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/ipv4/icmp.c.o
[ 44%] Built target freertos
[ 44%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strcat.c.o
[ 45%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strchr.c.o
[ 45%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ecdh.c.o
[ 46%] Building ASM object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/startup/start.S.o
[ 46%] Building ASM object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/startup/vector.S.o
[ 46%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_sec_trng.c.o
[ 46%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_spi.c.o
[ 47%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_timer.c.o
[ 47%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strcmp.c.o
[ 47%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/ipv4/igmp.c.o
[ 48%] Building ASM object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/startup/riscv_fpu.S.o
[ 49%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ecdsa.c.o
[ 49%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ecjpake.c.o
[ 49%] Building C object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/startup/start_load.c.o
[ 50%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strcspn.c.o
[ 50%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strdup.c.o
[ 50%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/ipv4/ip4_addr.c.o
[ 51%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/ipv4/ip4_frag.c.o
[ 51%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ecp.c.o
[ 51%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_uart.c.o
[ 51%] Building C object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/startup/system_bl616.c.o
[ 52%] Building C object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/startup/interrupt.c.o
[ 52%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strnlen.c.o
[ 52%] Building C object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/src/bl616_clock.c.o
[ 52%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_wdg.c.o
[ 52%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strpbrk.c.o
[ 53%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strrchr.c.o
[ 54%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_flash.c.o
[ 54%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strsep.c.o
[ 54%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/flash/bflb_sf_cfg.c.o
[ 54%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/ipv4/ip4.c.o
[ 54%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/flash/bflb_xip_sflash.c.o
[ 55%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/flash/bflb_sflash.c.o
[ 55%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strspn.c.o
[ 56%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ecp_curves.c.o
[ 56%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/def.c.o
[ 57%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strstr.c.o
[ 57%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/entropy.c.o
[ 57%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strtok.c.o
[ 57%] Building C object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/src/bl616_glb_gpio.c.o
[ 58%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_strtokr.c.o
[ 59%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/dns.c.o
[ 59%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/inet_chksum.c.o
[ 59%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/entropy_poll.c.o
[ 59%] Building C object build_out/components/libc/CMakeFiles/libc.dir/nuttx/libc/string/lib_vikmemcpy.c.o
[ 60%] Building C object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/src/bl616_glb.c.o
[ 60%] Building C object build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/src/bl616_hbn.c.o
[ 60%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/flash/bflb_sf_ctrl.c.o
[ 60%] Building C object build_out/components/libc/CMakeFiles/libc.dir/vsnprintf.c.o
[ 61%] Building C object build_out/components/libc/CMakeFiles/libc.dir/snprintf.c.o
[ 61%] Building C object build_out/components/libc/CMakeFiles/libc.dir/sprintf.c.o
[ 61%] Building C object build_out/components/libc/CMakeFiles/libc.dir/vsprintf.c.o
[ 62%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/error.c.o
[ 63%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/init.c.o
[ 63%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/ip.c.o
[ 63%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/mem.c.o
[ 64%] Building C object build_out/components/libc/CMakeFiles/libc.dir/printf.c.o
[ 64%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_dac.c.o
[ 65%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_emac.c.o
[ 66%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/memp.c.o
[ 66%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/gcm.c.o
[ 66%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_ir.c.o
[ 66%] Linking C static library ../../lib/liblibc.a
[ 67%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_mjpeg.c.o
[ 67%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/netif.c.o
[ 67%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/pbuf.c.o
[ 67%] Built target libc
[ 67%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_pwm_v2.c.o
[ 68%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/raw.c.o
[ 68%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_cam.c.o
[ 68%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/stats.c.o
[ 68%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/havege.c.o
[ 69%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_sdio2.c.o
[ 69%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/sys.c.o
[ 70%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/hkdf.c.o
[ 70%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/hmac_drbg.c.o
[ 70%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_i2s.c.o
[ 71%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/tcp_out.c.o
[ 71%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/tcp_in.c.o
[ 71%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/tcp.c.o
[ 71%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/md2.c.o
[ 72%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/md4.c.o
[ 72%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/md5.c.o
[ 73%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/timeouts.c.o
[ 73%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/md.c.o
[ 73%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_dbi.c.o
[ 73%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/core/udp.c.o
[ 74%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/memory_buffer_alloc.c.o
[ 74%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/apps/sntp/sntp.c.o
[ 75%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_audac.c.o
[ 75%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/mps_reader.c.o
[ 76%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/mps_trace.c.o
[ 76%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/nist_kw.c.o
[ 76%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/oid.c.o
[ 77%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/src/netif/ethernet.c.o
[ 78%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/padlock.c.o
[ 78%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_auadc.c.o
[ 78%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_platform_dma.c.o
[ 78%] Building C object build_out/components/net/lwip/lwip/CMakeFiles/lwip.dir/system/os/sys_arch.c.o
[ 79%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_irq.c.o
[ 79%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_l1c.c.o
[ 79%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/src/bflb_mtimer.c.o
[ 80%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/include/arch/risc-v/t-head/rv_hart.c.o
[ 80%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/include/arch/risc-v/t-head/rv_pmp.c.o
[ 80%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/pem.c.o
[ 80%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/pk.c.o
[ 80%] Linking C static library ../../../../lib/liblwip.a
[ 80%] Building C object build_out/drivers/lhal/CMakeFiles/lhal.dir/config/bl616/device_table.c.o
[ 81%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/pkcs11.c.o
[ 81%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/pkcs12.c.o
[ 81%] Built target lwip
[ 81%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/pkcs5.c.o
[ 82%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/pk_wrap.c.o
[ 82%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/pkwrite.c.o
[ 82%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/platform.c.o
[ 83%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/platform_util.c.o
[ 83%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/poly1305.c.o
[ 83%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ripemd160.c.o
[ 84%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/rsa.c.o
[ 85%] Linking C static library ../../lib/liblhal.a
[ 85%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/rsa_internal.c.o
[ 85%] Built target lhal
[ 85%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/sha1.c.o
[ 86%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/sha256.c.o
[ 86%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/sha512.c.o
[ 86%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ssl_cache.c.o
[ 87%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ssl_ciphersuites.c.o
[ 87%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ssl_cli.c.o
[ 87%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ssl_cookie.c.o
[ 88%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ssl_msg.c.o
[ 88%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ssl_srv.c.o
[ 88%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ssl_ticket.c.o
[ 89%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ssl_tls13_keys.c.o
[ 89%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/ssl_tls.c.o
[ 90%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/threading.c.o
[ 90%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/timing.c.o
[ 90%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/version.c.o
[ 91%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/version_features.c.o
[ 91%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/x509.c.o
[ 91%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/x509_create.c.o
[ 92%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/x509_crl.c.o
[ 92%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/x509_crt.c.o
[ 92%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/x509_csr.c.o
[ 93%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/x509write_crt.c.o
[ 93%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/x509write_csr.c.o
[ 93%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/port/platform/mbedtls_port_bouffalo_sdk.c.o
[ 94%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/port/pkparse.c.o
[ 94%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/port/net_sockets.c.o
[ 94%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/port/hw_entropy_poll.c.o
[ 95%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/port/bignum_ext.c.o
[ 95%] Building C object build_out/components/crypto/mbedtls/CMakeFiles/mbedtls.dir/mbedtls/library/bignum.c.o
[ 95%] Linking C static library ../../../lib/libmbedtls.a
[ 95%] Built target mbedtls
make: 离开目录“/path/to/Project_basic/build”

</details>

<details> <summary>报错信息</summary>

In file included from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/rf/inc/wl_api.h:5,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/rfparam/Inc/rfparam_adapter.h:5,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/rfparam/Src/rfparam_adapter.c:1:
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/rf/inc/wl_config.h:22:9: note: '#pragma message: None of WL_WB03/WL_BL618M/WL_BL616 defined, compile for BL616 by default'
   22 | #pragma message "None of WL_WB03/WL_BL618M/WL_BL616 defined, compile for BL616 by default"
      |         ^~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/rfparam/Src/rfparam_adapter.c: In function 'rfparam_get_cap_code_with_option':
/path/to/aithinker_Ai-M6X_SDK/drivers/rfparam/Src/rfparam_adapter.c:329:13: warning: unused variable 'capcode' [-Wunused-variable]
  329 |     uint8_t capcode[RFTLV_MAXLEN_XTAL/4]={0};
      |             ^~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/rfparam/Src/rfparam_adapter.c: In function 'rfparam_init':
/path/to/aithinker_Ai-M6X_SDK/drivers/rfparam/Src/rfparam_adapter.c:681:31: warning: assignment to 'int8_t (*)(struct wl_param_t *)' {aka 'signed char (*)(struct wl_param_t *)'} from incompatible pointer type 'int32_t (*)(struct wl_param_t *)' {aka 'long int (*)(struct wl_param_t *)'} [-Wincompatible-pointer-types]
  681 |     g_rfparam_cfg->param_load = rfparam_load;
      |                               ^
At top level:
/path/to/aithinker_Ai-M6X_SDK/drivers/rfparam/Src/rfparam_adapter.c:22:16: warning: 'g_rfparam_buf' defined but not used [-Wunused-variable]
   22 | static uint8_t g_rfparam_buf[RFPARAM_WL_API_MEM_SIZE] = {0};
      |                ^~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip_apps/ping/ping.c: In function 'ping':
/path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip_apps/ping/ping.c:173:17: warning: 'ttl' may be used uninitialized in this function [-Wmaybe-uninitialized]
  173 |                 printf("%d bytes from %s icmp_seq=%d ttl=%d time=%d ms\n\r", recv_len, inet_ntoa(ina), send_times,
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  174 |                        ttl, elapsed_time);
      |                        ~~~~~~~~~~~~~~~~~~
In file included from /path/to/Project_basic/components/wifi/wifi_event.c:19:
/path/to/aithinker_Ai-M6X_SDK/components/wireless/wifi6/inc/wifi_mgmr_ext.h:507:30: warning: 'struct mac_scan_result' declared inside parameter list will not be visible outside of this definition or declaration
  507 | void show_auth_cipher(struct mac_scan_result *result);
      |                              ^~~~~~~~~~~~~~~
In file included from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/rf/inc/wl_api.h:5,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/rfparam/Inc/rfparam_adapter.h:5,
                 from /path/to/Project_basic/components/wifi/wifi_event.c:27:
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/rf/inc/wl_config.h:22:9: note: '#pragma message: None of WL_WB03/WL_BL618M/WL_BL616 defined, compile for BL616 by default'
   22 | #pragma message "None of WL_WB03/WL_BL618M/WL_BL616 defined, compile for BL616 by default"
      |         ^~~~~~~
/path/to/Project_basic/components/wifi/wifi_event.c:32: warning: "DBG_TAG" redefined
   32 | #define DBG_TAG "WIFI EVENT"
      | 
In file included from /path/to/Project_basic/components/wifi/wifi_event.c:30:
/path/to/aithinker_Ai-M6X_SDK/components/utils/log/log.h:31: note: this is the location of the previous definition
   31 | #define DBG_TAG ""
      | 
/path/to/Project_basic/components/wifi/wifi_event.c: In function 'wifi_event_handler':
/path/to/Project_basic/components/wifi/wifi_event.c:91:16: warning: unused variable 'xHigherPriorityTaskWoken' [-Wunused-variable]
   91 |     BaseType_t xHigherPriorityTaskWoken;
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
/path/to/Project_basic/components/wifi/wifi_event.c: In function 'wifi_connect':
/path/to/Project_basic/components/wifi/wifi_event.c:163:14: warning: unused variable 'ipv4_addr' [-Wunused-variable]
  163 |     uint32_t ipv4_addr = 0;
      |              ^~~~~~~~~
/path/to/Project_basic/components/wifi/wifi_event.c:161:9: warning: unused variable 'ret' [-Wunused-variable]
  161 |     int ret = 255;
      |         ^~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c: In function 'GLB_Set_SFlash_IO_PARM':
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:2521:9: warning: implicit declaration of function 'GLB_Embedded_Flash_Pad_Enable' [-Wimplicit-function-declaration]
 2521 |         GLB_Embedded_Flash_Pad_Enable(swapIo2Cs);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_hbn.c:40:10: fatal error: bl616_xip_sflash.h: No such file or directory
   40 | #include "bl616_xip_sflash.h"
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/build.make:199:build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/src/bl616_hbn.c.o] 错误 1
make[2]: *** 正在等待未完成的任务....
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c: In function 'GLB_Trim_Ldo18ioVoutSel':
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3366:5: error: unknown type name 'Efuse_Ana_Ldo18ioVoutSel_Type'
 3366 |     Efuse_Ana_Ldo18ioVoutSel_Type trim;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3369:5: warning: implicit declaration of function 'EF_Ctrl_Read_Ldo18ioVoutSel_Trim' [-Wimplicit-function-declaration]
 3369 |     EF_Ctrl_Read_Ldo18ioVoutSel_Trim(&trim);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3370:13: error: request for member 'ldo18ioVoutSelEn' in something not a structure or union
 3370 |     if (trim.ldo18ioVoutSelEn) {
      |             ^
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3371:17: error: request for member 'ldo18ioVoutSelParity' in something not a structure or union
 3371 |         if (trim.ldo18ioVoutSelParity == EF_Ctrl_Get_Trim_Parity(trim.ldo18ioVoutSelAon, 4)) {
      |                 ^
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3371:42: warning: implicit declaration of function 'EF_Ctrl_Get_Trim_Parity' [-Wimplicit-function-declaration]
 3371 |         if (trim.ldo18ioVoutSelParity == EF_Ctrl_Get_Trim_Parity(trim.ldo18ioVoutSelAon, 4)) {
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3371:70: error: request for member 'ldo18ioVoutSelAon' in something not a structure or union
 3371 |         if (trim.ldo18ioVoutSelParity == EF_Ctrl_Get_Trim_Parity(trim.ldo18ioVoutSelAon, 4)) {
      |                                                                      ^
In file included from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_ef_cfg.h:40,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_aon.h:43,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_hbn.h:40,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_glb.h:44,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_clock.h:42,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:37:
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3373:76: error: request for member 'ldo18ioVoutSelAon' in something not a structure or union
 3373 |             tmpVal = BL_SET_REG_BITS_VAL(tmpVal, GLB_LDO18IO_VOUT_SEL, trim.ldo18ioVoutSelAon);
      |                                                                            ^
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_common.h:43:89: note: in definition of macro 'BL_SET_REG_BITS_VAL'
   43 | #define BL_SET_REG_BITS_VAL(val, bitname, bitval) (((val)&bitname##_UMSK) | ((uint32_t)(bitval) << bitname##_POS))
      |                                                                                         ^~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c: In function 'GLB_Trim_Ldo18ioBypass':
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3392:5: error: unknown type name 'Efuse_Ana_Ldo18ioBypass_Type'
 3392 |     Efuse_Ana_Ldo18ioBypass_Type trim;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3395:5: warning: implicit declaration of function 'EF_Ctrl_Read_Ldo18ioBypass_Trim' [-Wimplicit-function-declaration]
 3395 |     EF_Ctrl_Read_Ldo18ioBypass_Trim(&trim);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3396:13: error: request for member 'ldo18ioBypassEn' in something not a structure or union
 3396 |     if (trim.ldo18ioBypassEn) {
      |             ^
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3397:17: error: request for member 'ldo18ioBypassParity' in something not a structure or union
 3397 |         if (trim.ldo18ioBypassParity == EF_Ctrl_Get_Trim_Parity(trim.ldo18ioBypassAon, 1)) {
      |                 ^
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3397:69: error: request for member 'ldo18ioBypassAon' in something not a structure or union
 3397 |         if (trim.ldo18ioBypassParity == EF_Ctrl_Get_Trim_Parity(trim.ldo18ioBypassAon, 1)) {
      |                                                                     ^
In file included from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_ef_cfg.h:40,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_aon.h:43,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_hbn.h:40,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_glb.h:44,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_clock.h:42,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:37:
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3399:74: error: request for member 'ldo18ioBypassAon' in something not a structure or union
 3399 |             tmpVal = BL_SET_REG_BITS_VAL(tmpVal, GLB_LDO18IO_BYPASS, trim.ldo18ioBypassAon);
      |                                                                          ^
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_common.h:43:89: note: in definition of macro 'BL_SET_REG_BITS_VAL'
   43 | #define BL_SET_REG_BITS_VAL(val, bitname, bitval) (((val)&bitname##_UMSK) | ((uint32_t)(bitval) << bitname##_POS))
      |                                                                                         ^~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c: In function 'GLB_Trim_Ldo18ioVoutTrim':
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3418:5: error: unknown type name 'Efuse_Ana_Ldo18ioVoutTrim_Type'
 3418 |     Efuse_Ana_Ldo18ioVoutTrim_Type trim;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3421:5: warning: implicit declaration of function 'EF_Ctrl_Read_Ldo18ioVoutTrim_Trim' [-Wimplicit-function-declaration]
 3421 |     EF_Ctrl_Read_Ldo18ioVoutTrim_Trim(&trim);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3422:13: error: request for member 'ldo18ioVoutTrimEn' in something not a structure or union
 3422 |     if (trim.ldo18ioVoutTrimEn) {
      |             ^
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3423:17: error: request for member 'ldo18ioVoutTrimParity' in something not a structure or union
 3423 |         if (trim.ldo18ioVoutTrimParity == EF_Ctrl_Get_Trim_Parity(trim.ldo18ioVoutTrimAon, 4)) {
      |                 ^
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3423:71: error: request for member 'ldo18ioVoutTrimAon' in something not a structure or union
 3423 |         if (trim.ldo18ioVoutTrimParity == EF_Ctrl_Get_Trim_Parity(trim.ldo18ioVoutTrimAon, 4)) {
      |                                                                       ^
In file included from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_ef_cfg.h:40,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_aon.h:43,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_hbn.h:40,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_glb.h:44,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_clock.h:42,
                 from /path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:37:
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/src/bl616_glb.c:3425:77: error: request for member 'ldo18ioVoutTrimAon' in something not a structure or union
 3425 |             tmpVal = BL_SET_REG_BITS_VAL(tmpVal, GLB_LDO18IO_VOUT_TRIM, trim.ldo18ioVoutTrimAon);
      |                                                                             ^
/path/to/aithinker_Ai-M6X_SDK/drivers/soc/bl616/std/include/bl616_common.h:43:89: note: in definition of macro 'BL_SET_REG_BITS_VAL'
   43 | #define BL_SET_REG_BITS_VAL(val, bitname, bitval) (((val)&bitname##_UMSK) | ((uint32_t)(bitval) << bitname##_POS))
      |                                                                                         ^~~~~~
make[2]: *** [build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/build.make:185:build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/src/bl616_glb.c.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:1012:build_out/drivers/soc/bl616/std/CMakeFiles/std.dir/all] 错误 2
make[1]: *** 正在等待未完成的任务....
/path/to/aithinker_Ai-M6X_SDK/components/os/freertos/posix/source/FreeRTOS_POSIX_pthread_cond.c: In function 'pthread_cond_timedwait':
/path/to/aithinker_Ai-M6X_SDK/components/os/freertos/posix/source/FreeRTOS_POSIX_pthread_cond.c:282:9: warning: 'iLocalWaitingThreads' may be used uninitialized in this function [-Wmaybe-uninitialized]
  282 |         prvTestAndDecrement( pxCond, iLocalWaitingThreads + 1 );
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip/src/include/lwip/opt.h:52,
                 from /path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip/src/include/lwip/apps/sntp_opts.h:40,
                 from /path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip/src/include/lwip/apps/sntp.h:40,
                 from /path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip/src/apps/sntp/sntp.c:51:
/path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip/src/apps/sntp/sntp.c: In function 'sntp_process':
/path/to/Project_basic/config/lwipopts_user.h:144:34: warning: implicit declaration of function 'sntp_set_time'; did you mean 'sntp_format_time'? [-Wimplicit-function-declaration]
  144 | #define SNTP_SET_SYSTEM_TIME_NTP sntp_set_time
      |                                  ^~~~~~~~~~~~~
/path/to/aithinker_Ai-M6X_SDK/components/net/lwip/lwip/src/apps/sntp/sntp.c:326:5: note: in expansion of macro 'SNTP_SET_SYSTEM_TIME_NTP'
  326 |     SNTP_SET_SYSTEM_TIME_NTP(sec, frac);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:91:all] 错误 2

</details>

其实也不难看出,上面的对照组用make进行编译时候实际上还是使用了cmake对项目进行配置,为什么make可以编译成功而cmake不能正常编译呢?尝试去 Makefile文件内查找答案,而这个文件末尾一行 include $(BL_SDK_BASE)/project.build可以看出,实际上是导入了SDK的配置,那就去查阅SDK目录下的 project.build文件,这文件内有如下一段配置,定义了各种变量并有一些是以命令行参数的形式传递给了cmake。

# The command to remove a file.
RM = $(CMAKE) -E remove_directory
CHIP:=bl616
BOARD:=bl616dk
CPU_ID ?=
CONFIG_USB_HS ?=y
CONFIG_ROMAPI ?=y
CONFIG_DEBUG ?=y
CONFIG_TLSF ?=y
COMX ?=COM5
BAUDRATE ?=2000000
BOARD_DIR ?=

#cmake definition config
cmake_definition+= -DCROSS_COMPILE=${CROSS_COMPILE}
cmake_definition+= -DCHIP=$(CHIP)
cmake_definition+= -DCPU_ID=$(CPU_ID)
cmake_definition+= -DBOARD=$(BOARD)
cmake_definition+= -DBOARD_DIR=$(BOARD_DIR)
cmake_definition+= -DCONFIG_DEBUG=$(CONFIG_DEBUG)
cmake_definition+= -DCONFIG_ROMAPI=$(CONFIG_ROMAPI)
cmake_definition+= -DCONFIG_USB_HS=$(CONFIG_USB_HS)
cmake_definition+= -DCONFIG_COMX=$(COMX)
cmake_definition+= -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF
cmake_definition+= -DCONFIG_TLSF=$(CONFIG_TLSF)

build:Makefile
    $(CMAKE) -S . -B build -G $(cmake_generator) $(cmake_definition)
    cd build && make -j16 && make combine

仔细一看,有一些 CONFIG_xxxx格式的文本在项目文件夹内的 proj.conf里也出现过,例如 CONFIG_TLSF,而有一些没有,例如 CONFIG_DEBUGCONFIG_ROMAPICONFIG_USB_HSCONFIG_COMX。然后我就猜是不是这四个没有启用的原因,我就猜,然后觉得 DEBUG不至于是强制要求要开的、USB_HSCOMX应该大体上和串口有关,编译又用不上串口,应该没事,所以就抱着试一试的态度在 proj.conf的末尾加入一行后保存

set(CONFIG_ROMAPI 1)

保存后,尝试再次编译:

cmake -S . -B build
cd build && make -j && make combine

结果是能够正常编译成功

后话

本来想用cmake配置项目是因为想用clangd的,因为偷懒不想配置头文件目录,结果cmake配置还算是小头,clangd才是大头🤒

回复

使用道具 举报

lazy | 2023-11-21 09:20:07 | 显示全部楼层
学习了
回复

使用道具 举报

1055173307 | 2024-4-26 10:10:15 | 显示全部楼层
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则